miércoles, 9 de mayo de 2012

Expdp e Impdp

Datapump dejó por el camino, a partir de Oracle 10, a las viejas utilidades de exp e imp ya conocidas. Con las características de direct path y ejecuciones en paralelo datapump es mucho más veloz que sus antecesores.
Los tradicionales exp e imp corren del lado del cliente (client-side) mientras que expdp e impdp lo hacen del lado del servidor (server-side), lo que hace que sea más manejable.

Procesos involucrados en los trabajos de datapump:

Client process: este proceso es iniciado por la utilidad del cliente, llamando a la API datapump. Una vez que se inicia el datapump, este proceso no es necesario para el resto del trabajo.

Shadow process: cuando el cliente se loguea en la BD, se crea el proceso foreground que atiende las solicitudes de la API. Este proceso crea la master table y las colas utilizadas para la comunicación. Una vez que el proceso del cliente termina, shadow process también.

Master control process: este proceso controla la ejecución de los trabajos de datapump. Existe un MCP por cada trabajo de datapump. MCP divide el trabajo de datapump en varios sub-trabajos de carga y descarga de metadatos y los transfiere a los worker processes.

Worker process: MCP crea los worker process basado en el valor del parámetro PARALLEL. El worker process realiza la tarea solicitada por el MCP.

Ventajas de datapump:

* Podemos exportar en paralelo, escribiendo en múltiples archivos en diferentes discos. Por ejemplo, especificando el parámetro 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.

* Más opciones para filtrado de metadatos (parámetros EXCLUDE e INCLUDE).

* Podemos estimar los requerimientos de espacio en disco con el parámetro ESTIMATE_ONLY, antes de ejecutar la tarea.

* Los datos pueden ser exportados desde una BD remota utilizando un DB link.

* Puede especificarse la versión de la BD y exportar solo los objetos compatibles con dicha versión.

* 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 ejecución de impdp.

* Puede importarse desde una BD hacia otra sin escribir a un archivo de dump, especificando el parámetro NETWORK_LINK.

* El status de los trabajos pueden ser consultados directamente desde el data dictionary. Por ejemplo, dba_datapump_jobs, dba_datapump_sessions, etc.

Ejemplos de sintaxis:
En estos ejemplos se utilizan parfiles (archivos plano de texto) para especificar los parámetros a utilizar en el expdp e impdp. Para ejecutar un expdp o impdp utilizando un parfile: expdp parfile=archivo_parfile.txt o impdp parfile=archivo_parfile.txt.

En los diferentes escenarios se muestra el contenido de cada parfile en particular.
El parámetro directory, especifica donde quedará el dmp exportado, o de donde se toma el dmp de origen para realizar una importación. La ubicación data_pump_dir, en una instalación por default, apunta a la ubicación $ORACLE_BASE/admin/dpdump.

Escenario 1:
Exportar la base ORCL completa.

userid=system/password@ORCL
dumpfile=completadp.dmp
logfile=completadp.log
full=y
directory=data_pump_dir

Escenario 2:
Exportar schema SCOTT de la base ORCL.

userid=system/password@ORCL
dumpfile=scottdp.dmp
logfile=scottdp.log
schemas=SCOTT
directory=data_pump_dir

Escenario 3:
Exportar las tablas PAISES y CIUDADES del esquema SCOTT.

userid=system/password@ORCL
dumpfile=scott_paisyciuddp.dmp
logfile=scott_paisyciuddp.log
tables=(SCOTT.PAISES,SCOTT.CIUDADES)
directory=data_pump_dir

Escenario 4:
Exportar la tabla EMPLEADOS del schema SCOTT de la base ORCL e importarla sobre la base ORCL_NEW.

*expdp parfile
userid=system/password@ORCL
dumpfile=scott_empdp.dmp
logfile=scott_empdp.log
tables=SCOTT.EMPLEADOS
directory=data_pump_dir

*impdp parfile
userid=system/password@ORCL_NEW
dumpfile=scott_empdp.dmp -- se utiliza el dmp creado en el paso anterior --logfile=imp_scott_empdp.log
directory=data_pump_dir
table_exists_action=replace -- en caso de que la tabla exista en el destino, se reemplazará --

Escenario 5:
Exportar solamente la estructura, sin incluir datos, del esquema SCOTT.

userid=system/password@ORCL
dumpfile=scott_metadata.dmp
logfile=scott_metadata.log
content=metadata_only -- solamente la estructura --
schemas=SCOTT
directory=data_pump_dir

Escenario 6:
Exportar del esquema SCOTT, los registros de las tablas PAISES y CIUDADES cuyo nombre comience con letra A.

userid=system/password@ORCL
dumpfile=scott_soloA.dmp
logfile=scott_soloA.log
content=data_only
schemas=SCOTT
include=table:"in('PAISES','CIUDADES')"
query="where nombre like 'A%'"
directory=data_pump_dir



http://eskernel.blogspot.com/2009/07/expdp-e-impdp.html

2 comentarios:

  1. Casino Games, Dining, & Entertainment - Mapyro
    Find 평택 출장안마 Casino Games, Dining, & Entertainment, Las Vegas, 안성 출장샵 NV, 성남 출장샵 United States 울산광역 출장샵 and Canada - Mapyro. Find nearby 계룡 출장샵 casinos, check local listings,

    ResponderEliminar