Está en la página 1de 2

Del export/import a Oracle Data Pump

Desde la versin 10gR1 de Oracle Database disponemos de una nueva herramienta para la carga/descarga de datos en formato nativo Oracle: Oracle Data Pump. De todos modos, los binarios del export/import siguen estando presentes en las BBDD 10g y 11g para permitirnos migrar datos desde BBDD de versiones inferiores (por ejemplo de una 9i a una 11g). Esto es as porque los ficheros generados por el export/import no son validos para Oracle Data Pump y los de Data Pump tampoco lo son para export/import. La idea principal que debemos tener clara es que Oracle Data Pump se ejecuta en el servidor, digamos que es una tarea en el servidor. Anteriormente podamos instalar los binarios de export/import en una mquina cualquiera (no necesariamente en el servidor , poda ser un PC cliente), estas herramientas se conectaban por Oracle Net a la BBDD y extraan/cargaban los datos. Actualmente con Data Pump lo que hacemos es programar una tarea en el servidor (sea por lnea de comandos, sea con Enterprise Manager/Database Console o sea mediante PL/SQL), por tanto los ficheros de dump se generarn o leern en el servidor de BBDD. Esto implica que no podremos escribir o leer un fichero de dump que est ubicado fuera del servidor (por ejemplo en nuestro PC cliente), ya que los procesos que intentarn escribirlo o leerlo no tendrn acceso a l. Lo que si podemos hacer, no obstante, es montar en el servidor de BBDD una unidad compartida y escribir/leer en sta. Para poder escribir o leer le deberemos indicar al proceso de Data Pump donde hacerlo. Para esto usaremos un objeto de tipo DIRECTORY de la BBDD, que deberemos tener creado previamente y en el que deberemos tener permisos de lectura/escritura. No deberemos usar, como se haca con el export/import el nombre fsico del directorio.

Por qu usar Oracle Data Pump?


Aparte de porque toca, pues porque mejora en mucho a sus predecesoras:

Gestiona infinitamente mejor el tema del mapeo de esquemas y tablespaces (una de las pesadillas del antiguo export/import). Permite compresin de los datos al vuelo, ya no es necesario exportar y comprimir va pipe o una vez exportado (slo Enterprise Edition). Nos da un control extraordinario de que exportar y cmo hacerlo, podemos filtrar que objetos queremos y que objetos no (incluso a nivel de filas para tablas concretas). Si se para por problemas, en ciertos casos (por ejemplo si se ha quedado sin espacio en el tablespace) no aborta, se pone en pausa y permite solucionar el problema y continuar. Permite paralelizar y cambiar el paralelismo al vuelo, aumentando o disminuyendo el nmero de procesos de carga/extraccin (solo Enterprise Edition). Permite cargar datos al vuelo de otra BBDD mediante DBLink, esto es, sin pasar por fichero en disco (incompatible con campos de tipo LONG y RAW). Permite exportar datos de un SCN o timestamp anterior al actual, lo que permite exportar la BBDD como estaba en un momento anterior del tiempo. Segn Oracle es MUCHO ms rpida que sus predecesoras, citando textualmente:

Bsicamente los pasos para usar expdp serian los siguientes: Creamos desde la BBDD un directorio, que es asignar un nombre virtual a un directorio fsico, de manera que si queremos cambiar de directorio destino/origen en el servidor no tengamos que modificar nuestro cdigo de export/import. CONN / AS SYSDBA CREATE OR REPLACE DIRECTORY dir_salida AS c:\directorio_export\; GRANT READ, WRITE ON DIRECTORY dir_salida TO miusuario;

Nota: Podemos importar solo una parte (ciertos esquemas o tablas) de un fichero de expdp full sin problemas y recordar que los permisos de sistema (otorgados desde SYS) y las tablas de sistema (propiedad de SYS, SYSTEM) no se incluyen en los exports.

Breves apuntes de cmo hacer un export/import en Oracle9i ( DataPump utility en oracle10g sustituye al export/Import de oracle9i ) 2. Qu es un export/import en Oracle? Export/Import es una utilidad de Oracle para realizar backups lgicos de Oracle ( y luego poderlos restaurar ). Esto significa que copian el contenido de la BD pero sin almacenar la posicin fsica de los datos. Para realizar estas operaciones la base de datos tiene que estar abierta. Para crear el fichero de backup se utiliza la utilidad export y para importar el contenido o recuperar la base de datos se realiza import. Este tipo de backup se utiliza en los siguientes casos: - Para realizar backups de bases de datos ( pequeas/medianas bases de datos ) - Para corregir "Row Migration & Row Chaining" - Detectar alguna corrupcin en la base de datos, puesto que al hacer el export se lee toda la bd. - Para "migrar" una base de datos a otro servidor

2. Qu es un export/import en Oracle?
Export/Import es una utilidad de Oracle para realizar backups lgicos de Oracle ( y luego poderlos restaurar ). Esto significa que copian el contenido de la BD pero sin almacenar la posicin fsica de los datos. Para realizar estas operaciones la base de datos tiene que estar abierta. Para crear el fichero de backup se utiliza la utilidad export y para importar el contenido o recuperar la base de datos se realiza import. Este tipo de backup se utiliza en los siguientes casos:

- Para realizar backups de bases de datos ( pequeas/medianas bases de datos ) - Para corregir "Row Migration & Row Chaining" - Detectar alguna corrupcin en la base de datos, puesto que al hacer el export se lee toda la bd. - Para "migrar" una base de datos a otro servidor