データベース取り込みとレプリケーションタスクでDb2 for z/OSソースを使用するには、最初にソースデータベースを準備し、使用に関する考慮事項を確認してください。
ソースの準備:
•Db2 for z/OSソースを使用したデータベース取り込みとレプリケーションの増分ロードジョブは、ストアドプロシージャを使用してDb2 Instrumentation Facility Interface(IFI)を呼び出し、z/OSソースシステム上のDb2ログから変更データを読み取ります。データベース取り込みとレプリケーションは、ストアドプロシージャライブラリとJCLをDb2 for zOS Database IngestionコネクタパッケージのZIPファイルで提供します。ストアドプロシージャライブラリをAPF許可ライブラリで受け取り、ご使用の環境に合わせてJCLをカスタマイズする必要があります。ストアードプロシージャは、DB2ソースシステムのWorkload Manager(WLM)アドレススペースで実行されます。z/OSシステム要件、ストアドプロシージャのセットアップ、および必要な権限の詳細については、「Db2 for z/OS CDCのストアドプロシージャのインストールと設定」を参照してください。
•データベース取り込みとレプリケーションの増分ロードタスクでDb2ソースを定義するときに、[CDCスクリプト]フィールドで[すべてのカラムのCDCを有効化]オプションを選択する必要があります。データベース取り込みとレプリケーションは、ソーステーブルおよびCDCに使用される特定のDb2カタログテーブルでDb2 DATA CAPTURE CHANGESを有効にするためのスクリプトを生成します。この属性が1つのジョブに設定されると、他のすべてのジョブは、Db2で必要なカタログテーブルに対してその属性が有効になったことを認識します。十分な権限がある場合はユーザーインタフェースからCDCスクリプトを実行するか、SYSDBA権限を持つDB2 DBAにスクリプトの実行を依頼することができます。
•データベース取り込みとレプリケーションユーザーに、データベース取り込みとレプリケーションロードタイプを実行するために必要なDb2 for z/OS特権があることを確認してください。詳細については、DB2 for z/OSの権限を参照してください。
•データベース取り込みとレプリケーションは、Progress DataDirect JDBC IBM DB2ドライバを使用して、Db2 for z/OSソースに接続します。Db2 for z/OSソースを使用したデータベース取り込みとレプリケーションの新しい実装の場合、増分ジョブを最初に実行するユーザーは、JDBC接続を確立するためのSYSADMまたはSYSDBA権限を持っている必要があります。
•初期ロードと増分ロードの両方を実行し、これらのジョブタイプに対して異なるDb2 for z/OS特権を持った異なるユーザーを使用する場合は、次の手順を実行します。
1初期ロードと増分ロード用に個別のDb2 for zOS Database Ingestion接続を作成します。接続プロパティで、接続を使用する初期ロードジョブまたは増分ロードジョブに必要なDb2特権を持つユーザーを指定します。
•CDC処理の場合、データベース取り込みとレプリケーションはDb2 for z/OSソーステーブルスペースでは基本行フォーマット(BRF)をサポートしていません。代わりに、再配列行フォーマット(RRF)を使用してください。テーブルをRRFにするには、Db2 REORGユーティリティまたはUNLOADユーティリティを実行して、後続の再ロードを行います。
•データベース取り込みとレプリケーションでは、次のDb2 for z/OSデータ型はサポートされません。
•複数のエージェントが含まれるSecure Agentグループを使用していて、アクティブなエージェントが予期せずダウンした場合、データベース取り込みとレプリケーションジョブは、Secure Agentグループ内の別の使用可能なエージェントに自動的に切り替えることができます。自動スイッチオーバーは、15分のハートビート間隔が経過した後に行われます。Db2 for z/OSソースを持つデータベース取り込みとレプリケーションジョブの場合、自動スイッチオーバーに次の制限があります。
•Db2 for z/OSアーカイブログを仮想テープシステム(VTS)に保存する場合は、まず、データベース取り込みおよびレプリケーションジョブがアーカイブログデータセットから変更データを抽出するのに十分な期間にわたって、アーカイブログデータセットをディスクに保持してください。アーカイブデータセットが共用可能ディスク上にある場合、複数のデータベース取り込みおよびレプリケーションジョブは、ディスクからの変更データを並行して高速で同時に処理できます。アーカイブデータセットがVTS内にあり、複数のジョブが同じアーカイブを読み取ろうとすると、アーカイブデータセットはDb2内のジョブ接続ごとに割り当てられ、ロックされた後に、ロック解除されます。大量の変更データがある環境でのこの追加の割り当ておよびロックアクティビティによって、Db2で割り当ての競合が発生する可能性があります。
Db2 for z/OS CDCのストアドプロシージャのインストールと設定
増分ロードジョブのDb2 for z/OS CDC処理を実行するために、データベース取り込みとレプリケーションは、z/OSソースシステムで実行されるストアドプロシージャを提供します。ストアドプロシージャは、Db2 Instrumentation Facility Interface(IFI)を呼び出して、Db2ログから変更データを収集します。
z/OSシステム要件
開始する前に、Db2 for z/OSソースシステムが次の要件を満たしていることを確認してください。
•Db2 for z/OS CDCのストアドプロシージャが受信されるライブラリが存在し、z/OSシステムでAPF許可されていることを確認してください。
ストアドプロシージャライブラリをインストールし、JCLをカスタマイズします
クライアントマシンで、次の手順を実行します。
1Db2 for zOS Database Ingestionコネクタが使用可能であることを確認します。
Db2 for zOS Database Ingestionコネクタパッケージには、Db2 for z/OSストアドプロシージャライブラリが含まれています。コネクタがSecure Agent Group(ランタイム環境)に対して有効になっている場合、コネクタパッケージの.zipファイルがインストール場所のダウンロードフォルダにダウンロードされます。パッケージ名の形式はpackage-DB2ZMIです。nnnnn。nnnnnは増分されたパッケージバージョン番号です。複数のパッケージバージョンが存在する場合は、最新のバージョンを使用してください。
//<USERID>I JOB 'LOG INVENTORY',MSGLEVEL=(1,1),MSGCLASS=X, // NOTIFY=&SYSUID,CLASS=A,REGION=0M //* ------------------------------------------------------- //* //* PLEASE CHANGE DSN? TO THE DB2 SUBSYSTEM OF YOUR CHOICE. //* //* THIS JCL MEMBER CAN BE USED TO RUN A LOG INVENTORY //* LIST. DBMI WILL REQUEST THIS IF A DBMI JOB IS TRYING TO //* RETART USING TIME. THE LOG INVERNTORY GIVES DBMI THE //* ABILITY TO CORRELATE RBA/LSRN TO ACTUAL LOG RESTART //* POSITIONS. DBMI PARSES THE SYSPRINT OUTPUT TO GET THE //* REQUIRED INFORMATION. //* //* //* SUBSTITUTION TAGS //* _________________ //* //* SUBSTITUTION TAGS ARE USED TO INSERT DATA INTO THE JOB //* BY DBMI BEFORE IT IS SUBMITTED. YOU MAY COPY THIS JCL //* INTO ANOTHER MEMBER AND MODIFY ITS CONTENTS. SUBSTITUTION //* TAGS MAY ALSO BE REMOVED AND HARD CODED FOR INDIVIDUAL //* JOB NEEDS. //* //* //* <USERID> WILL BE REPLACED WITH THE USER ID. //* //* ------------------------------------------------------- //LOGINV EXEC PGM=DSNJU004 //STEPLIB DD DISP=SHR,DSN=DSN?10.SDSNLOAD // DD DISP=SHR,DSN=DSN?10.DSNC.RUNLIB.LOAD //SYSUT1 DD DISP=SHR,DSN=DSN?.BSDS01 //SYSPRINT DD SYSOUT=* //SYSSUMRY DD SYSOUT=* //
注:
このJCLでは、データベース取り込みとレプリケーションは<USERID>をDb2 for zOS Database Ingestion接続プロパティで指定されたユーザーに置き換えます
GRANT INSERT ON !SCHEMA!.!STRPRC!_RS_TBL to user; GRANT DELETE ON !SCHEMA!.!STRPRC!_RS_TBL to user; GRANT EXECUTE ON PROCEDURE !SCHEMA!.!STRPRC! to user; COMMIT;