V typickém prostředí Oracle máte nastaveny názvy TNS. Jedná se o službu, která vyhledá parametry připojení pro instance Oracle, které mají SID nebo název služby. V nejjednodušší podobě jsou názvy TNS soubor nazvaný tnsnames.ora
umístěného pomocí proměnné prostředí TNS_ADMIN
(což ukazuje na adresář, kde je soubor).
Vzhledem k SID PROD
a SANDBOX
, pak můžete zkopírovat tabulky z nástroje příkazového řádku SQLPLUS:
COPY FROM username1/[email protected] to username2/[email protected]
INSERT TABLE_C (*) USING (SELECT * FROM TABLE_C WHERE COL_A = 4884);
Upozorňujeme, že tento příkaz COPY podporuje pouze omezenou sadu datových typů Oracle:char, date, long, varchar2, number.
Pokud nemáte nastavená jména TNS, budete potřebovat znát název hostitele nebo IP adresu, číslo portu a název služby. Syntaxe se poté změní na:
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);
Chcete-li zjistit SID a/nebo název služby, nejlépe se podíváte do souboru TNSNAMES.ORA na samotném databázovém serveru. Pokud se můžete přihlásit do databáze, můžete pomocí následujících dotazů určit SID a název služby (ale neptejte se mě, který je který):
select name from v$database;
select * from global_name;
select instance_number, instance_name, host_name from v$instance;