sql >> Databáze >  >> RDS >> Oracle

Jak kopírovat data z jedné databáze/tabulky do jiné databáze/tabulky

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;


  1. Jak cestovní weby zamykají pokoj?

  2. 0 až 60 :Přepínání na nepřímé kontrolní body

  3. Knee-Jerk Wait Statistics :PAGELATCH

  4. MySQL, jak zajistit, aby hodnota vypršela?