翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
のソースとしての IBM Db2 for Linux、Unix、Windows、Amazon RDS データベース (Db2 LUW) の使用 AWS DMS
AWS Database Migration Service () を使用して、IBM Db2 for Linux、Unix、Windows、Amazon RDS (Db2 LUW) データベースからサポートされている任意のターゲットデータベースにデータを移行できますAWS DMS。
がソースとして AWS DMS サポートする Linux、Unix、Windows、および RDS の Db2 のバージョンについては、「」を参照してくださいのソース AWS DMS。
Secure Sockets Layer (SSL) を使用して、Db2 LUW エンドポイントとレプリケーションインスタンスとの接続を暗号化できます。Db2 LUW エンドポイントで SSL を使用する方法の詳細については、「での SSL の使用 AWS Database Migration Service」をご参照ください。
のソースとして Db2 LUW を使用する場合の前提条件 AWS DMS
Db2 LUW データベースをソースとして使用する前に、次の前提条件が必要です。
変更データキャプチャ (CDC) とも呼ばれる継続的なレプリケーションを有効にするには、次を実行します。
-
データベースを復旧可能に設定すると、 は変更をキャプチャ AWS DMS する必要があります。データベース設定パラメータの
LOGARCHMETH1
とLOGARCHMETH2
のどちらかまたは両方がON
に設定されている場合、データベースは復元可能です。データベースが復旧可能な場合、 AWS DMS は
ARCHIVE LOG
必要に応じて Db2 にアクセスできます。 -
DB2 トランザクションログが使用可能であり、処理に十分な保持期間があることを確認します AWS DMS。
-
DB2 ではトランザクションログレコードを抽出するのに
SYSADM
認証またはDBADM
認証が必要です。ユーザーアカウントに次のアクセス権限を付与します。SYSADM
、またはDBADM
DATAACCESS
注記
フルロードのみのタスクの場合、DMS ユーザーアカウントには DATAACCESS アクセス権限が必要です。
-
ソースとして IBM DB2 for LUW バージョン 9.7 を使用する場合は、追加接続属性 (ECA) を設定し、以下のように
CurrentLSN
に設定します:CurrentLSN=
、ここにLSN
は、レプリケーションをスタートするログ シーケンス番号 (LSN) を指定します。または、LSN
CurrentLSN=
。scan
-
Amazon RDS for Db2 LUW をソースとして使用する場合は、アーカイブログが使用可能であることを確認します AWS DMS。マネージド AWS Db2 データベースは、アーカイブログをできるだけ早く消去するため、ログが利用可能なままである時間を増やす必要があります。例えば、ログ保持を 24 時間に伸ばすには、次のコマンドを実行します。
db2 "call rdsadmin.set_archive_log_retention( ?, 'TESTDB', '24')"
Amazon RDS for Db2 LUW プロシージャの詳細については、「Amazon Relational Database Service ユーザーガイド」の「Amazon RDS for Db2 ストアドプロシージャリファレンス」を参照してください。
のソースとして Db2 LUW を使用する場合の制限 AWS DMS
AWS DMS は、クラスター化されたデータベースをサポートしていません。ただし、クラスターの各エンドポイントに個別の Db2 LUW を定義することができます。例えば、クラスター内のいずれかのノードでフルロードの移行タスクを作成して、各ノードから個別のタスクを作成できます。
AWS DMS は、ソース Db2 LUW データベースBOOLEAN
のデータ型をサポートしていません。
継続的なレプリケーション (CDC) を使用する場合は、次の制限が適用されます。
-
複数のパーティションを持つテーブルが切り捨てられると、 AWS DMS コンソールに表示される DDL イベントの数はパーティションの数と等しくなります。これは、Db2 LUW がパーティションごとに個別の DDL を記録するためです。
-
次の DDL アクションは、分割されたテーブルではサポート外です。
-
ALTER TABLE ADD PARTITION
-
ALTER TABLE DETACH PARTITION
-
ALTER TABLE ATTACH PARTITION
-
-
AWS DMS は、DB2 高可用性ディザスタリカバリ (HADR) スタンバイインスタンスからの継続的なレプリケーション移行をサポートしていません。スタンバイはアクセスできません。
-
DECFLOAT データ型はサポート外です。したがって、DECFLOAT 列への変更は、継続的なレプリケーション中は無視されます。
-
RENAME COLUMN ステートメントはサポート外です。
-
多次元クラスタリング (MDC) テーブルの更新を実行すると、各更新は INSERT + DELETE として AWS DMS コンソールに表示されます。
-
タスクの設定 [レプリケーションに LOB 列を含める] が有効でない場合、LOB 列を持つテーブルは、継続的なレプリケーション中に中断されます。
-
Db2 LUW バージョン 10.5 以上の場合: 行外に格納されたデータを含む可変長文字列は無視されます。この制限は、VARCHAR や VARGRAPHIC などのデータ型を持つ列の拡張行サイズを使用して作成されたテーブルにのみ適用されます。この制限を回避するには、テーブルをページサイズの大きいテーブルスペースに移動します。詳細については、「What can I do if I want to change the pagesize of DB2 tablespaces
」を参照してください。 -
継続的レプリケーションの場合、DMS は DB2 LOAD ユーティリティによってページレベルでロードされたデータの移行をサポートしていません。代わりに、SQL 挿入を使用する IMPORT ユーティリティを使用します。詳細については、「インポートユーティリティとロードユーティリティの違い
」をご参照ください。 -
レプリケーションタスクの実行中、DMS が CREATE TABLE DDL をキャプチャするのは、テーブルが DATA CAPTURE CHANGE 属性で作成された場合のみです。
-
Db2 データベースパーティション機能 (DPF) を使用する場合、DMS には次の制限があります。
DMS は、DPF 環境内の Db2 ノード間でトランザクションを調整できません。これは、IBM DB2READLOG API インターフェイス内の制約によるものです。DPF では、DB2 のデータのパーティション化の方法に応じて、トランザクションが複数の Db2 ノードにまたがる場合があります。その結果、DMS ソリューションは各 Db2 ノードからトランザクションを個別にキャプチャする必要があります。
DMS は、複数の DMS ソースエンドポイントで
connectNode
を1
に設定することで、DPF クラスターの各 Db2 ノードからローカルトランザクションをキャプチャできます。この設定は、DB2 サーバー設定ファイルdb2nodes.cfg
で定義されている論理ノード番号に対応します。個々の Db2 ノードのローカルトランザクションは、大規模なグローバルトランザクションの一部である場合があります。DMS は、他の Db2 ノードのトランザクションと調整することなく、各ローカルトランザクションを個別にターゲットに適用します。この独立した処理は、特にパーティション間で行を移動する場合に複雑になる可能性があります。
DMS が複数の Db2 ノードからレプリケートする場合、DMS は各 Db2 ノードに独立してオペレーションを適用するため、ターゲットにおいて正しいオペレーション順序は保証されません。各 Db2 ノードから独立してローカルトランザクションをキャプチャすることが、特定のユースケースで機能することを確認する必要があります。
DPF 環境から移行する場合は、まずキャッシュされたイベントなしでフルロードタスクを実行し、次に CDC のみのタスクを実行することをお勧めします。
StartFromContext
エンドポイント設定を使用して設定したフルロード開始タイムスタンプ、または LRI (ログレコード識別子) から、Db2 ノードごとに 1 つのタスクを実行することをお勧めします。レプリケーション開始点の決定については、「IBM Support documentation」の「Finding the LSN or LRI value for replication start」を参照してください。
-
継続的なレプリケーション (CDC) で、特定のタイムスタンプからレプリケーションを開始する場合は、
StartFromContext
接続属性を必要なタイムスタンプに設定する必要があります。 -
データベースソリューションのスケーリングに使用できる DB2 LUW の拡張機能である Db2 PureScale 機能は、DMS では現時点ではサポートしていません。
-
DATA CAPTURE CHANGES
テーブルオプションは、DB2 データレプリケーションプロセスの重要な前提条件です。テーブルの作成時にこのオプションを有効にしないと、特に CDC (変更データキャプチャ) のみのレプリケーションタスクでは、データが欠落する可能性があります。 AWS DMS は、CDC または FULL+CDC タスクを再起動するときに、デフォルトでこの属性を有効にします。ただし、タスクの再起動前にソースデータベースで行われた変更は失われる可能性があります。ALTER TABLE TABLE_SCHEMA.TABLE_NAME DATA CAPTURE CHANGES INCLUDE LONGVAR COLUMNS;
のソースとして Db2 LUW を使用する場合のエンドポイント設定 AWS DMS
追加の接続属性の使用と同様、エンドポイントの設定を使用して、ソースの Db2 LUW データベースを設定できます。 AWS DMS コンソールを使用するか、--ibm-db2-settings '{"
JSON 構文で の EndpointSetting"
: "value"
, ...
}'create-endpoint
コマンドを使用してAWS CLI、ソースエンドポイントを作成するときに設定を指定します。
次の表は、ソースとして Db2 LUW を使用できるエンドポイント設定を説明しています。
名前 | 説明 |
---|---|
|
継続的なレプリケーション (CDC) では、 |
|
読み取りあたりの最大バイト数。NUMBER 値です。デフォルトは 64 KB です。 |
|
継続的なレプリケーション (CDC) を BOOLEAN 値として有効にします。デフォルトは true です。 |
|
継続的レプリケーション (CDC) の場合は、
ログファイルの LRI/LSN 範囲を特定するには、次の例に示すように
この例の出力は次のようになります。
その出力では、ログファイルは S0000002.LOG であり、StartFromContext LRI 値は、範囲の末尾にある 34 バイトです。
|
|
DB2 LUW エンドポイントのステートメント (クエリ) タイムアウトを秒単位で設定する追加の接続属性。デフォルト値は 60 秒です。ECA の例: |
IBM Db2 LUW のソースデータ型
のソースとして Db2 LUW を使用するデータ移行は、ほとんどの Db2 LUW データ型 AWS DMS をサポートします。次の表は、 の使用時にサポートされる Db2 LUW ソースデータ型 AWS DMS と AWS DMS 、データ型からのデフォルトのマッピングを示しています。Db2 LUW データ型の詳細については、「Db2 LUW のドキュメント
ターゲットにマッピングされるデータ型を表示する方法については、使用しているターゲットエンドポイントのセクションをご参照ください。
AWS DMS データ型の詳細については、「」を参照してくださいAWS Database Migration Service のデータ型。
Db2 LUW データ型 |
AWS DMS データ型 |
---|---|
INTEGER |
INT4 |
SMALLINT |
INT2 |
BIGINT |
INT8 |
DECIMAL (p,s) |
NUMERIC (p,s) |
FLOAT |
REAL8 |
DOUBLE |
REAL8 |
REAL |
REAL4 |
DECFLOAT (p) |
精度が 16 の場合は REAL8 で、精度が 34 の場合は STRING |
GRAPHIC (n) |
WSTRING、長さが 0 より大きく 127 以下の 2 バイト文字の固定長グラフィック文字列用 |
VARGRAPHIC (n) |
WSTRING、長さが 0 より大きく 16,352 以下の 2 バイト文字の可変長グラフィック文字列用 |
LONG VARGRAPHIC (n) |
CLOB、長さが 0 より大きく 16,352 以下の 2 バイト文字の可変長グラフィック文字列用 |
CHARACTER (n) |
STRING、長さが 0 より大きく 255 以下の 2 バイト文字の固定長文字列用 |
VARCHAR(n) |
STRING、長さが 0 より大きく 32,704 以下の 2 バイト文字の可変長文字列用 |
LONG VARCHAR (n) |
CLOB、長さが 0 より大きく 32,704 以下の 2 バイト文字の可変長文字列用 |
CHAR (n) FOR BIT DATA |
BYTES |
VARCHAR (n) FOR BIT DATA |
BYTES |
LONG VARCHAR FOR BIT DATA |
BYTES |
DATE |
DATE |
TIME |
TIME |
タイムスタンプ |
DATETIME |
BLOB (n) |
BLOB 最大長は 2,147,483,647 バイト |
CLOB (n) |
CLOB 最大長は 2,147,483,647 バイト |
DBCLOB (n) |
CLOB 最大サイズは 1,073,741,824 の 2 バイト文字 |
XML |
CLOB |