sql >> Databasteknik >  >> RDS >> Oracle

Hur använder man Oracles datapumpexportverktyg för att skapa en dumpfil på en lokal maskin?

Om du använder Data Pump finns det inget direkt sätt att lagra en dumpfil på din lokala dator. Det är så Data Pump designade.

Det finns dock ett av möjliga sätt att uppnå det du vill. En lösning har två steg:

  1. Kör expdp som vanligt, vilket skapar en dumpfil på servern
  2. Använd ocp verktyg för att överföra en dumpfil från en databasserver till din lokala dator (och tillbaka, om du vill).

En ocp tool står för "Oracle Copy" och skrivet exakt för att kopiera dumpfiler fram och tillbaka från/till en databasserver. Den är tillgänglig här:https:// github.com/maxsatula/ocp/releases/download/v0.1/ocp-0.1.tar.gz Det är en källdistribution, så när du har laddat ner och packat upp, kör ./configure && make

(Förhoppningsvis har du inte Windows på klientsidan, eftersom jag aldrig försökte kompilera det där)

Det är ett enkelt kommandoradsverktyg med en enkel syntax. Till exempel kommer detta kommando att hämta en fil åt dig:

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

Verktyget använder en databasanslutning och en minsta uppsättning databasbehörigheter.

Uppdatering:

Äntligen kunde jag justera källkoden och bygga ocp verktyg för Windows 32-bitars:

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

Kompilerad/testad med 32-bitars Instant Client 11.2.0.4 tillgänglig här:http://www.oracle.com/technetwork/topics/winsoft-085727.html

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

Jag tror att det kommer att fungera med en fullständig Oracle Client-installation också (se bara efter bitar, bör vara 32), men kollade inte själv.

Tyvärr, Windows build av ocp har inte en snygg förloppsmätare under filöverföring. Den kodbiten hade för mycket *nix-specifika saker, så jag var tvungen att klippa bort den.

Dessutom, eftersom den använder popt- och zlib-bibliotek, som är kompilerade som en del av GnuWin-projektet och endast tillgängliga i 32-bitars, ocp för Windows är bara 32-bitars också. Förhoppningsvis är det inte avgörande för dig att inte ha en 64-bitarsversion.

Uppdatering 2:

Varning! Se till att du alltid använder DEDIKERAD serveranslutning när du laddar ner filer från servern, annars (för DELAD server) kommer den nedladdade kopian av filen att skadas utan felmeddelanden!



  1. Fel 2006:MySQL-servern har försvunnit med Python, Bottle Microframework och Apache

  2. SQL kommer inte att infoga null-värden med BULK INSERT

  3. Gå från databas till sessioner

  4. Ogiltig användning sidoverkande operator Infoga i en funktion