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.

Publicado en Bases de datos | Deja un comentario