ファイル分割してダンプファイルをエクスポートしてRDSにインポートする【Oracle】【AWS】

ダンプファイルを分割してエクスポートする方法を紹介します。
・ダンプファイルを分割してエクスポートしたい
・分割したダンプファイルをインポートしたい
ファイル分割してエクスポートする
今回実行するコマンドは下記です。今回は100KBずつ分割します。
expdp test/test@orcl DIRECTORY=data_pump_dir DUMPFILE=export_part%U.dmp LOGFILE=export.log SCHEMAS=test FILESIZE=100KB

取得したdmpファイルをperlを用いてRDSに転送します。
転送する方法は下記を参考にしてください。
perl transfer.pl export_part01.dmp
perl transfer.pl export_part02.dmp
perl transfer.pl export_part03.dmp
転送したデータを確認
SELECT * FROM TABLE (RDSADMIN.RDS_FILE_UTIL.LISTDIR(P_DIRECTORY => 'DATA_PUMP_DIR'));

分割したダンプファイルのインポート
分割したファイルのインポートには下記のSQLで実行できます!
DECLARE
h1 NUMBER; -- ジョブハンドル
BEGIN
-- インポートジョブの作成(FULL = N、SCHEMA レベルのインポート)
h1 := DBMS_DATAPUMP.OPEN(operation => 'IMPORT', job_mode => 'SCHEMA', remote_link => NULL);
-- ダンプファイルの指定
DBMS_DATAPUMP.ADD_FILE(handle => h1, filename => 'export_part01.dmp', directory => 'DATA_PUMP_DIR');
DBMS_DATAPUMP.ADD_FILE(handle => h1, filename => 'export_part02.dmp', directory => 'DATA_PUMP_DIR');
DBMS_DATAPUMP.ADD_FILE(handle => h1, filename => 'export_part03.dmp', directory => 'DATA_PUMP_DIR');
-- ログファイルの指定(必要に応じて)
DBMS_DATAPUMP.ADD_FILE(handle => h1, filename => 'import_log.log', directory => 'DATA_PUMP_DIR', filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE);
-- 既存テーブルに対する処理
DBMS_DATAPUMP.SET_PARAMETER(h1,'TABLE_EXISTS_ACTION','REPLACE');
-- インポートジョブの実行
DBMS_DATAPUMP.START_JOB(h1);
END;
/
既存テーブルに対する処理に関しては、下記を参考にしてください。
備考:TABLE_EXISTS_ACTION のオプション
SKIP: 既存テーブルをスキップ(デフォルト動作)
APPEND: 既存テーブルにデータを追加
TRUNCATE: 既存テーブルのデータを削除してからインポート
REPLACE: 既存テーブルを削除して再作成してからインポート
以上です。誰かの参考になれば幸いです。