Oracle
 sql >> Database >  >> RDS >> Oracle

Come utilizzare l'utilità di esportazione della pompa dati Oracle per creare file di dump nella macchina locale?

Se si utilizza Data Pump, non esiste un modo diretto per archiviare un file di dump sul computer locale. Questo è il modo in cui Data Pump ha progettato.

Tuttavia, esiste uno dei modi possibili per ottenere ciò che desideri. Una soluzione alternativa prevede due passaggi:

  1. Esegui expdp come al solito, che crea un file di dump sul server
  2. Usa ocp strumento per trasferire un file dump da un server di database al tuo computer locale (e viceversa, se lo desideri).

Un ocp strumento sta per "Oracle Copy" ed è scritto esattamente allo scopo di copiare i file di dump avanti e indietro da/verso un server di database. È disponibile qui:https:// github.com/maxsatula/ocp/releases/download/v0.1/ocp-0.1.tar.gz Questa è una distribuzione sorgente, quindi una volta scaricata e decompressa, esegui ./configure && make

(Speriamo che tu non abbia Windows sul lato client, perché non ho mai provato a compilarlo lì)

Questo è un semplice strumento da riga di comando con una sintassi semplice. Ad esempio, questo comando estrarrà un file per te:

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

Lo strumento utilizza una connessione al database e un set minimo di privilegi del database.

Aggiornamento:

Finalmente sono stato in grado di modificare il codice sorgente e creare ocp strumento per Windows a 32 bit:

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

Compilato/testato con Instant Client 11.2.0.4 a 32 bit disponibile qui:http://www.oracle.com/technetwork/topics/winsoft-085727.html

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

Credo che funzionerà anche con un'installazione completa di Oracle Client (basta guardare i bit, dovrebbe essere 32), tuttavia non mi sono verificato.

Sfortunatamente, build Windows di ocp non ha un indicatore di avanzamento di fantasia durante il trasferimento di file. Quel pezzo di codice aveva troppe cose specifiche per *nix, quindi ho dovuto tagliarlo.

Inoltre, poiché utilizza le librerie popt e zlib, che sono compilate come parte del progetto GnuWin e disponibili solo a 32 bit, ocp anche per Windows è solo a 32 bit. Si spera che non avere una versione a 64 bit non sia fondamentale per te.

Aggiornamento 2:

Attenzione! Assicurati di utilizzare sempre una connessione al server DEDICATA quando scarichi i file dal server, altrimenti (per il server CONDIVISO) la copia scaricata del file verrà danneggiata senza messaggi di errore!