一般的なOracle環境では、TNS名が設定されています。これは、SIDまたはサービス名を指定してOracleインスタンスの接続パラメータを検索するサービスです。最も単純な形式では、TNS名はtnsnames.ora
というファイルです。 環境変数TNS_ADMIN
によって配置されます (ファイルがあるディレクトリを指します。)
与えられたSIDPROD
およびSANDBOX
、SQLPLUSコマンドラインユーティリティからテーブルをコピーできます:
COPY FROM username1/[email protected] to username2/[email protected]
INSERT TABLE_C (*) USING (SELECT * FROM TABLE_C WHERE COL_A = 4884);
このCOPYコマンドは、char、date、long、varchar2、numberなどの限られたOracleデータ型のセットのみをサポートすることに注意してください。
TNS名を設定していない場合は、ホスト名またはIPアドレス、ポート番号、およびサービス名を知っている必要があります。構文は次のようになります。
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);
SIDやサービス名を確認するには、データベースサーバー自体のTNSNAMES.ORAファイルを調べるのが最善です。データベースにログインできる場合は、次のクエリを使用してSIDとサービス名を確認できます(ただし、どちらかは聞かないでください)。
select name from v$database;
select * from global_name;
select instance_number, instance_name, host_name from v$instance;