一般的なOracle環境では、TNS名が設定されています。これは、SIDまたはサービス名を指定してOracleインスタンスの接続パラメータを検索するサービスです。最も簡単な形式では、TNS名はというファイルで、環境変数TNS_ADMIN
(ファイルが存在するディレクトリを指しています)にあります。
の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データ型の限定セットをサポートしていることに注意してください長い、varchar2、番号。
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;
宛先テーブルはすでに存在しますか? – tallybear
'production_IP'はIPアドレスを表しますか?はいの場合は、それでは十分ではありません。 TNS名を設定し、SIDまたはサービス名を使用するか、簡単な接続名(SIDまたはサービス名も含む)を使用する必要があります。 – Codo
@tallybear:はい –