lunes, 14 de marzo de 2016

ORACLE-DBA-DataPump-Taller 2: respaldos personalizados

Esta es la segunda parte de un lab ejecutado anteriormente,
http://eloraculodelpinguino.blogspot.cl/2013/01/oracle-dba-datapump-taller-1-respaldo.html

Donde lo que se revisó fue la generación de un respaldo full de un esquema. En este articulo vamos a revisar distintas customizaciones para generar respaldos a la medida del requerimiento.

Obtener el tamaño del respaldo a ejecutar. 

Es posible sólo obtener un conteo del tamaño del archivo dump correspondiente al respaldo que se requiere ejecutar.
Es importante destacar que para esta opción no se debe incluir en el listado de parámetros el nombre del archivo dump, ya que no lo requiere. Inclusive, el utilitario rechaza incluir el param "dumpfile" junto con esta opción.

Se utiliza el param "estimate_only=y"

[oracle@datacenter ~/Export]$ cat exp_user_estimateonly.par
SCHEMAS=scott
DIRECTORY=TEMPDIR
LOGFILE=scott.log
estimate_only=y
[oracle@datacenter ~/Export]$expdp scott/tiger parfile=exp_user_estimateonly.par

Respaldo personalizado 1: sólo la estructura del esquema.

Se utiliza el param "content=METADATA_ONLY"

[oracle@datacenter ~/Export]$ cat exp_user_metadataonly.par
SCHEMAS=scott
DUMPFILE=scott.dmp
DIRECTORY=TEMPDIR
LOGFILE=scott.log
content=METADATA_ONLY
[oracle@datacenter ~/Export]$expdp scott/tiger parfile=exp_user_metadataonly.par

Carga del respaldo personalizado

Para cargar el respaldo generado, se utiliza el comando impdp.

[oracle@datacenter backup]$ cat impdp_user_onlymetadata.par
directory=IMPDP_DIR
dumpfile=scott.dmp
logfile=scoot.log
EXCLUDE=STATISTICS,CONSTRAINT,GRANT
[oracle@datacenter backup]$

Observando la composición del archivo, se destaca la utilización del param EXCLUDE.

Este param se utiliza para excluir del import (tal como se utiliza el comando INCLUDE para incluir un objeto), ciertos elementos presentes en el archivo que se requieren obviar durante la ejecución de la carga del archivo de respaldo.

Para conocer los objetos que pueden ser incluídos/excluídos dentro del param, se puede consultar las siguientes vistas:
DATABASE_EXPORT_OBJECTS 
SCHEMA_EXPORT_OBJECTS
TABLE_EXPORT_OBJECTS

Respaldo personalizado 2: Sólo la data de algunas las tablas del esquema

Se utiliza el param "INCLUDE=TABLE:"IN"

Deacuerdo al archivo par, las tablas a incluir se encuentran dentro de la tabla "tables_export"
Esto se hace cuando la cantidad de tablas a listar sobrepasa los 4000 caracteres.
Para crear y cargar esta tabla se puede hacer de la siguiente forma:

SQL> create table tables_export as select table_name from cat where table_type='TABLE';

Luego se eliminan las tablas que no se requieren exportar.
[oracle@datacenter ~/Export]$ cat exp_user_sometabledataonly.par
SCHEMAS=scott
DUMPFILE=scott.dmp
DIRECTORY=TEMPDIR
LOGFILE=scott.log
content=data_only
INCLUDE=TABLE:"IN ( select table_name from tables_export )" 
[oracle@datacenter ~/Export]$ expdp scott/tiger parfile=exp_user_sometabledataonly.par

Carga del respaldo personalizado 2

La carga del respaldo generado se puede realizar de la forma simple tal como es:

[oracle@datacenter backup]$ cat impdp_user.par
directory=IMPDP_DIR
dumpfile=scott.dmp
logfile=scoot.log
[oracle@datacenter backup]$

Fuentes:

https://oracle-base.com/articles/10g/oracle-data-pump-10g#IncludeExclude
http://www.gokhanatil.com/2011/06/oracle-datapump-include-parameter-and-limit-of-4000-chars.html

No hay comentarios:

Publicar un comentario