Exportación e importación en Bases de Datos

Introducción

En la entrada se detalla el uso de Enterprise Manager en Oracle 11g para exportar/importar esquemas, tablas de un usuario a otro. El uso básico de data pump y las operaciones de importación y exportación existentes en Mariadb y Mongodb.

Requisitos:

  • Oracle 11g (Puedes descargarte esta OVA, para realizar los pasos siguientes, password: charlie)
  • MariaDB
  • MongoDB

Opcional – Poblar la tabla dept de SCOTT

1. Realización de una exportación del Esquema de SCOTT utilizando tanto Enterprise Manager como la herramienta Oracle Data Pump, añadiendo las siguientes condiciones:

  • Exportar la estructura de tablas y los datos de las mismas.
  • Excluir la tabla BONUS y los departamentos de la tabla EMP que no tengan empleados.
  • Realizar una estimación previa del tamaño necesario para el fichero de exportación.
  • Programar la exportación para que se lleve a cabo 5 minutos después de la configuración.
  • Generar a su vez un fichero log en el directorio raíz.

Oracle Enterprise Manager

Primero vamos a crear un objecto de directorio, para exportar los datos y luego poder importarlos desde ese directorio. Para ello primero tendremos que haber creado dicho directorio en el sistema, por ejemplo yo he decidido crearlo en la ruta: C:\mydata de la máquina.

Una vez creado el directorio anterior, acceder desde el navegador web a la dirección:

Cuando hayamos iniciado sesión con el usuario sys y como sysdba, vamos a desplazarnos a la pestaña Esquema y posteriormente clic en Objectos de Directorio, donde vamos a crear el objecto como aparece en la siguiente captura:

El pase de diapositivas requiere JavaScript.

Ahora cerramos sesión con el usuario sys y nos identificamos como usuario system, hacemos clic en el apartado Movimiento de Datos Exportar a Archivos de Exportación:

El pase de diapositivas requiere JavaScript.

Elegir como tipo de exportación Esquemas y agregar el esquema del usuario SCOTT:

El pase de diapositivas requiere JavaScript.

Hacemos clic en siguiente y antes de seguir con las demás opciones, pulsamos en Estimar Espacio en Disco Ahora:

El pase de diapositivas requiere JavaScript.

Ahora indicamos el directorio raíz destinado para almacenar datos que creamos antes y le asignamos un nombre al fichero log, que se creará automáticamente al finalizar el proceso. Finalmente excluimos la tabla BONUS de SCOTT, incluimos la consulta que excluya de la tabla DEPT los departamentos sin empleados y le asignamos un nombre al fichero de exportación:

El pase de diapositivas requiere JavaScript.

Planificamos para que el trabajo de exportación se ejecute en un tiempo estimado y no inmediatamente (solamente es por un uso práctico no hay un motivo por el cual esto se deba hacer así y no inmediatamente, esto dependerá de la conveniencia y criterio de cada uno):

El pase de diapositivas requiere JavaScript.

Vemos como en el objecto directorio que creamos, se alojan tanto el fichero de exportación como el fichero log de la operación.

Aquí, el contenido del fichero log una vez acabada la operación:

 

Oracle Data Pump

Si quisiéramos realizar la misma operación de exportación realizada antes, desde linea de comandos en (SQL Plus), debemos ejecutar el siguiente procedimiento:

Resultado:

El pase de diapositivas requiere JavaScript.

 

2. Importar el fichero obtenido anteriormente usando EM pero en un usuario distinto de la misma base de datos.

Ingresamos desde el navegador al panel web como en el apartado 1, y nos desplazamos hasta la pestaña “Movimiento de datos” y hacemos clic en Importar de Archivos de Exportación:

El pase de diapositivas requiere JavaScript.

Solución desde linea de comandos

Crear previamente otro usuario:

Desde linea de comandos ejecutar:

 

El pase de diapositivas requiere JavaScript.

3. Exportación de la estructura de todas las tablas de la base de datos con el comando expdp.

La siguiente instrucción exporta todas las tablas de la base de datos, indicándolo con el parámetro full y con include content elegimos que incluya las tablas y solo los datos de dichas tablas.

Salida de la ejecución anterior

El pase de diapositivas requiere JavaScript.

Posibles opciones

A continuación, se muestran algunas de los parámetros disponibles con sus descripciones y ejemplos de uso, entre los valores entre corchetes, la opción en negrita es el utilizado de manera predeterminada:

CONTENT: Especifica los datos que se van a descargar.
Los valores de palabras clave válidos son: [ALL], DATA_ONLY y METADATA_ONLY.

INCLUDE: Incluye tipos de objetos específicos.
Por ejemplo, INCLUDE=TABLE_DATA.

FULL: Exporta toda la base de datos [N].

DUMPFILE: Lista de nombres de archivo de volcado de destino [expdat.dmp].
Por ejemplo, DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp.

El ejemplo siguiente es el del apartado:


QUERY: Clausula de predicado utilizada para exportar un subjuego de una tabla.
Por ejemplo, QUERY=employees:”WHERE identificador_departamento > 10″.

Ejemplo:

El siguiente ejemplo realiza una exportación completa, pero sin incluir los datos para las tablas EMP y DEPT.


NETWORK_LINK: Nombre del enlace de base de datos remota al sistema de origen.

