Sei sulla pagina 1di 5

Data Pump Export (expdp) and Data Pump Import (impdp)

Ahora vamos a dar un pequeo repaso al Data Pump, que podemos usar a partir de la versin Oracle Database 10g. Esta nueva tecnologa permite a los DBAs trasferir gran volumen de datos entre bases de datos Oracle y con muy alta velocidad comparada con las anteriores herramientas export/import.

Principales ventajas de Data pump


Podemos exportar en paralelo, escribiendo en mltiples archivos en diferentes discos. Por ejemplo, especificando el parmetro PARALLEL=2 y dos directorios con los nombres de archivos destino, DUMPFILE=dir1:/file1.dp, dir2:/file2.dp. Posibilidad de realizar attach y dettach del trabajo, monitoreando el trabajo remotamente. Ms opciones para filtrado de metadatos (parmetros EXCLUDE e INCLUDE). Podemos estimar los requerimientos de espacio en disco con el parmetro ESTIMATE_ONLY, antes de ejecutar la tarea. Los datos pueden ser exportados desde una BD remota utilizando un DB link. Puede especificarse la versin de la BD y exportar solo los objetos compatibles con dicha versin. Durante la tarea de impdp podemos cambiar el destino de los datafiles, esquemas y tablespaces (REMAP_DATAFILES, REMAP_SCHEMA, REMAP_TABLESPACE). Nos permite filtrar los datos durante la ejecucin de impdp. Puede importarse desde una BD hacia otra sin escribir a un archivo de dump, especificando el parmetro NETWORK_LINK. El status de los trabajos pueden ser consultados directamente desde el data dictionary. Por ejemplo, dba_datapump_jobs, dba_datapump_sessions, etc

Introduccin
Oracle Data Dump dispone de dos utilidades para efectuar las operaciones de exportacin o importacin: Data Dump Export que se invoca con expdp. Data Dump Import que se invoca con impdp.

Data Pump export crea archivos conocidos como dumps files los cuales tiene un formato propietario que solo Data Pump Import puede entender. Data Pump es una tecnologa servidor. Por esto, los ficheros dump y log son generados en directorios del servidor oracle. Data Pump requiere objetos directorios que para poder acceder al directorio donde se exportar o importarn los datos. Por ejemplo para crear un objeto directorio llamado expdp_dir localizado en /u01/backup/exports se ejecutaremos la siguiente instruccin SQL:
SQL> create directory expdp_dir as '/u01/backup/exports' ;

Una vez creado le daremos permisos de lectura y escritura a los usuarios que usen data pump export y import:
SQL> grant read,write on directory expdp_dir to system, user1, user2;

Invocar Data Pump Export


Data pump export se llama desde la lnea de comandos. Los parmetros de exportacin puede se especificados directamente en la lnea de comandos o a travs un ficheros de parmetros creado previamente y llamado con el parmetro PARFILE=mifichero.par.

Modo Full Export


A full export se especifica usando el parmetro FULL y de este modo la base de datos completa es exportada. Este modo requiere que tengas asignado el rol EXP_FULL_DATABASE. Ejemplo: $ expdp system/ DIRECTORY=expdp_dir DUMPFILE=expfull.dmp FULL=y LOGFILE=expfull.og Modo Schema Export Se invoca usando el parametro SCHEMAS. Si no tiene el rol EXP_FULL_DATABASE, solo podrs importar de tu propio esquema. Se tienes el rol EXP_FULL_DATABASE podrs exportar de cualquier esquema. $ expdp hr/hr DIRECTORY=expdp_dir DUMPFILE=schema_exp.dmp SCHEMAS=hr,sh,oe Modo Table Export Este modo se especifica usando el parmetro TABLES. En este modo, solo las tablas especificadas y sus dependencias sern exportadas. Si no tienes el rol EXP_FULL_DATABASE, solo podrs exportar tablas de tu propio esquema. $ expdp hr/hr DIRECTORY=expdp_dir DUMPFILE=tables_exp.dmp TABLES=employees,jobs,departments

Invocar Data Pump ImportData pump Import se llama desde la lnea de comandos.

