在典型的Oracle環境中,您已經設定了TNS名稱.這是一個服務,用于查找給定SID或服務名稱的Oracle執行個體的連接配接參數.在最簡單的形式中,TNS名稱是由環境變量TNS_ADMIN(指向檔案所在目錄)定位的名為tnsnames.ora的檔案.
給定SID的PROD和SANDBOX,然後可以從SQLPLUS指令行實用程式複制表:
COPY FROM username1/[email protected] to username2/[email protected]
INSERT TABLE_C (*) USING (SELECT * FROM TABLE_C WHERE COL_A = 4884);
請注意,此COPY指令僅支援一組有限的Oracle資料類型:char,date,long,varchar2,number.
如果您沒有設定TNS名稱,則需要知道主機名或IP位址,端口号和服務名稱.文法變成:
COPY FROM username1/passwd1@//192.168.3.17:1521/PROD_SERVICE to username2/passwd2@//192.168.4.17:1521/SANDBOX_SERVICE
INSERT TABLE_C (*) USING (SELECT * FROM TABLE_C WHERE COL_A = 4884);
要确定SID和/或服務名稱,最好檢視資料庫伺服器本身的TNSNAMES.ORA檔案.如果您能夠登入資料庫,可以使用以下查詢來确定SID和服務名稱(但不要問我哪個是哪個):
select name from v$database;
select * from global_name;
select instance_number, instance_name, host_name from v$instance;