rj45-1139366_640

Creación de un Network Link en Oracle.

Hola de nuevo amigos! Esta semana vamos a ver cómo realizar un expdp/impdp a través de la creación de un network link. Con ello, reduciremos el espacio que necesitamos así como el tiempo en hacerlo. Es una de las Best practices de Oracle, así qué, vamos a verlo!!

Primeramente, tenemos 2 formas de realizarlo. Ambas son totalmente válidas:

  • Expdp: Desde origen enviamos a destino
  • Impdp: Desde destino leemos y escribimos.

En ambos casos, necesitaremos realizar un configuración previa que deberemos de adecuar a los requisitos de nuestro entorno.

Configuración necesaria para la creación de un Network Link

Para poder realizar nuestro expdp/impdp necesitamos tener creada la estructura:

  1. Entrada en el tnsnames.ora de la máquina origen/destino
  2. Crear directorio para almacenar el logfile y dar los permisos pertinentes.
  3. Crear dblink

Partimos del siguiente escenario:

  • Máquina 1: oraclehost1.dominio.es
    • SID= ORACL1
    • Port=1533
  • Máquina 2: oraclehost2.dominio.es
    • SID= ORACL2
    • Port=1533

1- Entrada tnsnames.ora.

Si lanzamos impdp, añadimos esta entrada en el fichero tnsnames.ora de la máquina ORACL2

ORACL1= 
   (DESCRIPTION =
        (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = TCP)(HOST = oraclehost1.dominio.es)
(PORT = 1533)))
         (CONNECT_DATA = (SERVICE_NAME = ORACL1))) 
ORACL2=     
(DESCRIPTION =
        (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = TCP)(HOST = oraclehost2.dominio.es)
(PORT = 1533)))
         (CONNECT_DATA = (SERVICE_NAME = ORACL2)))  

2- Crear la carpeta que contendrá el log.

Debemos modificar la cláusula USING especificando el Dblink a utilizar:

Para expdp:

CREATE DATABASE LINK "SYSLINK"
 CONNECT TO system
 IDENTIFIED BY oracle123
 USING 'ORACL2'
 /

Para impdp:

CREATE DATABASE LINK "SYSLINK"
CONNECT TO system
IDENTIFIED BY oracle123
USING 'ORACL1'
/

Creación del directorio.

Este paso será necesario para ambas ejecuciones

CREATE OR REPLACE DIRECTORY
expdp_dir AS '/backup/datapump';
GRANT READ,WRITE ON DIRECTORY expdp_dir TO system;

Ejecución del comando de expdp/impdp con network link:

Para expdp:

expdp  \'/ as sysdba\' network_link=SYSLINK
directory=expdp_dir logfile=20210317_impdp_user_ APLICAUSER.log schemas=APLICAUSER

Para impdp:

impdp \'/ as sysdba\'
network_link=SYSLINK directory=expdp_dir logfile=20210317_impdp_user_ APLICAUSER.log schemas=APLICAUSER

Seguidamente podemos ver en la siguiente imagen, se ejecuta correctamente:

Network Link en Oracle

También, si quieres que te echemos una mano con tu entorno ya sea para la administración o tareas consultoría no dudes en contactarnos!! Nos vemos en la próxima!!

Suscríbete a nuestra newsletter mensual para no perderte ninguna de nuestras publicaciones con un solo email al mes.

Podéis ver más información en este documento de Oracle: https://www.oracle.com/a/tech/docs/19c-oracle-data-pump-whats-new.pdf

Comments are closed.