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.
