sql >> Databáze >  >> RDS >> Oracle

Jak používat nástroj pro export datové pumpy Oracle k vytvoření souboru výpisu v místním počítači?

Pokud používáte Data Pump, neexistuje žádný přímý způsob, jak uložit soubor výpisu na místní počítač. To je způsob, jakým Data Pump navrhla.

Existuje však jeden z možných způsobů, jak dosáhnout toho, co chcete. Řešení má dva kroky:

  1. Spusťte expdp jako obvykle, což vytvoří soubor výpisu na serveru
  2. Použijte ocp nástroj pro přenos souboru výpisu z databázového serveru do vašeho místního počítače (a zpět, pokud chcete).

ocp nástroj je zkratka pro "Oracle Copy" a je napsán přesně pro účely kopírování souborů výpisu tam a zpět z/na databázový server. Je k dispozici zde:https:// github.com/maxsatula/ocp/releases/download/v0.1/ocp-0.1.tar.gz Toto je zdrojová distribuce, takže po stažení a rozbalení spusťte ./configure && make

(Doufám, že nemáte Windows na straně klienta, protože jsem se to tam nikdy nepokoušel zkompilovat)

Jedná se o jednoduchý nástroj příkazového řádku s jednoduchou syntaxí. Tento příkaz vám například vytáhne soubor:

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

Nástroj využívá databázové připojení a minimální sadu databázových oprávnění.

Aktualizace:

Nakonec se mi podařilo upravit zdrojový kód a sestavit ocp nástroj pro Windows 32-bit:

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

Zkompilováno/testováno pomocí 32bitového Instant Client 11.2.0.4 dostupného zde:http://www.oracle.com/technetwork/topics/winsoft-085727.html

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

Věřím, že to bude fungovat i s úplnou instalací klienta Oracle (stačí sledovat bity, mělo by jich být 32), ale sám jsem to nezkontroloval.

Bohužel, Windows sestavení ocp nemá efektní ukazatel průběhu během přenosu souborů. Tento kus kódu měl příliš mnoho věcí specifických pro *nix, takže jsem ho musel odříznout.

Také, protože používá knihovny popt a zlib, které jsou kompilovány jako součást projektu GnuWin a jsou dostupné pouze ve 32bitové verzi, ocp pro Windows je také pouze 32bitový. Doufejme, že nemít 64bitovou verzi pro vás není kritické.

Aktualizace 2:

Upozornění! Ujistěte se, že při stahování souborů ze serveru vždy používáte DEDICATED server připojení, jinak (pro SDÍLENÝ server) bude stažená kopie souboru poškozena bez chybových zpráv!



  1. Jak vygeneruji náhodný časový interval a přidám jej do mysql datetime pomocí php?

  2. Který řádek je vybrán v GROUP BY?

  3. Oracle:Hledání sloupců pouze s hodnotami null

  4. Laravel:jak získat průměr na vnořených vztazích hasMany (hasManyThrough)