はじめに
Private IPに対するデータベース・リンクを作成できるようになったので、これを使用したネットワーク・リンク・インポートでAutonomous Databaseへデータをインポートする方法をご紹介します。
ネットワーク・リンク・インポートは、impdpクライアントの接続先となるシステムから、指定されたソース・データベースに接続し、そこからデータを取り出して、接続されたインスタンスのデータベースに直接書き込みます。ダンプ・ファイルは必要ないので、手軽に異なるインスタンスのスキーマからデータをロードできるというメリットがあります。
Private IPに対するデータベース・リンクの作成方法については、こちらの記事でご紹介しています。今回はこの記事で作成したHR_LINKを使用して、プライベートネットワーク内のDBCSのHRスキーマをADBへインポートしてみます。
事前準備
①ADMINユーザーで接続し、ADB側でサンプルスキーマdump_userを作成します。
create user dump_user identified by Welcome12345#:
grant dwrole, unlimited tablespace to dump_user;
ADBでData Pumpを使用するには、dwroleかDATAPUMP_CLOUD_IMP・DATAPUMP_CLOUD_EXPロールが必要です。
②DBCS側スキーマに権限付与
grant exp_full_database to HR;
EXP_FULL_DATABASEロールにはデータベース管理者に近いデータ操作権限が割り当てられてしまいますので、一時的に付与することをおすすめします。
パラメータファイル作成
コマンド簡略化のため、今回はパラメータファイルを用意しそちらを実行します。
DIRECTORY=data_pump_dir
NETWORK_LINK=HR_LINK
TABLE_EXISTS_ACTION=TRUNCATE
REMAP_SCHEMA=HR:dump_user
REMAP_TABLESPACE=USERS:DATA
-
DATA_PUMP_DIRは、事前定義された唯一のディレクトリです。 ディレクトリを以前に作成し、そのディレクトリに対する書込み権限がある場合は、directory引数として別のディレクトリを指定できます。 ディレクトリの作成の詳細は、Autonomous Databaseでのディレクトリの作成を参照してください。
-
NETWORK_LINKに作成済みのデータベース・リンクHR_LINKを指定します。
-
今回は表単位のロードを行うため、TABLESで指定しています。スキーマ単位や表領域単位でロードすることもできます。詳細はOracle Data Pump Importのモードを参照してください。
-
TABLE_EXISTS_ACTION=TRUNCATEは、パーティションやインデックスを見直して新規に一括作成したい場合に指定します。
-
REMAP_SCHEMA=HR:dump_userは、DBCS側のHRスキーマにあるすべてのオブジェクトをターゲット・スキーマであるADB側のdump_userスキーマにロードします。
-
その他のimpdpのパラメータについては、Oracle Data Pump Importコマンドライン・モードで使用可能なパラメータを参照してください。
impdp実行
ADBに接続できる踏み台サーバー上で以下を実行します。
impdp admin/Welcome12345#@(接続識別子) parfile=impdp.par
今回HR_LINKを作成したのはADMINユーザーなので、ADMINでADBに接続しています。
ロードされたデータの確認
dump_userでADBに接続し、データを確認してみます。
select * from countries;
CO COUNTRY_NAME REGION_ID
-- ---------------------------------------- ----------
AR Argentina 2
AU Australia 3
BE Belgium 1
BR Brazil 2
CA Canada 2
CH Switzerland 1
CN China 3
DE Germany 1
DK Denmark 1
EG Egypt 4
FR France 1
IL Israel 4
IN India 3
IT Italy 1
JP Japan 3
KW Kuwait 4
ML Malaysia 3
MX Mexico 2
NG Nigeria 4
NL Netherlands 1
SG Singapore 3
UK United Kingdom 1
US United States of America 2
ZM Zambia 4
ZW Zimbabwe 4
25 rows selected.
無事DBCS側のHRスキーマの表がADBにロードされたことが確認できました。