1

あるサーバーにあるデータベースから、別のサーバーにある別のデータベースにテーブルをエクスポートしたいと考えています。

これが私のセットアップです:

  1. Oracle 11g データベース: internal@10.0.0.1
  2. Oracle 11g XE: external@10.0.0.50

私が見つけたコマンドは、同じデータベース内のテーブルをエクスポート/インポートするために使用されます:

expdp user/password dumpfile=hr.dmp directory=dmpdir schemas=hr logfile=
hr_exp.log

impdp user/password dumpfile=hr.dmp directory=dmpdir schemas=hr logfile=hr_imp.log

これを解決する方法に関するアイデアやヒントはありますか?

4

2 に答える 2

1

Datapump はサーバー側のツールのみです。つまり、serverB がインポートできるようにダンプファイルにアクセスできるようにする必要があります。

  • serverAでexpdpを実行します
  • scp (linux) または copy (win) を使用して、ダンプファイルを ServerB に転送します。
  • ServerB の impdp

もう 1 つのオプションは、ディレクトリ オブジェクトが、serverA と serverB の両方からアクセスできる共通領域を指すようにすることです。

于 2014-03-31T17:40:43.553 に答える
1

上記の回答を補完するために、ターゲットサーバーで network_link オプションを使用することもできます。これにはディレクトリへのアクセスは必要なく、リンクを介してターゲット サーバーにインポートできます。

リンクは、ソース データベースを指している必要があります。

TARGET DB (データはこのデータベースにインポートされます)

connect user/password@target
CREATE DATABASE LINK sourceHR CONNECT TO hr IDENTIFIED BY hrpassword USING 'tns2source';
impdp user/password@target network_link=sourceHR tables=<table1>... 

テーブルを省略した場合、ソース スキーマのすべてのオブジェクトに対するスキーマ レベルのインポートになります。

それが役に立てば幸い!

于 2014-03-31T18:07:19.463 に答える