# Synonym mit Datenbank-Link verwenden



## schnuffie (14. Februar 2005)

Hallo Experten,

ich habe ein Problem mit Synonyms in Oracle (8.1.7).
Über folgendes Statement erstelle ich das Synonym:

```
CREATE SYNONYM MAX.PERSON_Q9E68 FOR KARL.PERSON@Q9E68
```
 
Das Erstellen klappt auch hervorragend. Leider bekomme ich immer den gleichen Fehler, wenn ich das Synonym verwenden will (bereits im Oracle-DBA-Studio) ---> (siehe Anlage).
Mit der Fehlermeldung kann ich leider garnichts anfangen.  

Wer kann mir helfen? :suspekt: 

P.S.: Der Datenbank-Link scheint zu funktionieren, wird jedoch stets als inaktiv angegeben.


----------



## schnuffie (22. September 2005)

Hat wirklich Keiner eine Idee?


----------



## Exceptionfault (25. September 2005)

Hi, du kannst auf ein Objekt, auf welches du remote zugreifst, kein Synonym erstellen. Wenn du leichter auf die externe Tabelle zugreifen willst ist es besser eine View zu erstellen.

```
CREATE OR REPLACE VIEW MAX.PERSON_Q9E68 AS 
SELECT * FROM KARL.PERSON@Q9E68
```


----------



## schnuffie (26. September 2005)

Dachte schon, es antwortet garniemand. Danke für den Tipp. 

Bin inzwischen schon ein Stück weiter.
Habe meinen Datenbanklink angelegt, jedoch erscheint beim Test immer: "Der Datenbanklink ist nicht aktiv." Leider finde ich in der Enterprice Manager Console nirgends einen Hinweis oder Menüpunkt, wie ich den Link aktiviert bekomme.

Exceptionfault, kannst Du mir da helfen?

P.S.: Wie ist eigentlich die korrekte Syntax für den Dienstenamen? Die Konsole scheint ja alles anzunehmen. Ist das richtig: schema@host


----------



## schnuffie (4. Oktober 2005)

Vermute mal, der Datenbank-Link wird erst aktiv, wenn er benutzt wird...  

Wenn ich ihn nur endlich mal benutzen könnte!  

Fehler, wenn ein SQL-Select-Befehl damit abgesetzt wird:

ORA-12154: TNS: Der Servicename konnte nicht aufgelöst werden.

Linkerstellung:
create database link q9e68_link connect to meier identified by meier1 using 'karl_q9e68.tsy.de';

Ein entsprechender Eintrag in der tnsnames.ora wurde korrekt angelegt.

Abfrage:
select * from karl.person@q9e68_link;

Hoffentlich kann mir Jemand von Euch weiterhelfen. Gegoogletes hat auch nichts gebracht.


----------

