Differenza tra ORACLE Export (exp) e Datapump (expdp)

Esportazione ORACLE (exp) vs Datapump (expdp)

ORACLE fornisce due utilità esterne per trasferire gli oggetti del database da un database a un altro database. Le esportazioni tradizionali (exp / imp) sono introdotte prima di 10g. Quindi da 10g, ORACLE ha introdotto datapump (expdp / impdp) come miglioramento dell'utilità di esportazione tradizionale.

Esportazione tradizionale (exp / imp)

Questa è un'utilità esterna del database ORACLE, che viene utilizzata per trasferire gli oggetti di database da un server di database a un altro server di database. Permette il trasferimento degli oggetti del database su piattaforme diverse, diverse configurazioni hardware e software. Quando un comando di esportazione viene eseguito su un database, gli oggetti del database vengono estratti con i relativi oggetti di dipendenza. Ciò significa che se si estrae una tabella, le dipendenze come indici, commenti e concessioni vengono estratte e scritte in un file di esportazione (file di dettagli in formato binario). Di seguito è riportato il comando per esportare un database completo,

Cmd> exp userid = nome utente /[email protetta]_tns file = export.dmp log = export.log completo = y statistica = nessuno

Il comando precedente verrà esportato il database in un file di dump binario denominato export.dmp. Quindi è possibile utilizzare imp utility per importare questi dati in un altro database. Di seguito è riportato il comando da importare,

Cmd> imp userid = nome utente /[email protetta]_tns file = export.dmp log = import.log completo = y statistiche = nessuno

Esportazione datapump (expdp / impdp)

Questa è anche un'utilità esterna del database ORACLE, che viene utilizzata per trasferire oggetti tra database. Questa utility proviene dal database ORACLE 10g. Ha più miglioramenti rispetto alle utility exp / imp tradizionali. Questa utility rende anche i file di dump, che sono in formato binario con oggetti di database, i metadati dell'oggetto e le loro informazioni di controllo. I comandi expdp e impdp possono essere eseguiti in tre modi,

  1. Interfaccia della riga di comando (specificare i parametri expdp / impdp nella riga di comando)
  2. Parameter file interface (specifica i parametri expdp / impdp in un file separato)
  3. Interfaccia di comando interattivo (inserendo vari comandi in esportare richiesta)

Esistono cinque diverse modalità di scaricamento dei dati utilizzando expdp. Loro sono,

  1. Modalità di esportazione completa (l'intero database è scaricato)
  2. Modalità schema (questa è la modalità predefinita, gli schemi specifici vengono scaricati)
  3. Modalità tabella (il set specificato di tabelle e i relativi oggetti dipendenti vengono scaricati)
  4. Modalità Tablespace (le tabelle nella tablespace specificata vengono scaricate)
  5. Modalità Tablespace trasportabile (vengono scaricati solo i metadati per le tabelle e i relativi oggetti dipendenti all'interno di un set specificato di tablespace)

Di seguito è riportato il modo per esportare un database completo utilizzando expdp,

Cmd> expdp userid = nome utente / password dumpfile = expdp_export.dmp logfile = expdp_export.log full = y directory = export

Quindi l'utilità impdp dovrebbe essere utilizzata per importare questo file in un altro database.

Qual è la differenza tra Esportazione e datapump tradizionali?

• Datapump opera su un gruppo di file chiamati set di file di dump. Tuttavia, l'esportazione normale opera su un singolo file.

• Datapump accede ai file nel server (usando le directory ORACLE). L'esportazione tradizionale può accedere ai file sia in client sia in server (non utilizzando le directory ORACLE).

• Le esportazioni (exp / imp) rappresentano le informazioni sui metadati del database come DDL nel file di dump, ma nel datapump, rappresentano nel formato di documento XML.

• Datapump ha un'esecuzione parallela ma nell'esecuzione exp / imp single stream.

• Datapump non supporta i supporti sequenziali come i nastri, ma i tradizionali supporti di esportazione.