lunes, 16 de mayo de 2011

Data Pump

El Data Pump aparece a partir de las versiones de Oracle 10g. Para algunos 'viejinos' como yo, el Data Pump, hasta hace poco nos sonaba bastante a chino. Si sabes manejar un Export / Import, sabes manejar un Data Pump, muchas diferencias no debería de haber, pero para los que no lo hayan usado en su vida, viene bien que tengamos algunas consideraciones:

Los comandos que lo invocan serían :

expdp - Para el Export
impdp - Para el Import

Lo más importante que debe tenerse en cuenta a la hora de invocar el expdp / impdp es que requiere tener configurado - dentro de la BBDD - un directorio destino de los ficheros 'dmp's', los logs, los scripts 'sql' y todos los ficheros generados durante el export / import.

Para crear este directorio, en el SQL*Plus, se ejecutaría lo siguiente:

SQL> create directory expdp_dir as '/ruta/ficheros/datapump';

A los usuarios con los que vayamos a ejecutar el Export / Import, hay que darle permisos de read & write sobre las el directorio recién creado:

SQL> grant read,write on directory expdp_dir to system, SYS;

También hay que tener en cuenta que el usuario que vaya a ejecutar un export / import de la BBDD, como ocurría en versiones anteriores al Data Pump, tiene que tener los privilegios sobre los Roles:

EXP_FULL_DATABASE
IMP_FULL_DATABASE

Y con este entorno montado, ya podemos hacer nuestro Export / Import.

Saludos,
Cyris.


Algunos Ejemplos de Export / Import tipicos

EXPORT

Export Full:
$ expdp system/<password> DIRECTORY=expdp_dir DUMPFILE=expfull.dmp FULL=y LOGFILE=expfull.log

Export de Esquemas
 $ expdp hr/hr DIRECTORY=expdp_dir DUMPFILE=schema_exp.dmp SCHEMAS=hr,sh,oe

Export de Tablas:
$ expdp hr/hr DIRECTORY=expdp_dir DUMPFILE=tables_exp.dmp TABLES=emp,jobs,dep

Export de Estructura:
$ expdp hr/hr DIRECTORY=expdp_dir DUMPFILE=exp_strct.dmp FULL=y CONTENT=METADATA_ONLY COMPRESSION=METADATA_ONLY

IMPORT 

Import Full:
$ impdp system/<password> DIRECTORY=expdp_dir DUMPFILE=expfull.dmp FULL=y LOGFILE=impfull.log

Import de Esquemas:
 $ impdp hr/hr DIRECTORY=expdp_dir DUMPFILE=expfull.dmp SCHEMAS=hr,sh,oe

Import de Tablas:
$ impdp hr/hr DIRECTORY=expdp_dir DUMPFILE=expfull.dmp TABLES=emp,jobs,depart

Import de Estructura:
$ impdp hr/hr DIRECTORY=expdp_dir DUMPFILE=imp_strct.dmp FULL=y CONTENT=METADATA_ONLY 

No hay comentarios: