データベース取り込みとレプリケーション > データベース取り込みとレプリケーションソース - 準備と使用方法 > DB2 for iソース
  

DB2 for iソース

データベース取り込みとレプリケーションタスクでDb2 for iソースを使用するには、最初にソースデータベースを準備し、使用に関する考慮事項を確認してください。

ソースの準備:

使用に関する考慮事項:

Db2 for iソースの変更キャプチャメカニズム

データベース取り込みとレプリケーションは、IBM i上のDb2ソースから変更データをキャプチャしてそのデータをターゲットに適用するための、単一の変更キャプチャメカニズムとアーキテクチャを提供します。
Secure Agentは、IBM iソースシステムとは別に、LinuxまたはWindowsボックスで実行する必要があります。IBM iシステムとSecure Agentボックス間のネットワーク帯域幅は堅牢でなければなりません。Informaticaでは、数百ギガビットまたは1ギガバイト以上のログデータを処理できるネットワーク転送速度を推奨しています。Db2がCDC対象のログデータを生成する速度以上の速度でログデータをSecure Agentに配信できるほどのネットワーク転送速度ではない場合、データベース取り込みジョブはタイムリーにデータをターゲットに提供できません。データスループットがSLAを満たしていない場合は、ハードウェアを変更して、IBM iシステムとSecure Agentボックス間のイーサネット帯域幅を増やすことを検討してください。
次の図は、Db2 for i変更キャプチャコンポーネントとデータフローを示しています。
  1. 1Secure Agent配下のDBMI Agentサービスで実行されるログコレクターは、Db2 for iのジャーナルされたデータに対するDb2 DISPLAY LOGコマンドに要求を送信します。
  2. 各要求には、開始RBAと、データベースの取り込み用のCDC対象のテーブルのリストが含まれます。
  3. 2このコマンドは、Db2ジャーナルおよびジャーナルレシーバーからソーステーブルのデータを要求します。
  4. 3このコマンドは、データを含むジャーナルエントリをUOW(Unit Of Work)マネージャに返します。
  5. 4UOWマネージャは、コミットされたトランザクション順にジャーナル処理済みデータをログパーサーに送信します。
  6. 5ログパーサーは、コミットされたトランザクションからのDML変更を解析します。CDCライターにデータを送信する前に、ログパーサーはデータをDb2ジャーナルデータの標準的な形式に変換します。この形式は、DBMI Agentタスクによって消費でき、ターゲットに適用できます。
  7. 注:
    このリソース集約型のアクティビティはSecure Agentボックスで発生するため、IBM iシステムのCPU消費は最小限に抑えられます。
  8. 6CDCライターが、フォーマットされたデータをターゲットに適用します。

データベース取り込みおよびレプリケーションのジャーナルレシーバ出口

データベース取り込みおよびレプリケーションは、変更データキャプチャ処理に使用されているDb2 for iジャーナルレシーバが削除されるのを防ぐための出口プログラムを提供しています。ジャーナルレシーバ出口を使用して、CDC中のジャーナルレシーバの削除に関連して発生する可能性があるエラーを防止します。
出口プログラムは、ジャーナルレシーバがデータベース取り込みおよびレプリケーションの増分ロードジョブまたは組み合わせロードジョブによって読み取られている間、ジャーナルレシーバをロックします。CDC処理中に出口プログラムがジャーナルレシーバのロックレコードを検出した場合、出口プログラムは、システムによってジャーナルレシーバが削除されないように防ぐ応答を返します。
データベース取り込みおよびレプリケーションジョブがチェーン上の次のジャーナルレシーバに切り替わると、データベース取り込みおよびレプリケーションは、最後に読み取られたジャーナルレシーバのロックレコードを削除し、次に読み取られるジャーナルレシーバのロックレコードを追加します。システムは、現在ロックされているレシーバの後に作成されたジャーナルレシーバは削除しません。
ジャーナルレシーバー出口の制御情報は、ソースシステム上のDb2 for iテーブルに格納されます。以下のカラムがテーブルに含まれています。
JOURNAL_RECEIVER_LIBRARYエントリとJOURNAL_RECEIVER_NAMEエントリの各組み合わせによって、変更データキャプチャ中に削除できないようにロックされるジャーナルレシーバインスタンスが識別されます。
ジャーナルレシーバ出口を使用するには、次の手順を実行します。
  1. 1ジャーナルレシーバ出口をインストールします。インストールプロセスによって、ジャーナルレシーバー削除出口プログラムがQIBM_QJO_DLT_JRNRCV出口ポイントに登録されます。詳細については、「データベース取り込みおよびレプリケーションのジャーナルレシーバ出口のインストール」を参照してください。
  2. 2Db2 for i CDCソースを持つ各タスクに対して、タスクウィザードの[ソース]ページで、次のカスタムプロパティを指定します。
  3. カスタムプロパティ
    説明
    pwx.cdcreader.iseries.option.useJournalReceiverExit
    このプロパティをtrueに設定すると、タスクからデプロイされたジョブインスタンスに対してジャーナルレシーバ出口を使用できるようになります。
    pwx.cdcreader.iseries.option.JournalReceiverExitJobToken
    pwx.cdcreader.iseries.option.useJournalReceiverExitがtrueに設定されている場合は、データベース取り込みおよびレプリケーションジョブのインスタンスごとに一意で最大256文字の長さのトークン文字列を指定する必要があります。
    トークン文字列がすべてのジョブインスタンスの間で一意でない場合、特に複数のジョブが同じジャーナルレシーバにアクセスしていると、予測不能な結果が生じる可能性があります。
    また、ジョブの再開操作または再デプロイ操作後もトークン値が変わらないことを確認してください。
    pwx.cdcreader.iseries.option.useJournalReceiverQueries
    このプロパティをtrueに設定すると、データベース取り込みおよびレプリケーションはDb2マシンのメンテナンスレベルを確認して、ジャーナルレシーバクエリを実行できるかどうかを判別できるようになります。

