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

Wie verwende ich das Exportdienstprogramm Oracle Data Pump, um eine Dump-Datei auf dem lokalen Computer zu erstellen?

Wenn Sie Data Pump verwenden, gibt es keine direkte Möglichkeit, eine Dump-Datei auf Ihrem lokalen Computer zu speichern. Das ist das Design von Data Pump.

Es gibt jedoch eine Möglichkeit, das zu erreichen, was Sie wollen. Eine Problemumgehung besteht aus zwei Schritten:

  1. Führen Sie expdp aus wie üblich, wodurch eine Dump-Datei auf dem Server erstellt wird
  2. Verwenden Sie ocp Tool zum Übertragen einer Dump-Datei von einem Datenbankserver auf Ihren lokalen Rechner (und zurück, wenn Sie möchten).

Ein ocp tool steht für "Oracle Copy" und wurde genau für den Zweck geschrieben, Dump-Dateien von/zu einem Datenbankserver hin und her zu kopieren. Es ist hier verfügbar:https:// github.com/maxsatula/ocp/releases/download/v0.1/ocp-0.1.tar.gz Das ist eine Quelldistribution, also führen Sie nach dem Herunterladen und Entpacken ./configure && make aus

(Hoffentlich haben Sie kein Windows auf der Client-Seite, weil ich nie versucht habe, es dort zu kompilieren)

Das ist ein einfaches Befehlszeilentool mit einer einfachen Syntax. Dieser Befehl ruft zum Beispiel eine Datei für Sie ab:

ocp <connection_string> DATA_PUMP_DIR:remote_file_name.dmp local_file_name.dmp

Das Tool verwendet eine Datenbankverbindung und einen Mindestsatz an Datenbankberechtigungen.

Aktualisierung:

Endlich konnte ich den Quellcode anpassen und ocp bauen Tool für Windows 32-Bit:

https://github.com/maxsatula /ocp/releases/download/v0.1/ocp-0.1-win32.zip

Kompiliert/getestet mit 32-Bit Instant Client 11.2.0.4, verfügbar hier:http://www.oracle.com/technetwork/topics/winsoft-085727.html

instantclient-basiclite-nt-11.2.0.4.0.zip (20.258.449 Bytes)

Ich glaube, es funktioniert auch mit einer vollständigen Oracle-Client-Installation (achten Sie einfach auf Bits, sollte 32 sein), habe es jedoch selbst nicht überprüft.

Leider baut Windows ocp hat keine ausgefallene Fortschrittsanzeige während der Dateiübertragung. Dieses Stück Code enthielt zu viel *nix-spezifisches Zeug, also musste ich es abschneiden.

Da es außerdem popt- und zlib-Bibliotheken verwendet, die als Teil des GnuWin-Projekts kompiliert werden und nur in 32-Bit verfügbar sind, ocp für Windows ist ebenfalls nur 32-Bit. Hoffentlich ist es für Sie nicht geschäftskritisch, keine 64-Bit-Version zu haben.

Aktualisierung 2:

Warnung! Stellen Sie sicher, dass Sie immer eine DEDICATED-Serververbindung verwenden, wenn Sie Dateien vom Server herunterladen, andernfalls (für SHARED-Server) wird die heruntergeladene Kopie der Datei ohne Fehlermeldungen beschädigt!