Implement Data Pump To and From Remote Databases

1. Documentación en Tahiti -> Masters Book List -> Utilities -> 2 Data Pump Export

Documentación en Tahiti -> Masters Book List -> Utilities -> 3 Data Pump Import

2. Dentro de los comandos “expdp” y “impdp” tenemos el parámetro NETWORK_LINK para poder implementar Data Pump a través de la red. El procedimiento consiste en crear un DB LINK y pasarlo como argumento al parámetro NETWORK_LINK. Voy a crear un DB LINK de prueba desde la BD OCM a la BD OEM y realizar un EXPORT y un IMPORT.

-- Creo el DB LINK de OCM a OEM
-- Es necesario utilizar el mismo usuario en el DB LINK y en el export/import
CREATE PUBLIC DATABASE LINK OEM CONNECT TO SYSTEM IDENTIFIED BY "********" USING 'OEM';

-- Probamos el acceso
SELECT COUNT(1) FROM RMAN.BP@OEM;
# Empiezo probando un EXPORT de varias tablas de RMAN
expdp system NETWORK_LINK=OEM TABLES=RMAN.DB,RMAN.DBINC,RMAN.BP \
  DIRECTORY=DATA_PUMP_DIR DUMPFILE=exp_rman.dmp LOGFILE=exp_rman.log

# Ahora lanzo un IMPORT y aprovecho para ver más parámetros que no hemos utilizado hasta ahora
#   REMAP_SCHEMA => Cambiamos el propietario de los objetos que importamos
#   REMAP_TABLESPACE => Cambios el TBS destino de los objetos importados
#   EXCLUDE => Escogemos que objetos queremos excluir del IMPORT
#   TABLE_EXISTS_ACTION => Nos permite especificar que hacer cuando ya exista la tabla
impdp system NETWORK_LINK=OEM TABLES=RMAN.DB,RMAN.DBINC,RMAN.BP \
  REMAP_SCHEMA=RMAN:HR REMAP_TABLESPACE=RCAT:USERS \
  EXCLUDE=CONSTRAINT TABLE_EXISTS_ACTION=APPEND \
  DIRECTORY=DATA_PUMP_DIR LOGFILE=exp_rman.log

3. Limpiamos el entorno.

-- Ejecutamos en la BD de OCM
DROP PUBLIC DATABASE LINK OEM;
DROP TABLE HR.DB;
DROP TABLE HR.DBINC;
DROP TABLE HR.BP;