# [Oracle] Synonyme einrichten



## liam (13. April 2005)

Hi,

meine Frage:
User1 hat Tabellen angelegt, diese sollen jetzt von einen User2 der nur Leserechte hat per SELECTS ausgewertet werden.
Nun möchte ich nicht immer User1.tabellenname schreiben, habe schon rausbekommen das ich dafür Synonyme für User2 anlegen muss, nur wie kann ich die per SQL auf alle Tabellen gleichzeitig anwenden?
Sind über 100 Tabellen und das wäre zu mühsam das immer jedesmal per Hand zu machen.


----------



## Exceptionfault (13. April 2005)

Ich halte Synonyme generell für kritisch, besonders wenn es PUBLIC SYNONYMS sind.
Dadurch verhindert man z.B. die Installation einer Applikation mehrfach pro Datenbank. Sowas sieht man bei Testumgebungen jedoch recht häufig.

Besser ist es nach dem Login das aktuelle Schema anzugeben:


```
ALTER SESSION SET CURRENT_SCHEMA = USER1;
```

Jetzt werden alle Objekte die User2 anspricht automatisch mit "USER1.Objekt" angesprochen.


----------



## liam (13. April 2005)

Danke! Werde es mal so probieren.


----------