ジョブのデプロイ解除または停止時のジャーナルロックの削除

ロック状態のジャーナルでジョブをもう実行しない場合は、ジャーナルロックを削除することができます。または、ジャーナルレシーバのリストに対してメンテナンスを実行する必要がある場合やその他の理由で、ジャーナルロックを削除することもできます。
ジャーナルロックを削除するには、以下のフォーマットを使用するSQLを実行します。
DELETE FROM INFORMATICA_DBMI_EXITS_VERSION_01.JOURNAL_RECEIVER_LOCK_INFORMATION
WHERE DBMI_MAPPING_NAME="<unique_token_identifier_specified_by_pwx.cdcreader.iseries.option.JournalReceiverExitJobToken>"
ここで、unique_token_identifier_specified_by_pwx.cdcreader.iseries.option.JournalReceiverExitJobTokenは、ソース定義カスタムパラメータpwx.cdcreader.iseries.option.JournalReceiverExitJobTokenに使用される値です。
注:
ロックを削除すると、ジャーナルが削除されることがあります。この状況が発生した場合は、DBMIジョブを再マテリアライズして続行する必要があります。

データベース取り込みおよびレプリケーションのジャーナルレシーバ出口のインストール

データ取り込みおよびレプリケーションのジャーナルレシーバ出口を使用して、Db2 for iジャーナルレシーバが変更データキャプチャで使用されている間に削除されるのを防ぎます。ジャーナルレシーバ出口を手動でインストールするには、次の手順を実行します。
  1. 1V01_Exit_Installファイルをコンピュータのローカルフォルダに解凍します。インストールファイルの詳細については、「knowledge article」を参照してください。
  2. 2SQL_1.txtファイル内のSQL文を実行して、システムにインストール用の十分なスペースがあるかどうかを確認します。戻り値1は、システムに十分なスペースがあることを意味します。
  3. 3SQL_2.txtファイル内のSQL文を実行して、スキーマと、ジャーナルレシーバ出口ポイント処理用のデフォルトのジャーナルおよびジャーナルレシーバを作成します。
  4. 4FTP_3.txtファイル内のFTPコマンドを実行して、ジャーナルレシーバ出口をインストールします。
  5. 注:
    FTPを開始する前に、ジャーナルレシーバ出口プログラムが含まれているIBMi_SaveFile_V01.savfファイルがあるディレクトリに移動します。
  6. 5SQL_4.txtファイル内のSQL文を実行して、出口ポイントをIBM iシステムに追加します。
  7. 注:
    SQLを実行する前に、<userId>をシステムの有効なユーザーIDに置き換えてください。
  8. 6SQL_5.txtファイル内のSQL文を使用して、ジャーナルレシーバが削除されないようにロックするために使用するDb2オブジェクトを作成します。