Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle-Datenpumpe impdp zum Remote-Server

Sie haben sich mit der Remote-Datenbank verbunden (über dbuser/[email protected] ), aber Ihr DB-Link wird in Ihrer lokalen Datenbank erstellt. Im Moment versuchen Sie, den Import auf der Remote-DB auszuführen, mit einer Netzwerkverbindung auch zur Remote-DB, und diese Netzwerkverbindung versucht, eine DB-Verbindung zu verwenden, die in dieser Remote-DB nicht vorhanden ist.

Die tnsnames.ora Eintrag und der DB-Link sind völlig getrennte Dinge.

Sie müssen sich normal lokal verbinden - wahrscheinlich mit den Anmeldeinformationen, die Sie zum Erstellen des DB-Links verwendet haben. Der network_link Parameter wird dann Ihre lokale Datenbanksitzung erstellen, die von impdp gestartet wird , gegen den entfernten Server vorgehen; damit Ihr lokales Verzeichnis verwendet werden kann.

Außer ... es funktioniert so nicht. Die entfernte Datenbank, die durch den network_link identifiziert wird kann als Importquelle verwendet werden, ganz ohne Dump-Datei; aber es kann nicht das Ziel für einen Import aus einer Datei sein.

Von impdp Dokumentation :

Wenn Sie diesen Weg wirklich gehen wollten, bräuchten Sie meiner Meinung nach einen Link von remote zu local und um den Import gegen die Remote auszuführen (wie Sie es jetzt tun), aber um direkt von Ihrem Schema zu ziehen - nicht von einem vorherigen Export. Sie benötigen weiterhin Zugriff auf ein DIRECTORY -Objekt auf dem Remote-Server, da Protokolle usw. dort geschrieben würden, auch wenn Sie Ihre Dump-Datei nicht hinüberkopierten. Sogar mit nologfile Ich glaube, es wird ein Fehler auftreten, wenn Sie kein Verzeichnis angeben oder keine Berechtigungen dafür haben.

Der Artikel, auf den Sie in Ihrer vorherigen Frage verlinkt haben sagte dasselbe: