目次

Search

  1. はじめに
  2. 一括取り込みデータベース

一括取り込みデータベース

一括取り込みデータベース

Db2 for z/OS CDCのストアドプロシージャのインストールと設定

Db2 for z/OS CDCのストアドプロシージャのインストールと設定

増分ロードジョブのDb2 for z/OS CDC処理を実行するために、一括取り込みデータベースは、z/OSソースシステムで実行されるストアドプロシージャを提供します。ストアドプロシージャは、Db2 Instrumentation Facility Interface(IFI)を呼び出して、Db2ログから変更データを収集します。

z/OSシステム要件

開始する前に、Db2 for z/OSソースシステムが次の要件を満たしていることを確認してください。

ストアドプロシージャライブラリをインストールし、JCLをカスタマイズします

クライアントマシンで、次の手順を実行します。
  1. Db2 for zOS Database Ingestionコネクタが使用可能であることを確認します。
    Db2 for zOS Database Ingestionコネクタパッケージには、Db2 for z/OSストアドプロシージャライブラリが含まれています。コネクタがSecure Agent Group(ランタイム環境)に対して有効になっている場合、コネクタパッケージの.zipファイルがインストール場所のダウンロードフォルダにダウンロードされます。パッケージ名の形式はpackage-DB2ZMIです。
    nnnnn
    nnnnn
    は増分されたパッケージバージョン番号です。複数のパッケージバージョンが存在する場合は、最新のバージョンを使用してください。
  2. package-DB2ZMI
    nnnnn
    .zipファイルを解凍します。ストアドプロシージャファイルは、パッケージ名の下のDb2WLMStoredProcedureフォルダに追加されます。
  3. FTPを使用して、Db2WLMStoredProcedureフォルダ内の#STPINSTファイルをz/OSシステム上のシーケンシャルファイル、PDS、またはPDSEに転送します。
    注:
    • バイナリモードを設定せずにファイルを転送します。
    • システム要件を満たすために必要な場合は、高レベル修飾子(HLQ)を追加します。
  4. FTPまたは別のファイル転送方法を使用して、次のファイルをそれぞれz/OSシステム上の別のデータセットに転送します。
    • DBMI.ZOS.DBRMLIB.XMI
    • DBMI.ZOS.LOADLIB.XMI
    • DBMI.ZOS.USERJCL.XMI
    注:
    • システム要件を満たすために必要な場合は、HLQを追加または編集します。
    • バイナリモードでファイルを転送します。
    • 各データセットにLRECL=80、BLKSIZE=3120、およびRECFM=FBのDCB属性があることを確認してください。
      必要な属性値を指定するために、データセットの事前の割り当てが必要になる場合があります。
z/OSシステムでは、TSOを使用して送信(XMI)データセットをAPF許可ライブラリで受信し、ストアドプロシージャJCLメンバを編集します。また、DB2ユーザー特権を設定し、使用されている場合はリソース制限テーブルに行を追加します。
  1. DBRMLIB転送データセットを受信します。
    RECEIVE INDATASET(DBMI.ZOS.DBRMLIB.XMI)
    注:
    • データセットをz/OSに転送するときにHLQを指定した場合は、HLQを含めてください。
    • メッセージ「
      INMR906A Enter restore parameters or 'DELETE' or 'END' +
      」が表示されたら、APF許可ライブラリを入力します。
      DA(
      your.library_name
      ) UNIT(
      unit
      ) VOLUME(
      volume
      )
      UNIT()およびVOLUME()オペランドはオプションです。インストールでRECEIVEファイルがデフォルトでワークユニットまたはボリュームに配置されない場合は、それらを含めてください。
  2. LOADLIB転送データセットを受信します。
    RECEIVE INDATASET(DBMI.ZOS.LOADLIB.XMI)
    手順1の注を参照してください。
  3. USERJCL転送データセットを受信します。
    RECEIVE INDATASET(DBMI.ZOS.USERJCL.XMI)
    手順1の注を参照してください。
  4. ご使用の環境のストアドプロシージャJCLを含む#STPINSTファイルをカスタマイズします。
    JCLは、データのDb2 IFIへの要求の結果を保持するストアドプロシージャとグローバル一時テーブルを作成します。また、ストアドプロシージャパッケージをバインドします。
    注:
    • JCLファイルの先頭にあるコメントに基づいて、JCL内の変数を、ステップ1で受信したDb2サブシステム名(!DSN!)、ストアドプロシージャスキーマ名(!SCHEMA!)、プロシージャ名(!STRPRC!)、WLM環境名(!WLMENV!)、およびDBRMLIB送信データセットの名前(!DBRMLIB!)などz/OS環境に適した値に置き換えます。
    • 受信したデータセットにHLQを使用した場合は、HLQをJCLに含めてください。
    • WLM環境名は、プロシージャAPPLENVパラメータまたはWLMアドレススペースのEXEC PARMで指定されます。
      プロシージャパラメータ:
      //STARTING EXEC DSNBWLMG,DB2SSN=DSNB,
      APPLENV='DSNBWLM_GENERAL'
      EXEC PARM:
      PARM='DSNB,40,
      DSNBWLM_GENERAL
      '
    • 受信したLOADLIBライブラリをAPF許可後に使用するか、ライブラリのコンテンツを独自のAPF許可ライブラリにコピーすることができます。
    • WLMアドレススペースのSTEPLIB連結には、Db2 IFIを実行するために、APF許可ライブラリのみが含まれている必要があります。
  5. 受信したUSERJCLデータセットのメンバのJCLをカスタマイズします。詳細については、「Db2 for z/OS USERJCLデータセット」を参照してください。
  6. ストアドプロシージャJCLジョブを実行する前に、必要なDB2権限が付与されていることを確認します。詳細については、DB2 for z/OSの権限を参照してください。
  7. データベース取り込みパッケージのDB2 DSNRLST
    xx
    リソース制限テーブルに行を追加して、プロセッサリソースがストアドプロシージャの処理に十分であることを確認します。そうしないと、増分ロードジョブが異常終了する可能性があります。次のカラムを含む行を追加します。
    • データベース取り込みタスクが使用する認証IDを持つAUTHIDカラムか、データベース取り込みタスクと同じパッケージ名を持つRLFPDGカラム、またはこれら両方のカラム。
    • NULLまたはデフォルトの制限値より大きいリソース制限が定義されたASUTIMEカラム。
    次に、リソース制限テーブルへの変更を有効にするために、DB2 -START RLIMITコマンドを発行します。

