

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# データベースリンク経由で直接 Oracle Data Pump Import を使用して Oracle データベースを Amazon RDS に移行する
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-by-using-direct-oracle-data-pump-import-over-a-database-link"></a>

*Amazon Web Services、Rizwan Wangde*

## 概要
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-by-using-direct-oracle-data-pump-import-over-a-database-link-summary"></a>

大規模な Oracle ワークロードを移行する場合に推奨されるネイティブ Oracle ユーティリティである Oracle Data Pump を使用して、オンプレミスの Oracle データベースを Amazon Relational Database Service (Amazon RDS) に移行する方法には、さまざまなパターンがあります。これらのパターンには、通常、アプリケーションスキーマまたはテーブルをダンプファイルにエクスポートし、ダンプファイルを Amazon RDS for Oracle のデータベースディレクトリに転送し、ダンプファイルからアプリケーションスキーマとデータをインポートすることが含まれます。

この方法を使用すると、データのサイズや Amazon RDS インスタンスへのダンプファイルの転送にかかる時間によっては、移行に時間がかかる場合があります。さらに、ダンプファイルは Amazon RDS インスタンスの Amazon Elastic Block Store (Amazon EBS) ボリュームにあります。このボリュームは、データベースとダンプファイルを保存するのに十分な大きさでなければなりません。インポート後にダンプファイルが削除されると、空のスペースは取得できなくなるため、未使用のスペースについては引き続きお支払いいただきます。

このパターンは、データベースリンク上で Oracle Data Pump API (`DBMS_DATAPUMP`) を使用して Amazon RDS インスタンスに直接インポートを実行することで、こうした問題を軽減します。このパターンは、移行元のデータベースと移行先のデータベース間のエクスポートとインポートの同時パイプラインを開始します。このパターンでは、ダンプファイルが作成または保存されないため、ダンプファイル用の EBS ボリュームのサイズを設定する必要はありません。この方法では****、未使用のディスク容量にかかる毎月のコストを節約できます。

## 前提条件と制限事項
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-by-using-direct-oracle-data-pump-import-over-a-database-link-prereqs"></a>

**前提条件**
+ アクティブな Amazon Web Services (AWS) アカウント。
+ Amazon RDS インスタンスのネットワークインフラストラクチャを提供するために、少なくとも 2 つのアベイラビリティゾーンにまたがるプライベートサブネットで構成された仮想プライベートクラウド (VPC)。
+ オンプレミスのデータセンター内の、または Amazon Elastic Compute Cloud (Amazon EC2) 上のセルフマネージド Oracle データベース。
+ 1 つのアベイラビリティーゾーンにある既存の Amazon RDS for Oracle インスタンス。1 つのアベイラビリティゾーンを使用すると、移行中の書き込みパフォーマンスが向上します。マルチ AZ 配置は、カットオーバーの 24～48 時間前に有効化できます。

  このソリューションでは、ターゲットとして Amazon RDS Custom for Oracle を使用することもできます。
