
Ich habe 2 EC2-Instanzen in AWS erstellt.
Einer fungiert als DB-Server und einer als Client.
Die Oracle 12c DB-Instanz ist auf dem DB-Server und der Oracle 12c Instant Client auf dem Client-Server installiert.
Ich habe ein Schema erstellt, einige Tabellen und Daten hinzugefügt und dann den DB-Dump und das Protokoll exportiert.
Ich kann vom Oracle-Clientserver aus über den Sys-Benutzer eine Verbindung zum Oracle-Server herstellen.
Ich habe den exportierten DB-Dump (mit dem Befehl expdp) und die Protokolle auf den Client-Server übertragen.
Ich versuche, den exportierten DB-Dump mit dem Befehl impdp vom Client-Server zu importieren.
create directory dumpdir as '/home/oracle/exportDB';
impdp smithj/pwd4smithj@newdevdb schemas=smithj directory=dumpdir dumpfile=smithj.dmp logfile=expdpsmithj.log
Aber ich verstehe nicht, wie ich den Pfad des lokalen Servers (Client-Server) als Verzeichnis angeben kann.
immer wenn ich versuche, ein virtuelles Verzeichnis hinzuzufügen, wird angezeigt, dass der Pfad nicht existiert.
Dieser Pfad /home/oracle/exportDB befindet sich im Client-Server.
Können Sie mir bitte Vorschläge machen, da mir die Optionen ausgehen.
PS: Ich mache das zu einem POC-Zweck in einem Szenario, in dem auf dem DB-Server nicht genügend Platz ist und ich die DB-Dump-Datei nicht an den DB-Server senden kann, weil sie riesig ist. Und bitte bewerten Sie die Frage nicht negativ. Ich habe in vielen Foren gesucht und nirgendwo einen Verweis darauf gefunden.
Antwort1
Das dumpdir
wird immer aus der Perspektive der Datenbank (Server) erstellt. Ihr impdp
Befehl verwendet dieses Verzeichnis. Dasam bestenDer beste Weg wäre, einen Link zum Zielverzeichnis auf dem Client zu erstellen oder eine Freigabe zu mounten oder was auch immer Sie bevorzugen. Erstellen Sie dann das Verzeichnis in Oracle mit etwas wie CREATE OR REPLACE DIRECTORY dumpdir AS '/mount/dump_directory_on_client/';
oder CREATE OR REPLACE DIRECTORY dumpdir AS '\\client\dumpdir';
(für Windows beispielsweise) und starten Sie den Import erneut.