sqlplus: Copiar tablas entre diferentes gestores Oracle

Buenas,

En esta entrada vamos a utilizar el comando copy dentro de sqlplus para copiar tablas entre gestores Oracle diferentes.

Antes de los ejemplos, enlace a la documentación oficial (revisar siempre la versión en la que os encontréis):

https://docs.oracle.com/database/121/SQPUG/apb.htm#SQPUG140

Destacar, que esta forma de copia solamente funciona con tablas cuyos campos son de tipo:

CHAR, DATE, LONG, NUMBER, y VARCHAR2

Vistas las restricciones, a continuación, ejemplos útiles:

-- Copia de tabla reemplazando el contenido en destino

copy from USUARIO_ORIGEN/PASS_ORIGEN@HOST_ORIGEN:PUERTO_ORIGEN/SID_ORIGEN to USUARIO_DESTINO/PASS_DESTINO@HOST_DESTINO:PUERTO_DESTINO/SID_DESTINO replace TABLA_DESTINO using select * from TABLA_ORIGEN;

-- Si tenemos definido en el fichero tnsnames.ora las entradas correspondientes a los SIDs nos ahorramos los parametros host y puerto de los gestores

copy from USUARIO_ORIGEN/PASS_ORIGEN@SID_ORIGEN to USUARIO_DESTINO/PASS_DESTINO@SID_DESTINO replace TABLA_DESTINO using select * from TABLA_ORIGEN;

-- Si omitimos la clausula "from" o la clausula "to", el comando copy toma por defecto el gestor contra el que hemos conectado mediante sqlplus. Ej.: 

copy to USUARIO_DESTINO/PASS_DESTINO@SID_DESTINO replace TABLA_DESTINO using select * from TABLA_ORIGEN;

 

Espero que os sirva.

Nos vemos al otro lado de la pantalla negra.

Esta entrada fue publicada en Bases de datos. Guarda el enlace permanente.

Deja una respuesta

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