Db2 for z/OS USERJCLデータセット

ダウンロードされたUSERJCLデータセットは区分データセット(PDS)または拡張区分データセット(PDSE)であり、Informatica提供のWLM Db2ストアドプロシージャの使用時に他の方法では容易に入手できない情報を収集するジョブを実行するためのJCLメンバが含まれています。
メンバJCLは、USERJCL PDSまたはPDSEで完全にカスタマイズできます。元のメンバが参照用にそのまま保持されるように、提供されたJCLメンバのコピーを別の名前で作成し、そのコピーをカスタマイズすることをお勧めします。
複数のDb2サブシステムに複数のストアドプロシージャをインストールする場合、インストールできるUSERJCLライブラリは1つだけで、そのライブラリにDb2サブシステムごとに合わせてカスタマイズしたメンバを作成できます。あるいは、特定のDb2サブシステム用に別のライブラリを作成することもできます。
データベース統合
ジョブに、Db2サブシステムの正しいライブラリおよびメンバ情報が含まれていることを確認してください。
USERJCL PDSまたはPDSEには、以下のメンバが含まれています。
LOGINVメンバ
LOGINVには、Db2ログインベントリリストを取得するジョブのJCLが含まれています。タスクウィザードで取り込みタスクの
[増分ロード操作の当初の開始点]
プロパティを
[特定の日付と時刻]
に設定した場合、インベントリリストを使用して、データベース取り込みジョブの初回実行時または再開時にログ内の開始点が決定されます。ログインベントリリストは
一括取り込みデータベース
に、開始RBAまたはLSNと終了RBAまたはLRSN、およびDb2サブシステムのすべてのアクティブログとアーカイブログの開始タイムスタンプと終了タイムスタンプを提供します。
一括取り込みデータベース
は、この情報を使用して適切なログアーカイブを選択し、要求された開始点を検索します。
[増分ロード操作の当初の開始点]
プロパティが
[特定の日付と時刻]
以外のオプションに設定されている場合は、USERJCLライブラリをインストールする必要はありません。
LOGINVメンバの内容:
//<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 z/OSデータベース取り込み接続プロパティで指定されたユーザーに置き換えます
USERJCLメンバジョブをサブミットし、サブミットされたジョブから出力を取得するために、
一括取り込みデータベース
は、必要に応じてDb2提供のストアドプロシージャをバッチで実行します。
一括取り込みデータベース
のユーザーが、これらのストアドプロシージャを実行するために必要な特権を持っていることを確認します。Db2提供のプロシージャの詳細については、https://www.ibm.com/docs/en/db2-for-zos/12?topic=sql-procedures-that-are-supplied-db2を参照してください。
USERJCLメンバは、次のように処理されます。
  1. LOGINVメンバの場合、データベース取り込みタスクウィザードの
    [ソース]
    ページで
    [増分ロード操作の当初の開始点]
    詳細プロパティが
    [特定の日付と時刻]
    に設定されている場合、
    一括取り込みデータベース
    は、ソースに次のカスタムプロパティが指定されているかどうかをチェックします。
    • pwx.cdcreader.ZOS.Db2JobsDSN
      (インストールされているUSERJCL PDSまたはPDSEdの名前を指定)
    • pwx.cdcreader.ZOS.Db2JobLLOGINVMember
      データベース統合
      ジョブに使用されるLOGINVメンバ名を指定)
  2. 一括取り込みデータベース
    は、Db2提供のストアドプロシージャADMIN_DS_BROWSEを使用してLOGINVメンバを読み取ります。
  3. 一括取り込みデータベース
    は、ジョブの実行に必要なタグを置き換えます。
  4. 一括取り込みデータベース
    は、Db2提供のストアドプロシージャADMIN_SUBMIT_JOBを使用して、ジョブをDb2 for z/OSデータベースにサブミットします。
  5. 一括取り込みデータベース
    は、Db2提供のストアドプロシージャADMIN_JOB_QUERYを使用して、サブミットされたジョブのステータスを照会します。
  6. ジョブが完了すると、
    一括取り込みデータベース
    は、Db2提供のストアドプロシージャADMIN_JOB_FETCHを使用して、ジョブ出力を取得します。