Data Pump e la compressione al volo

lunedì 18 luglio 2011 alle 18:03 | Pubblicato su Installation and Configuration, Linux | 7 commenti
Tag: , , ,

Solo oggi mi sono scontrato con un piccolo inconveniente di Oracle Data Pump. Siccome ho l’impressione di esserci gia passato e non voglio dimenticarmente ne approfitto per un nuovo post.

Con la versione vecchia del programma di utilità di Oracle per esportare su file binari schemi di database, chiamata Export, era possibile usare unità sequenziali (come i nastri) o le “named pipes” dei sistemi operativi *NIX. In particolare mi è capitato per motivi di spazio di sfruttare queste ultime per fare la compressione al volo del dump, con questa tecnica:


mknod /u01/backup/exp/export_pipe p
nohup /usr/bin/gzip < /u01/backup/exp/export_pipe > /u01/backup/exp/dbaceh.dmp.gz 2>
/u01/backup/logs/gzip.log &
$ORACLE_HOME/bin/exp user/senha@dbaceh file=/u01/backup/exp/export_pipe buffer=40000000
log=/u01/backup/logs/dbaceh.log full=y >>$ARQLOG 2>>$ARQLOG

(fonte: nota MOS 463336.1)

Con Oracle Data Pump come certificato dalla nota MOS 276521.1 non è più possibile perché le ottimizzazioni che lo rendono effettivamente più veloce dei vecchi exp/imp comprendono il fatto di non accedere in modo sequenziale al file.

In 11.2.0.2 le vecchie utility exp/imp sono ancora presenti e documentate, quindi un’alternativa (che però non mi piace) è continuare a utilizzare quelle, seppur pare non sia supportata se non per casi limitati e descritti nella documentazione.

7 commenti »

RSS feed for comments on this post. TrackBack URI

  1. Anch’io usavo i “named pipes” e li trovavo molto comodi in effetti, ma non ho capito se ti riferisci allo spazio occupato dai vecchi export che era comunque impegnativo anche con i named pipes rispetto a DataPup oppure alla velocità di esecuzione dell’export sempre con Datapump.

  2. dunque, la tecnica dei “named pipes” l’ho utilizzata per motivi di spazio e normalmente non ho notato differenze sensibili nella dimensione del dump generato con il vecchio exp e il nuovo expdp. Quello che invece cambia è la velocità e la flessibilità di data pump, nettamente migliore rispetto al vecchio exp.

    • Ciao Cristian,
      è possibile utilizzare l’opzione di COMPRESSION nel Data Pump

      Ciao
      Alessandro

      • l’opzione COMPRESSION nella 10g prevede solo la compressione dei metadati, non l’ho provata ma dubbito che su 60 GB di dati incida molto. Sulla 11gR2 è richiesta la ‘Advanced Compression” option, mentre pare che in 11gR1 non sia richiesto nulla (stando ai manuali “utilities” delle varie versioni)

  3. si per la 10G lascia perdere, avevo capito che parlavi di una 11G…
    Mi era però sfuggita questa cosa della “Advanced Compression” option..

    Ciao
    Alessandro

  4. A completamento della questione c’è da dire che fino alla 10.2, se esisteva già il file di dump (specificato con DUMPFILE=…), l’export dava errore e quindi non si poteva nemmeno pensare di sfruttare una pipe, necessariamente precreata. Invece con la versione 11.1 è stato introdotta l’opzione REUSE_DUMPFILES che permette di sovrascrivere un preesistente export… però le pipes non si possono usare lo stesso!

  5. solo per confermare che in 11.2 non sono supportate dalla Oracle le care vecchie utility exp-imp. Un mese fa ho aperto una SR al supporto Oracle per un dump corrotto prodotto su OEL via export rdbms 11.2 e non mi hanno assistito.


Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Blog su WordPress.com.
Entries e commenti feeds.

%d blogger cliccano Mi Piace per questo: