Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment utiliser l'utilitaire d'exportation de pompe de données Oracle pour créer un fichier de vidage sur une machine locale ?

Si vous utilisez Data Pump, il n'existe aucun moyen direct de stocker un fichier de vidage sur votre ordinateur local. C'est ainsi que Data Pump a été conçu.

Cependant, il existe une des façons possibles d'obtenir ce que vous voulez. Une solution de contournement comporte deux étapes :

  1. Exécuter expdp comme d'habitude, ce qui crée un fichier de vidage sur le serveur
  2. Utilisez ocp outil pour transférer un fichier de vidage d'un serveur de base de données vers votre ordinateur local (et inversement, si vous le souhaitez).

Un ocp tool signifie "Oracle Copy" et écrit exactement dans le but de copier des fichiers de vidage dans les deux sens depuis / vers un serveur de base de données. Il est disponible ici :https:// github.com/maxsatula/ocp/releases/download/v0.1/ocp-0.1.tar.gz C'est une distribution source, donc une fois téléchargée et décompressée, exécutez ./configure && make

(J'espère que vous n'avez pas Windows côté client, car je n'ai jamais essayé de le compiler ici)

C'est un simple outil de ligne de commande avec une syntaxe simple. Par exemple, cette commande extraira un fichier pour vous :

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

L'outil utilise une connexion à la base de données et un ensemble minimum de privilèges de base de données.

Mise à jour :

Enfin, j'ai pu ajuster le code source et construire ocp outil pour Windows 32 bits :

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

Compilé/testé avec Instant Client 11.2.0.4 32 bits disponible ici :http ://www.oracle.com/technetwork/topics/winsoft-085727.html

instantclient-basiclite-nt-11.2.0.4.0.zip (20 258 449 octets)

Je pense que cela fonctionnera également avec une installation complète du client Oracle (surveillez juste les bits, devrait être 32), mais je n'ai pas vérifié moi-même.

Malheureusement, la version Windows de ocp n'a pas de compteur de progression sophistiqué pendant le transfert de fichiers. Ce morceau de code contenait trop de choses spécifiques à *nix, j'ai donc dû le couper.

De plus, comme il utilise les bibliothèques popt et zlib, qui sont compilées dans le cadre du projet GnuWin et disponibles uniquement en 32 bits, ocp pour Windows est également 32 bits uniquement. Espérons que ne pas avoir de version 64 bits n'est pas critique pour vous.

Mise à jour 2 :

Attention ! Assurez-vous de toujours utiliser la connexion au serveur DÉDIÉ lorsque vous téléchargez des fichiers à partir du serveur, sinon (pour le serveur PARTAGÉ) la copie téléchargée du fichier sera corrompue sans message d'erreur !