Los parmetros de exportacin puede se especificados directamente en la lnea de comandos Modo Full Import Carga el contenido completo del fichero dump origen (creado con expdp) en la base de datos destino. Sin embargo, debes tener permisos como IMP_FULL_DATABASE rol y especificar el parmetro FULL=y. $ impdp system/ DIRECTORY=expdp_dir DUMPFILE=expfull.dmp FULL=y LOGFILE=impfull.og Schema Import Mode Se invoca usando el parmetro SCHEMAS. Solo los contenidos del esquema especificado son

incorporados en la base de datos. El fichero del dump file pueder ser a full, schema-mode, table, o tablespace. Si posees el rol IMP_FULL_DATABASE role, podrs especificar una lista de esquemas a importar en la base de datos destino. $ impdp hr/hr DIRECTORY=expdp_dir DUMPFILE=expfull.dmp SCHEMAS=hr,sh,oe Table Import Mode Es especifica usando el parmetro TABLES. En este modo solo las tablas indicadas y sus dependencias son importadas. Si no tienes el rol IMP_FULL_DATABASE solo podrs importar tablas de tu propio esquema. $ impdp hr/hr DIRECTORY=expdp_dir DUMPFILE=expfull.dmp TABLES=employees,jobs,departments

Uso de Fichero de Parmetros con DATA DUMP


Es aconsejable especificar los parmetros dentro de un fichero parmetros, sobre todo cuando se usan en procedimientos repetitivos, complejos o por simple comodidad. Primer paso ello crear el fichero de texto con una lnea por cada parmetro a usar. Por ejemplo creamos el fichero exp.par con el siguiente contenido: DIRECTORY=DP01 DUMPFILE=HR_dataonly-3.dmp CONTENT=DATA_ONLY SCHEMAS=HR,OE EXCLUDE=TABLE:"IN ('COUNTRIES','LOCATIONS', 'REGIONS')" QUERY=hr.EMPLOYEES:"WHERE Department_id !=20 ORDER BY employee_id" FLASHBACK_TIME="TO_TIMESTAMP('15-09-2010 17:22:00', 'DD-MMYYYY-HH24:MI:SS') Ahora podemos ejecutar el comando usando el fichero de parmetros que hemos creado: $ expdp hr/hr PARFILE=exp.par

Prametros para Filtrar los Datos


Para filtrar los datos en las operaciones con Data Pump disponemos de las opciones CONTENT, EXCLUDE/INCLUDE y QUERY. Aqui un pequeo resumen con ejemplos: CONTENT. Permite filtra el contenido a exportar en el fichero dump. Puede tener e valores: ALL, DATA_ONLY, METADATA_ONLY.

$ impdp hr/hr DIRECTORY=expdp_dir DUMPFILE=expfull.dmp

CONTENT=DATA_ONLY; EXCLUDE y INCLUDE EXCLUDE permite omitir los objetos especificados en la operacin de exportacin/exportacin. Format del parmetro EXCLUDE=objete_type:[name_clause]. Ejemplo: $ impdp hr/hr DIRECTORY=expdp_dir DUMPFILE=expfull.dmp EXCLUDE=TABLE:"LIKE EMP%";

INCLUDE fuerza la inclusin de solo los objetos especificados. Ejemplos: INCLUDE=TABLE:"IN (EMPLOYEES, DEPARTMENTS)"; INCLUDE=PROCEDURE

QUERY Este parmetro selecciona las filas que se quiere exportar o importar. Ejemplo: QUERY=OE.ORDERS: "WHERE order_id >10000"

Monotorizar Trabajos DATA


El uso de dos vistas son cruciales para monotorizar DATA DUMP: 1- DBA_DATAPUMP_JOBS: esta vista muestra un resumen de los trabajos Data Pump que estan corriendo. Ejemplo: SQL> SELECT * FROM dba_datapump_jobs; 2- DBA_DATAPUMP_SESSIONS: Identifica las secciones de usuario que estab abiertas con trabjos de Data Pump Export o Import. SQL> SELECT sid, serial# FROM V$session s, dba_datapump_jobs d WHERE s.saddr=d.saddr;

Visualizar el progreso de trabajos DataPump. Con la vista V$session_longops usaremos las siguientes columnas para monotorizar el progreso de los trabajos de exportacin o importacin: - TOTALWORK: muestra una estimacin total tamao en megabytes. - SOFAR: megasbytes trasferidos hasta ahora en el trabajo. - OPNAME: nombre del trabajo. Ejemplo: SQL> SELECT opname, target_desc, sofar, totalwork FROM V$session_longops;

Potrebbero piacerti anche