+ AWS Direct Connect (大規模なデータベースに推奨）。
+ Amazon RDS インスタンスからオンプレミスの Oracle データベースへのインバウンド接続を許可するように設定されたオンプレミスのネットワーク接続とファイアウォールルール。

**制限**
+ Amazon RDS for Oracle のデータベースサイズ制限は、2022 年 12 月時点で 64 テビバイト (TiB) です。
+ Amazon RDS for Oracle DB インスタンス上の単一ファイルの最大サイズは 16 TiB です。場合によってはテーブルを複数のテーブルスペースに分散する必要があるため、この制限を知っておくことは重要です。

**製品バージョン**
+ ソースデータベース: Oracle データベースバージョン 10g リリース 1 以降。
+ ターゲットデータベース: Amazon RDS でサポートされているバージョンとエディションの最新リストについては、AWS ドキュメントの「[Amazon RDS for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Concepts.database-versions.html)」を参照してください。

## アーキテクチャ
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-by-using-direct-oracle-data-pump-import-over-a-database-link-architecture"></a>

**ソーステクノロジースタック**
+ オンプレミスでもクラウドでも、セルフマネージド Oracle データベース

**ターゲットテクノロジースタック**
+ Amazon RDS for Oracle または Amazon RDS Custom for Oracle

**ターゲットアーキテクチャ**

以下の図は、シングル AZ 環境でオンプレミスの Oracle データベースから Amazon RDS for Oracle に移行するためのアーキテクチャを示しています。矢印の方向は、アーキテクチャ内のデータフローを示しています。この図には、どのコンポーネントが接続を開始しているかは示されていません。

![オンプレミスの Oracle データベースのフルロード移行。](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/d54e7777-dcd2-4039-9b76-97e1019ef112/images/78429a29-e110-485a-a501-9764decd7e92.png)


1. Amazon RDS for Oracle インスタンスは、オンプレミスのソース Oracle データベースに接続し、データベースリンクを介して全負荷移行を実行します。

1. AWS Database Migration Service (AWS DMS) はオンプレミスのソース Oracle データベースに接続し、変更データキャプチャ (CDC) を使用して継続的なレプリケーションを実行します。

1. CDC の変更は Amazon RDS for Oracle データベースに適用されます。

## ツール
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-by-using-direct-oracle-data-pump-import-over-a-database-link-tools"></a>

**AWS のサービス**
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) を使用すると、データストアを に移行する AWS クラウド か、クラウドとオンプレミスのセットアップの組み合わせ間で移行できます。このパターンでは CDC と **[データ変更のみの複製]** 設定を使用します。
+ [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) は、標準イーサネット光ファイバケーブルを介して内部ネットワークを Direct Connect ロケーションにリンクします。この接続を使用すると、ネットワークパスでインターネットサービスプロバイダーをバイパス AWS のサービス しながら、パブリックに直接仮想インターフェイスを作成できます。
+ [Amazon Relational Database Service](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) は、 で Oracle リレーショナルデータベースをセットアップ、運用、スケーリングするのに役立ちます AWS クラウド。

