sql >> Database >  >> RDS >> Oracle

Hoe Oracle Data Pump Export Utility te gebruiken om een ​​dumpbestand op een lokale machine te maken?

Als u Data Pump gebruikt, is er geen directe manier om een ​​dumpbestand op uw lokale computer op te slaan. Dat is de manier waarop Data Pump het heeft ontworpen.

Er is echter een van de mogelijke manieren om te bereiken wat u wilt. Een tijdelijke oplossing bestaat uit twee stappen:

  1. Voer expdp uit zoals gewoonlijk, die een dumpbestand op de server maakt
  2. Gebruik ocp tool om een ​​dumpbestand van een databaseserver naar uw lokale computer te verplaatsen (en terug, als u dat wilt).

Een ocp tool staat voor "Oracle Copy" en is precies geschreven om dumpbestanden heen en weer te kopiëren van/naar een databaseserver. Het is hier beschikbaar:https:// github.com/maxsatula/ocp/releases/download/v0.1/ocp-0.1.tar.gz Dat is een brondistributie, dus eenmaal gedownload en uitgepakt, voer je ./configure && make uit

(Hopelijk heb je geen Windows aan de clientzijde, want ik heb nooit geprobeerd het daar te compileren)

Dat is een eenvoudig opdrachtregelprogramma met een eenvoudige syntaxis. Deze opdracht zal bijvoorbeeld een bestand voor u ophalen:

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

De tool gebruikt een databaseverbinding en een minimale set databaserechten.

Bijwerken:

Eindelijk kon ik de broncode aanpassen en ocp build bouwen tool voor Windows 32-bit:

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

Gecompileerd/getest met 32-bit Instant Client 11.2.0.4 hier beschikbaar:http://www.oracle.com/technetwork/topics/winsoft-085727.html

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

Ik geloof dat het ook zal werken met een volledige Oracle Client-installatie (let op bits, zou 32 moeten zijn), maar heb het zelf niet gecontroleerd.

Helaas, Windows-build van ocp heeft geen fraaie voortgangsmeter tijdens bestandsoverdracht. Dat stukje code bevatte teveel *nix-specifieke dingen, dus ik moest het afsnijden.

Omdat het gebruik maakt van popt- en zlib-bibliotheken, die zijn gecompileerd als onderdeel van het GnuWin-project en alleen beschikbaar zijn in 32-bits, ocp voor Windows is ook alleen 32-bits. Hopelijk is het niet hebben van een 64-bits versie niet essentieel voor u.

Update 2:

Waarschuwing! Zorg ervoor dat u altijd een DEDICATED-serververbinding gebruikt wanneer u bestanden van de server downloadt, anders (voor SHARED-server) wordt de gedownloade kopie van het bestand beschadigd zonder foutmeldingen!



  1. Kan geen verbinding maken met localhost met behulp van Python's MySQLdb

  2. Oracle-datum naar Java-datum

  3. Hoe partities uit tabellen over meerdere schema's te laten vallen?

  4. MySQL:voeg meerdere rijen in met dezelfde AI-waarde