En un entorno típico de Oracle, tiene nombres TNS configurados. Es un servicio para buscar los parámetros de conexión para las instancias de Oracle dado un SID o nombre de servicio. En su forma más simple, TNS names es un archivo llamado tnsnames.ora
ubicado por la variable de entorno TNS_ADMIN
(que apunta al directorio donde está el archivo).
Teniendo en cuenta los SID PROD
y SANDBOX
, a continuación, puede copiar las tablas a partir de la utilidad de línea de comandos SQLPLUS:
COPY FROM username1/[email protected] to username2/[email protected]
INSERT TABLE_C (*) USING (SELECT * FROM TABLE_C WHERE COL_A = 4884);
Tenga en cuenta que este comando COPY sólo admite un conjunto limitado de tipos de datos de Oracle: char, fecha, largo, varchar2, número.
Si no tiene los nombres de los TNS configurados, necesitará saber el nombre de host o la dirección IP, el número de puerto y el nombre del servicio. La sintaxis se convierte entonces en:
COPY FROM username1/[email protected]//192.168.3.17:1521/PROD_SERVICE to username2/[email protected]//192.168.4.17:1521/SANDBOX_SERVICE
INSERT TABLE_C (*) USING (SELECT * FROM TABLE_C WHERE COL_A = 4884);
Para determinar el SID y/o nombre de servicio, lo mejor es echar un vistazo en el archivo tnsnames.ora en el propio servidor de base de datos. Si usted es capaz de conectarse a la base de datos, puede utilizar las siguientes preguntas para determinar el nombre de SID y el servicio (pero no me pregunta cuál es cuál):
select name from v$database;
select * from global_name;
select instance_number, instance_name, host_name from v$instance;
¿La tabla de destino ya existe? – tallybear
¿'production_IP' representa una dirección IP? Si es así, eso no es suficiente. Necesita tener los nombres de TNS configurados y usar un SID o un nombre de servicio o usar un nombre de conexión fácil (que también incluye un SID o un nombre de servicio). – Codo
@tallybear: Sí –