miércoles, 13 de junio de 2012
Oracle Export / Import (DATAPUMP)
Para la exportación de datos de una base de datos podemos usar la herramienta expdp (export data pump). Con esta herramienta podemos exportar una base de datos entera, uno o varios esquemas, podemos discriminar también por tipo de objetos…
Para versiones anteriores a Oracle10g existe la utilidad export.
Si se cierra el terminal o hacemos Crtl+C mientras se ejecuta la exportación, la operación no se corta, es posible acceder a la herramienta expdp en modo interactivo para ver el progreso.
Directorios de exportación / importación en la base de datos.
Para poder almacenar las exportaciones y para poder encontrarlas a la hora de hacer las importaciones, oracle usa un directorio, este dato se almacena en la tabla “dba_directories”, es necesario que exista y que el usuario que hace la exportación tenga permisos sobre el directorio.
Creamos un directorio.
SQL> create directory DATA_PUMP_DIR as ‘/oracle/fra/DATAPUMP’;
SQL> grant read,write on directory DATA_PUMP_DIR to MDF;
SQL> select * from dba_directories;
OWNER DIRECTORY_NAME DIRECTORY_PATH
------------------------------ ------------------------------ ---------------------------------------
SYS EXPDIR /oracle/fra/datapump
SYS DATA_PUMP_DIR /oracle/fra/DATAPUMP
SYS TIMEZDIF_DIR /u01/app/oracle10g2/10.2/db/oracore/zoneinfo
SYS WORK_DIR /ade/aime_ship_10gR2_050630/oracle/work
SYS ORACLE_OCM_CONFIG_DIR /u01/app/oracle10g2/10.2/db/ccr/state
SYS ADMIN_DIR /ade/aime_ship_10gR2_050630/oracle/md/admin
Export de datos.
Exportación de la base de datos entera.
-bash-3.00$ expdp system/password FULL=Y DIRECTORY=DATA_PUMP_DIR DUMPFILE=export.dmp LOGFILE=export.log
Exportación de un esquema.
-bash-3.00$ expdp system/password SCHEMAS=SCOTT DIRECTORY=DATA_PUMP_DIR DUMPFILE=export.dmp LOGFILE=export.log
-bash-3.00$ expdp SCOTT/password SCHEMAS=SCOTT DIRECTORY=DATA_PUMP_DIR DUMPFILE=export.dmp LOGFILE=export.log
Exportación de un esquema, solo estructura, sin datos.
-bash-3.00$ expdp SCOTT/password SCHEMAS=SCOTT DIRECTORY=DATA_PUMP_DIR CONTENT=METADATA_ONLY DUMPFILE=export.dmp LOGFILE=export.log
Exportación de un esquema, sin estadísticas.
-bash-3.00$ expdp SCOTT/password SCHEMAS=SCOTT DIRECTORY=DATA_PUMP_DIR EXCLUDE=STATISTICS DUMPFILE=export.dmp LOGFILE=export.log
Exportación de un esquema, excluyendo una tabla o varias.
-bash-3.00$ expdp SCOTT/password SCHEMAS=SCOTT DIRECTORY=DATA_PUMP_DIR EXCLUDE=TABLE:\"=\'TABLE1\'\" DUMPFILE=export.dmp LOGFILE=export.log
-bash-3.00$ expdp SCOTT/password SCHEMAS=SCOTT DIRECTORY=DATA_PUMP_DIR EXCLUDE=TABLE:\"IN\(\'TABLE1\',\'TABLE2\'\)\" DUMPFILE=export.dmp LOGFILE=export.log
Importación de datos.
La herramienta para hacer importación de datos es impdp (Import Data Pump), funciona como expdp, con las mismas opciones y de la misma forma.
De igual forma que el expdp se puede desligar de la consola y el proceso sigue funcionando en background.
Importación de la base de datos entera.
-bash-3.00$ impdp system/password FULL=Y DIRECTORY=DATA_PUMP_DIR DUMPFILE=export.dmp LOGFILE=export.log
Importación de un esquema.
-bash-3.00$ impdp SCOTT/password SCHEMAS=SCOTT DIRECTORY=DATA_PUMP_DIR DUMPFILE=export.dmp LOGFILE=impMDF.log
Importación de una tabla.
-bash-3.00$ impdp system/password TABLES=SCOTT.TABLE1 DIRECTORY=DATA_PUMP_DIR DUMPFILE=export.dmp LOGFILE=impSCOTT-TABLE.log
Importación de todas las tablas de un esquema.
-bash-3.00$ impdp system/password SCHEMAS=SCOTT INCLUDE=TABLE DIRECTORY=DATA_PUMP_DIR DUMPFILE=export.dmp LOGFILE=impSCOTT-TABLES.log
Importación de todos los LOB de un esquema.
-bash-3.00$ impdp system/password SCHEMAS=SCOTT INCLUDE=LOB DIRECTORY=DATA_PUMP_DIR DUMPFILE=export.dmp LOGFILE=impSCOTT-LOB.log
Importación de todas las vistas materializadas de un esquema.
-bash-3.00$ impdp system/password SCHEMAS=SCOTT INCLUDE=MATERIALIZED_VIEW DIRECTORY=DATA_PUMP_DIR DUMPFILE=export.dmp LOGFILE=impSCOTT-MVIEWS.log
Importación de los datos de un esquema en otro esquema diferente.
Con esta importación añadimos todos los metadatos del esquema SCOTT previamente exportado, en el esquema SCOTT2, si el esquema destino SCOTT2 no existe, impdp lo crea.
-bash-3.00$ impdp system/password DIRECTORY=DATA_PUMP_DIR DUMPFILE=export-SCOTT.dmp LOGFILE=import-SCOTT.log REMAP_SCHEMA=SCOTT:SCOTT2 CONTENT=METADA_ONLY
Importación de los datos de un esquema en otro tablespace diferente.
-bash-3.00$ impdp system/password SCHEMAS=SCOTT DIRECTORY=DATA_PUMP_DIR DUMPFILE=export-SCOTT.dmp LOGFILE=import-SCOTT.log REMAP_TABLESPACE=SCOTT:SCOTT2
Monitorización de las operaciones.
Como ya se ha mencionado anteriormente, es posible monitorizar las operaciones de importación y exportación de los datos.
Se puede lanzar el impdp o el expdp en modo interactivo, de la siguiente forma.
-bash-3.00$ impdp system/password ATTACH
Impd> status
También es posible ver el estado de los jobs desde la tabla dba_datapump_jobs.
SQL> select * from DBA_DATAPUMP_JOBS;
Suscribirse a:
Enviar comentarios (Atom)
Tambien se podria veificar con la vista DBA_RESUMABLE
ResponderEliminarSaludos
Esto quiere decir que si tengo una base de datos en Oracle 9i en Solaris, hago un export y luego un import, en una plataforma en Oracle 11g con Linux, no tengo ningún problema, no?
ResponderEliminaramigo me puedes ayudar soy nuevo en este tema y no tengo idea de como iniciar una exportacion del data pump export es q debo exponer a un profesor el tema, me pueden ayudar gracias de antemano....
ResponderEliminar