Ejemplo:

Crear el enlace remoto:

Exportación:


FLASHBACK_SCN: SCN utilizado para restablecer la instantánea de sesión.

FLASHBACK_TIME: Tiempo utilizado para buscar el valor de SCN correspondiente más cercano.

Ejemplo:


SCHEMAS: Lista de esquemas que se van a exportar (esquema de conexión).

DIRECTORY: Objeto de directorio que se va a utilizar para los archivos de volcado y log.

PARALLEL: Cambia el número de workers activos para el trabajo actual.

COMPRESSION: Reduce el tamaño de un archivo de volcado.
Los valores de palabras clave válidos son: ALL, DATA_ONLY, [METADATA_ONLY] y NONE.

Ejemplo:


LOGFILE: Especifica el nombre del archivo log [export.log].

ENCRYPTION: Cifra todo o parte del archivo de volcado.
Los valores de palabras clave válidos son: ALL, DATA_ONLY, ENCRYPTED_COLUMNS_ONLY, METADATA_ONLY y NONE.

ENCRYPTION_ALGORITHM: Especifica como se debe hacer el cifrado.
Los valores de palabras clave válidos son: [AES128], AES192 y AES256.

ENCRYPTION_MODE: Método para generar la clave de cifrado.
Los valores de palabras clave válidos son: DUAL, PASSWORD y [TRANSPARENT].

ENCRYPTION_PASSWORD: Clave de contraseña para crear datos cifrados en un archivo de volcado.

TABLES: Identifica una lista de tablespaces que se van a exportar.
Por ejemplo, TABLES=HR.EMPLOYEES,SH.SALES:SALES_1995.

Ejemplo:


ESTIMATE: Calcula estimaciones de trabajo.
Los valores de palabras clave válidos son: [BLOCKS] y STATISTICS.

ESTIMATE_ONLY: Calcula las estimaciones de trabajo sin realizar la exportación.

NOLOGFILE: No se escribe el archivo log [N].

Ejemplo:


PARFILE: Especifica el nombre del archivo de parámetros.

Ejemplo:

Crear el archivo con los parámetros:

Exportar:


FILESIZE: Especifica el tamaño de cada archivo de volcado en unidades de bytes.

JOB_NAME: Nombre del trabajo de exportación que se va a crear.

PARALLEL: Cambia el número de workers activos para el trabajo actual.

Ejemplo:


REUSE_DUMPFILES: Sobrescribe el archivo de volcado de destino si existe (N).

Ejemplo:


REMAP_DATA: Especifica una función de conversión de datos.
Por ejemplo, REMAP_DATA=EMP.EMPNO:REMAPPKG.EMPNO.

Ejemplo:


TABLESPACES: Identifica una lista de tablespaces que se van a exportar.

Ejemplo:


EXCLUDE: Excluye tipos de objeto específicos.
Por ejemplo, EXCLUDE=SCHEMA:”=’HR'”.

Ejemplo:

Excluye todas las tablas que empiecen por emp..

 


Modo interactivo

ADD_FILE: Agrega un archivo de volcado al juego de archivos de volcado.

CONTINUE_CLIENT: Vuelve al modo de registro. El trabajo se reiniciará si está inactivo.

EXIT_CLIENT: Sale de la sesión del cliente y deja el trabajo ejecutándose.

FILESIZE: Tamaño de archivo (bytes) por defecto para los comandos ADD_FILE posteriores.

KILL_JOB: Desconecta y suprime un trabajo.

REUSE_DUMPFILES: Sobrescribe el archivo de volcado de destino si existe [N].

START_JOB: Inicia o reanuda el trabajo actual.
Los valores de palabra clave vßlidos son: SKIP_CURRENT.

STATUS: Estado del trabajo de frecuencia (seg) que se va a controlar donde el valor por defecto (0) mostrará el nuevo estado cuando está disponible.

STOP_JOB: Cierra en orden la ejecución del trabajo y sale del cliente.
Los valores de palabra clave válidos son: IMMEDIATE.

Nota: Están permitidas las abreviaturas.

Ejemplos:

Desde el prompt de export, si queremos parar un job:

El trabajo se marca en estado “parado” y se sale del cliente.

Para volver a conectar con un trabajo existente:

Continuar y reiniciar el job:

 

4. Realizar operaciones similares de importación y exportación con las herramientas proporcionadas en MySQL

MySQL incorpora una herramienta más sencilla y menos parametrizable para la exportación e importación de sus bases de datos.

Exportación

Exportar todas las bases de datos a la vez:

O exportar con un usuario determinado con privilegios sobre la base de datos:

O exportar una base de datos remota:

Importación

Importando localmente:

O remotamente:

5. Importación y exportación de colecciones en MongoDB

MongoDB exporta sus datos desde el servidor a ficheros bson.

Para exportar colecciones:

Sintaxis:

Ejemplo:

Para restaurar se usa mongorestore:

Sintaxis:

Ejemplo:

Comprobación:

 

Referencias

https://berbagisolusi.wordpress.com/2011/12/06/export-import-oracle-oracle-dump/

http://www.orasite.com/backup-de-base-de-datos/como-realizar-un-export-de-base-de-datos-usando-dbms_datapump-package

https://oracle-base.com/articles/10g/oracle-data-pump-10g

Autor entrada: CharlieJ

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *