viernes, 27 de enero de 2012

Exports comprimidos

Usar RMAN para hacer respaldos de una base de datos Oracle es muy conveniente, pero algunas veces tienes que hacer exports de tu base de datos porque RMAN no es adecuado; por ejemplo, si necesitas copiar o respaldar sólo una tabla, o si no tienes activado el archivado de logs debido a restricciones de espacio y necesitas respaldar tu base de datos, y además no puedes dar de baja tu instancia mientras la respaldas, entonces exp es una buena opción.

Pero por alguna misteriosa razón exp (al menos hasta Oracle 10g) no tiene compresión y no puedes redirigir tu respaldo a la salida estándar por lo que podría ser difícil respaldar bases de datos grandes. Afortunadamente puedes usar tuberías nombradas para resolver esta situación; primero tienes que crear una tubería nombrada para conectar la salida de exp y la entrada de tu compresor:

[oracle]$ mknod mypipe p
[oracle]$ ls -la
total 8
drwxrwx--- 2 oracle dba 4096 May 30 16:47 .
drwxrwx--- 7 oracle dba 4096 May 30 16:45 ..
prw-r----- 1 oracle dba 0 May 30 16:47 mypipe

Entonces puedes lanzar tu compresor favorito para trabajar en segundo plano y finalmente ejecutar el comando exp, y tendrás un export comprimido al vuelo:

[oracle]$ compress < mypipe > mydb.dmp.Z &
[oracle]$ exp / parfile=myparfile.txt log=mylog.txt file=mypipe

Y recuerda, si quieres poner esto en un script agrega una sentencia wait después del comando exp.

2 comentarios:

  1. La habilidad de comprimir los metadatos asociados con una operación de Data Pump se introdujo por primera vez en Oracle Database 10g versión 2.

    más info acá:
    http://www.oracle.com/technology/products/database/utilities/index.html

    Saludos

    ResponderBorrar
    Respuestas
    1. Eso es cierto, pero comprimir metadatos no es muy útil ya que generalmente son la parte más pequeña de un respaldo, siendo la parte más grande los datos en sí (registros); no es sino hasta Oracle 11g que se introdujo la compresión de todo:

      http://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_export.htm#sthref87

      http://arjudba.blogspot.mx/2009/02/compress-dumpfile-while-data-pump.html

      Borrar