I et typisk Oracle-miljø har du TNS-navne sat op. Det er en tjeneste til at finde forbindelsesparametrene for Oracle-forekomster givet et SID eller tjenestenavn. I sin enkleste form er TNS-navne en fil kaldet tnsnames.ora
placeret af miljøvariablen TNS_ADMIN
(som peger på den mappe, hvor filen er).
Givet SID'erne PROD
og SANDBOX
, kan du derefter kopiere tabellerne fra kommandolinjeværktøjet SQLPLUS:
COPY FROM username1/[email protected] to username2/[email protected]
INSERT TABLE_C (*) USING (SELECT * FROM TABLE_C WHERE COL_A = 4884);
Bemærk venligst, at denne COPY-kommando kun understøtter et begrænset sæt Oracle-datatyper:char, date, long, varchar2, number.
Hvis du ikke har konfigureret TNS-navne, skal du kende værtsnavnet eller IP-adressen, portnummeret og tjenestenavnet. Syntaksen bliver så:
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);
For at bestemme SID og/eller tjenestenavnet skal du bedst kigge ind i filen TNSNAMES.ORA på selve databaseserveren. Hvis du er i stand til at logge ind på databasen, kan du bruge følgende forespørgsler til at bestemme SID og tjenestenavn (men spørg mig ikke, hvilken der er hvilken):
select name from v$database;
select * from global_name;
select instance_number, instance_name, host_name from v$instance;