**その他のツール**
+ [Oracle Data Pump](https://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm) を使用すると、データやメタデータをあるデータベースから別のデータベースに高速で移動できます。
+ [Oracle インスタントクライアント](https://www.oracle.com/database/technologies/instant-client.html)や [SQL Developer](https://www.oracle.com/database/sqldeveloper/) などのクライアントツールを使用して、データベースに接続して SQL クエリを実行します。

## ベストプラクティス
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-by-using-direct-oracle-data-pump-import-over-a-database-link-best-practices"></a>

はオンプレミスネットワークと 間の専用プライベートネットワーク接続 Direct Connect を使用しますが AWS、転送中のデータのセキュリティとデータ暗号化を強化するには、次のオプションを検討してください。
+ [を使用する仮想プライベートネットワーク (VPN) AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)、またはオンプレミスネットワークから AWS ネットワークへの IPsec VPN 接続
+ オンプレミスの Oracle データベースに構成された [Oracle Database Native Network Encryption](https://docs.oracle.com/en/database/oracle/oracle-database/18/dbseg/configuring-network-data-encryption-and-integrity.html#GUID-50817699-B199-49CA-8779-137EBC4B0564)
+ [TLS](https://docs.oracle.com/database/121/DBSEG/asossl.htm#DBSEG070) を使用した暗号化

## エピック
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-by-using-direct-oracle-data-pump-import-over-a-database-link-epics"></a>

### オンプレミスのソース Oracle データベースを準備する
<a name="prepare-the-on-premises-source-oracle-database"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| 移行先のデータベースから移行元のデータベースへのネットワーク接続を設定します。 | ターゲット Amazon RDS インスタンスからオンプレミスのソース Oracle データベースへの受信接続を許可するように、オンプレミスネットワークとファイアウォールを設定します。 | ネットワーク管理者、セキュリティエンジニア | 
| 適切な権限を持つデータベースユーザーを作成します。 | オンプレミスのソース Oracle データベースに、Oracle Data Pump を使用してソースとターゲットの間でデータを移行する権限を持つデータベースユーザーを作成します。<pre>GRANT CONNECT to <migration_user>;<br />GRANT DATAPUMP_EXP_FULL_DATABASE to <migration_user>;<br />GRANT SELECT ANY TABLE to <migration_user>;</pre> | DBA | 
| CDC AWS DMS 移行用にオンプレミスのソースデータベースを準備します。 | (オプション) Oracle Data Pump Full Load の完了後に、CDC AWS DMS 移行用のオンプレミスソース Oracle データベースを準備します。[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-by-using-direct-oracle-data-pump-import-over-a-database-link.html) | DBA | 
| SQL Developer をインストールして設定します。 | [SQL Developer](https://www.oracle.com/database/sqldeveloper/) をインストールしてソースデータベースとターゲットデータベースに接続し、SQL クエリを実行するように設定します。 | DBA、移行エンジニア | 
| テーブルスペースを作成するスクリプトを生成します。 | 次の SQL クエリの例を使用して、ソースデータベースにスクリプトを生成します。<pre>SELECT <br />     'CREATE TABLESPACE '   tablespace_name    ' DATAFILE SIZE 1G AUTOEXTEND ON MAXSIZE UNLIMITED;' <br />     from dba_tablespaces <br />     where tablespace_name not in ('SYSTEM', 'SYSAUX','TEMP','UNDOTBS1') <br />     order by 1;</pre><br />スクリプトはターゲットデータベースに適用されます。 | DBA | 
| ユーザー、プロファイル、ロール、権限を作成するためのスクリプトを生成します。 | データベースユーザー、プロファイル、ロール、権限を作成するスクリプトを生成するには、OracleSupport 文書「[How to Extract DDL for User including Privileges and Roles Using dbms\_metadata.get\_ddl (Doc ID 2739952.1)](https://support.oracle.com/epmos/faces/DocumentDisplay?id=2739952.1)」(Oracle アカウントが必要) にあるスクリプトを使用します。<br />スクリプトはターゲットデータベースに適用されます。 | DBA | 

### ターゲットの Amazon RDS for Oracle インスタンスを準備します。
<a name="prepare-the-target-rdslongora-instance"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| ソースデータベースへのデータベースリンクを作成し、接続を確認します。 | オンプレミスのソースデータベースへのデータベースリンクを作成するには、次のコマンド例を使用できます。<pre>CREATE DATABASE LINK link2src<br />  CONNECT TO <migration_user_account> IDENTIFIED BY <password><br />  USING '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<dns or ip address of remote db>)<br />         (PORT=<listener port>))(CONNECT_DATA=(SID=<remote SID>)))';</pre><br />接続を確認するには、次の SQL コマンドを実行します。<pre>select * from dual@link2src;</pre><br />応答が `X` であれば、接続は成功です。 | DBA | 
| スクリプトを実行してターゲットインスタンスを準備します。 | 以前に生成されたスクリプトを実行して、ターゲットの Amazon RDS for Oracle インスタンスを準備します。[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-by-using-direct-oracle-data-pump-import-over-a-database-link.html)<br />これにより、Oracle Data Pump の移行時にスキーマとそのオブジェクトを確実に作成できるようになります。 | DBA、移行エンジニア | 

### データベースリンクを介して Oracle Data Pump Import を使用して、全負荷移行を実行します。
<a name="perform-a-full-load-migration-by-using-oracle-data-pump-import-over-a-database-link"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| 必要なスキーマを移行します。 | 必要なスキーマをソースのオンプレミスデータベースからターゲット Amazon RDS インスタンスに移行するには、「[追加情報](#migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-by-using-direct-oracle-data-pump-import-over-a-database-link-additional)」セクションのコードを使用してください。[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-by-using-direct-oracle-data-pump-import-over-a-database-link.html)<br />移行のパフォーマンスを調整するには、次のコマンドを実行することで、並列プロセスの数を調整できます。<pre>DBMS_DATAPUMP.SET_PARALLEL (handle => v_hdnl, degree => 4);</pre> | DBA | 
| スキーマ統計を収集してパフォーマンスを向上させます。 | 「スキーマ統計の収集」コマンドは、データベースオブジェクトに関して収集された Oracle クエリオプティマイザー統計を返します。この情報を使用して、オプティマイザーはこれらのオブジェクトに対するあらゆるクエリに最適な実行プランを選択できます。<pre>EXECUTE DBMS_STATS.GATHER_SCHEMA_STATS(ownname => '<schema_name>');</pre> | DBA | 

### Oracle Data Pump と を使用してフルロード移行と CDC レプリケーションを実行する AWS DMS
<a name="perform-a-full-load-migration-and-cdc-replication-by-using-oracle-data-pump-and-dms"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| ソースオンプレミスの Oracle データベースで SCN を取得します。 | オンプレミスの Oracle データベースの[システム変更番号 (SCN)](https://docs.oracle.com/cd/E11882_01/server.112/e40540/transact.htm) を取得します。SCN は全ロードインポートに使用し、CDC レプリケーションの開始点としても使用します。<br />ソースデータベースで現在の SCN を生成するには、次の SQL ステートメントを実行します。<pre>SELECT current_scn FROM V$DATABASE;</pre> | DBA | 
| スキーマのフルロード移行を実行します。 | 必要なスキーマ (`FULL LOAD`) をソースのオンプレミスデータベースからターゲット Amazon RDS インスタンスに移行するには、以下を実行します。[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-by-using-direct-oracle-data-pump-import-over-a-database-link.html)<br />コード内で、ソースデータベースから取得した SCN で `<CURRENT_SCN_VALUE_IN_SOURCE_DATABASE>` を置き換えます。<pre>    DBMS_DATAPUMP.SET_PARAMETER (handle => v_hdnl, name => 'FLASHBACK_SCN', value => <CURRENT_SCN_VALUE_IN_SOURCE_DATABASE>);</pre><br />移行のパフォーマンスを調整するには、並列プロセスの数を調整できます。<pre>DBMS_DATAPUMP.SET_PARALLEL (handle => v_hdnl, degree => 4);</pre> | DBA | 
| 移行したスキーマのトリガーを無効にします。 |  AWS DMS CDC 専用タスクを開始する前に、移行されたスキーマ`TRIGGERS`で を無効にします。 | DBA | 
| スキーマ統計を収集してパフォーマンスを向上させます。 | 「スキーマ統計の収集」コマンドは、データベースオブジェクトに関して収集された Oracle クエリオプティマイザー統計を返します。<pre>EXECUTE DBMS_STATS.GATHER_SCHEMA_STATS(ownname => '<schema_name>');</pre><br />この情報を使用して、オプティマイザーはこれらのオブジェクトに対するあらゆるクエリに最適な実行プランを選択できます。 | DBA | 
| を使用して AWS DMS 、ソースからターゲットへの継続的なレプリケーションを実行します。 | を使用して AWS DMS 、ソース Oracle データベースからターゲット Amazon RDS for Oracle インスタンスへの継続的なレプリケーションを実行します。<br />詳細については、「[Creating tasks for ongoing replication using AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html)」およびブログ記事「[How to work with native CDC support in AWS DMS](https://aws.amazon.com/blogs/database/aws-dms-now-supports-native-cdc-support/)」を参照してください。 | DBA、移行エンジニア | 

### Amazon RDS for Oracle へのカットオーバー
<a name="cut-over-to-rdslongora"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| カットオーバーの 48 時間前にインスタンスでマルチ AZ を有効にします。 | 本番インスタンスの場合は、Amazon RDS インスタンスで[マルチ AZ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html) 配置を有効にして、高可用性 (HA) とディザスタリカバリ (DR) のメリットを活用することをお勧めします。 | DBA、移行エンジニア | 
| CDC AWS DMS 専用タスクを停止します (CDC が有効になっている場合）。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-by-using-direct-oracle-data-pump-import-over-a-database-link.html) | DBA | 
| トリガーを有効にします。 | CDC タスクが作成される前に無効にした `TRIGGERS` を有効にします。 | DBA | 

## 関連リソース
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-by-using-direct-oracle-data-pump-import-over-a-database-link-resources"></a>

**AWS**
+ [を使用した CDC 用の Oracle セルフマネージド型ソースデータベースの準備 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Self-Managed.Configuration)
+ [を使用した継続的なレプリケーション用のタスクの作成 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html)
+ [高可用性を重視したマルチ AZ 配置](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html)
+ [How to work with native CDC support in AWS DMS](https://aws.amazon.com/blogs/database/aws-dms-now-supports-native-cdc-support/) (ブログ記事)

**Oracle のドキュメント**
+ [DBMS\_DATAPUMP](https://docs.oracle.com/database/121/ARPLS/d_datpmp.htm)

## 追加情報
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-by-using-direct-oracle-data-pump-import-over-a-database-link-additional"></a>

*コード 1: フルロード移行のみ、単一アプリケーションスキーマ*

```
DECLARE  
    v_hdnl NUMBER;
BEGIN  
    v_hdnl := DBMS_DATAPUMP.OPEN(operation => 'IMPORT', job_mode  => 'SCHEMA', remote_link => '<DB LINK Name to Source Database>', job_name  => null);  
    DBMS_DATAPUMP.ADD_FILE( handle => v_hdnl, filename  => 'import_01.log',  directory => 'DATA_PUMP_DIR', filetype  => dbms_datapump.ku$_file_type_log_file);  
    DBMS_DATAPUMP.METADATA_FILTER(v_hdnl,'SCHEMA_EXPR','IN (''<schema_name>'')');  -- To migrate one selected schema
    DBMS_DATAPUMP.METADATA_FILTER (hdnl, 'EXCLUDE_PATH_EXPR','IN (''STATISTICS'')'); -- To prevent gathering Statistics during the import
    DBMS_DATAPUMP.SET_PARALLEL (handle => v_hdnl, degree => 4);  -- Number of parallel processes performing export and import
    DBMS_DATAPUMP.START_JOB(v_hdnl);
END;
/
```

*コード 2: フルロード移行のみ、複数のアプリケーションスキーマ*

```
DECLARE 
    v_hdnl NUMBER;
BEGIN  
    v_hdnl := DBMS_DATAPUMP.OPEN(operation => 'IMPORT', job_mode  => 'SCHEMA', remote_link => '<DB LINK Name to Source Database>', job_name  => null);  
    DBMS_DATAPUMP.ADD_FILE( handle => v_hdnl, filename  => 'import_01.log',  directory => 'DATA_PUMP_DIR', filetype  => dbms_datapump.ku$_file_type_log_file);  
    DBMS_DATAPUMP.METADATA_FILTER (v_hdnl, 'SCHEMA_LIST', '''<SCHEMA_1>'',''<SCHEMA_2>'', ''<SCHEMA_3>'''); -- To migrate multiple schemas
    DBMS_DATAPUMP.METADATA_FILTER (v_hdnl, 'EXCLUDE_PATH_EXPR','IN (''STATISTICS'')'); -- To prevent gathering Statistics during the import
    DBMS_DATAPUMP.SET_PARALLEL (handle => v_hdnl, degree => 4);  -- Number of parallel processes performing export and import
    DBMS_DATAPUMP.START_JOB(v_hdnl);
END;
/
```

*コード 3: CDC 専用タスクの前のフルロード移行、単一アプリケーションスキーマ*

```
DECLARE  
    v_hdnl NUMBER;
BEGIN  
    v_hdnl := DBMS_DATAPUMP.OPEN(operation => 'IMPORT', job_mode  => 'SCHEMA', remote_link => '<DB LINK Name to Source Database>', job_name  => null);  
    DBMS_DATAPUMP.ADD_FILE( handle => v_hdnl, filename  => 'import_01.log',  directory => 'DATA_PUMP_DIR', filetype  => dbms_datapump.ku$_file_type_log_file);  
    DBMS_DATAPUMP.METADATA_FILTER(v_hdnl,'SCHEMA_EXPR','IN (''<schema_name>'')');  -- To migrate one selected schema
    DBMS_DATAPUMP.METADATA_FILTER (v_hdnl, 'EXCLUDE_PATH_EXPR','IN (''STATISTICS'')'); -- To prevent gathering Statistics during the import
    DBMS_DATAPUMP.SET_PARAMETER (handle => v_hdnl, name => 'FLASHBACK_SCN', value => <CURRENT_SCN_VALUE_IN_SOURCE_DATABASE>); -- SCN required for AWS DMS CDC only task.
    DBMS_DATAPUMP.SET_PARALLEL (handle => v_hdnl, degree => 4);  -- Number of parallel processes performing export and import
    DBMS_DATAPUMP.START_JOB(v_hdnl);
END;
/
```

*コード 4: CDC 専用タスクの前のフルロード移行、複数のアプリケーションスキーマ*

```
DECLARE  
    v_hdnl NUMBER;
BEGIN  
    v_hdnl := DBMS_DATAPUMP.OPEN (operation => 'IMPORT', job_mode  => 'SCHEMA', remote_link => '<DB LINK Name to Source Database>', job_name  => null);  
    DBMS_DATAPUMP.ADD_FILE (handle => v_hdnl, filename  => 'import_01.log',  directory => 'DATA_PUMP_DIR', filetype  => dbms_datapump.ku$_file_type_log_file);  
    DBMS_DATAPUMP.METADATA_FILTER (v_hdnl, 'SCHEMA_LIST', '''<SCHEMA_1>'',''<SCHEMA_2>'', ''<SCHEMA_3>'''); -- To migrate multiple schemas
    DBMS_DATAPUMP.METADATA_FILTER (v_hdnl, 'EXCLUDE_PATH_EXPR','IN (''STATISTICS'')'); -- To prevent gathering Statistics during the import
    DBMS_DATAPUMP.SET_PARAMETER (handle => v_hdnl, name => 'FLASHBACK_SCN', value => <CURRENT_SCN_VALUE_IN_SOURCE_DATABASE>); -- SCN required for AWS DMS CDC only task.
    DBMS_DATAPUMP.SET_PARALLEL (handle => v_hdnl, degree => 4);  -- Number of parallel processes performing export and import
    DBMS_DATAPUMP.START_JOB(v_hdnl);
END;
/
```

*混合移行アプローチの方がうまくいくシナリオ*

ソースデータベースに数百万行のテーブルがあり、LOBSEGMEGT 列のサイズが非常に大きいというまれなシナリオでは、このパターンによって移行が遅くなります。Oracle では、ネットワークリンクを介して LOBSEGMENT を 1 つずつ移行します。ソーステーブルから (LOB カラムのデータとともに) 1 つの行を抽出し、その行をターゲットテーブルに挿入し、すべての行が移行されるまでこのプロセスを繰り返します。データベースリンクを介した Oracle Data Pump は、LOBSEGMENT の一括ロードまたはダイレクトパスロードのメカニズムをサポートしていません。

この状況では、次のことをお勧めします。
+ Oracle Data Pump の移行中は、次のメタデータフィルターを追加して、特定されたテーブルをスキップしてください。

  ```
  dbms_datapump.metadata_filter(handle =>h1, name=>'NAME_EXPR', value => 'NOT IN (''TABLE_1'',''TABLE_2'')');
  ```
+  AWS DMS タスク (フルロード移行、必要に応じて CDC レプリケーション) を使用して、識別されたテーブルを移行します。 AWS DMS はソース Oracle データベースから複数の行を抽出し、ターゲットの Amazon RDS インスタンスにバッチで挿入するため、パフォーマンスが向上します。