メイン コンテンツをスキップする 補完的コンテンツへスキップ

AS/400ジャーナルモードのCDCを設定する

以下の設定手順は、特定のパブリッシャー/サブスクライバーシナリオの場合に1回だけ実行する必要があります。

ステップ1: AS/400ジャーナルモードでパブリッシャーを設定

About this task

パブリッシャーを設定するには、次を実行する必要があります。

Procedure

  1. Talend Studioで新しいジョブを作成します。
  2. データベース接続データを入力して、CDC専用のデータベース接続を設定します。たとえば、AS400_CDCという名前の接続を設定します。
  3. データベース接続データを入力して、データの検索先へのデータベース接続を設定します。たとえば、AS400_DATAという名前の接続を設定します。

Results

Metadataノードでの2つの接続の例。

ステップ2: AS/400ジャーナルモードによるソーステーブルの識別

キャッチするテーブルを識別するには、新たに作成したデータ接続を右クリックしてソーステーブルのスキーマを取得し、それらをリポジトリーにロードします。この例では、このデータ接続はAS400_DATAです。

'customers'テーブルスキーマの例。

ステップ3: AS/400ジャーナルモードでサブスクライバーテーブルを作成

About this task

CDCとデータ間の接続を設定する場合は、次の手順に従います。

Procedure

  1. データ接続の[CDC Foundation]フォルダーを右クリックして[Create CDC] (CDCを作成)を選択し、[Create Change Data Capture] (CDCを作成)ダイアログボックスを開きます。この例では、このデータ接続はAS400_DATAです。
    CDC Foundationノードのコンテキストメニュー。
  2. [Create Change Data Capture] (CDCを作成)ダイアログボックスで[Set Link Connection] (リンク接続を設定)フィールドの横にある[...]ボタンをクリックし、CDCに対応するデータベースへの接続を選択します。この例では、AS400_CDCを選択します。
  3. [Create Subscriber] (サブスクライバーの作成)をクリックして、サブスクライバーを作成します。その後、実行するコマンドが表示されます。
    一般に、このコマンドは次のようになります:
    open <AS400_server_host>
                         user <Username> <Password>
                         quote rcmd "crtsavf qgpl/instfitcdc"
                         quote rcmd "clrsavf qgpl/instfitcdc"
                         bin
                         cd qgpl
                         put "<Studio_install>\plugins\org.talend.designer.cdc_<version>\resource\fitcdc.savf" instfitcdc
                         quote rcmd "rstlib savlib(fitcdc) dev(*savf) savf(qgpl/instfitcdc) RSTLIB(<CDC_library_name>)"
                         quote rcmd "CHGCMD CMD(<CDC_library_name>/RUNCDC) PGM(<CDC_library_name>/F2CD00) CURLIB(<CDC_library_name>)"
                         quote rcmd "dltf qgpl/instfitcdc"
                         quit  

    このコマンドはTalend StudioによってFTP経由で自動的に実行され、RUNCDCプログラムのインストール、CDCライブラリー(CDCデータベース)の復元、TSUBSCRIBERSテーブル(CDDのセットアップ先である全テーブルの情報を提供)の作成が行われます。

    CDCライブラリーには、デフォルトで次のテーブルが含まれています。

    • FITAB: そのTBDT1フィールドで使用われる最後の実行とレシーバーに関する情報が含まれています。
      • ポジション1~10: 前回の実行の最終レシーバーのライブラリー
      • ポジション11~20: 前回の実行の最終レシーバーの名前
      • ポジション21~40: 最後の日付/時刻プロセス
      • ポジション41~50: 現在の実行の最終レシーバーのライブラリー
      • ポジション51~60: 現在の実行の最終レシーバーの名前
    • FICLH: RUNCDCコマンドの実行ログと使用されたレシーバーが含まれています。
    • FICLF: 使用されたファイルに関するテクニカルログが含まれています。

    FITABテーブルとFICLHテーブルでは、RUNCDCプログラムが既に使用しているレシーバーの情報が提供されており、必要であればレシーバーのクリーンアップに役立てることができます。

    後で頻繁に変更データを抽出すると、FITABテーブルにあるNUM_ORDフィールドの値が999999に達した時にオーバーフローが発生することがあります。オーバーフローが発生したら、または発生する前に、Change F2CD65 NUM_ORD in FITAB to 0 (zero)コマンドを実行した後、FICLHFICLFFITMPFIRCVの各テーブルにあるレコードをすべて削除すればフィールドの値をリセットできます。

    AS/400システムのリブート後にFITABテーブルに関連して何らかの問題が発生した場合は、NUM_ORDフィールドの値をリセットする必要があるかもしれません。

  4. このコマンドを手動で実行する必要がある場合は、コマンドをコピーし、[Skip] (スキップ)をクリックしてこのダイアログボックスを閉じます。この時、このコマンドはTalend Studioによっては実行されないため、お使いのAS/400システムで、このコマンドを手動で貼り付けるか編集して実行する必要があります。
    それ以外の場合は、Talend Studio内で[Execute] (実行)をクリックしてデフォルトコマンドを直接実行します。ステップバイステップの実行リストが表示されます。
    リストに、すべてのオブジェクトが復元されなかった事実などの問題を示す550番のエラーが表示されることがあります。復元されなかったライブラリーが実際にはお使いのAS/400システムに復元されている場合は、正しく動作しています。確認するには、お使いのAS/400システムの管理者にお問合せください。
  5. 実行が完了したら、[Create Change Data Capture] (CDCを作成)ダイアログボックスで[Finish] (終了)をクリックします。
    [CDC Foundation]フォルダーに、サブスクリプションテーブルスキーマと共にCDCデータベース接続が表示されます。

ステップ4: AS/400ジャーナルモードによるサブスクリプションの確定

About this task

サブスクライバーがサブスクライブするテーブルを指定してから、サブスクリプションを有効にする必要があります。

Procedure

  1. ソーステーブルに対応するスキーマを右クリックし、[Add CDC] (CDCの追加)を選択します。[Create Subscriber and Execute SQL Script] (サブスクライバーの作成およびSQLスクリプトの実行)ダイアログボックスが表示されます。このダイアログボックスには、ソーステーブルの長い名前と短い名前が両方表示されます。
    情報メモWarning: CDCシステムが変更が実行された行を識別できるように、監視対象のソーステーブルにはプライマリキーが必要です。ソーステーブルスキーマにプライマリキーがない場合は、CDC環境を設定できません。
    この例では、長い名前のCUSTOMERSは10文字を超えていないため、短い名前は長い名前と同じものが表示されます。
  2. [Subscriber Name] (サブスクライバー名)フィールドにサブスクライバーに付ける名前を入力します。デフォルトでは、サブスクライバー名はAPP1です。
  3. [Execute] (実行)をクリックして[Close] (閉じる)をクリックします。
    CDC Foundationフォルダーに、変更テーブルスキーマと関連付けられたビューが表示されます。新しいレコードがTSUBSCRIBERSテーブルに追加されます。
  4. AS/400システムから次を実行します。
    1. 新規レシーバーを作成します。
      CRTJRNRCV JRNRCV(<source_library_name>/<receiver_name>)
    2. 新規ジャーナルを作成し、前のステップで作成したレシーバーを接続します。
      CRTJRN JRN(<source_library_name>/<journal_name>) JRNRCV(<source_library_name>/<receiver_name>)
    3. 監視対象のファイルについては、前のステップで作成したジャーナルへの変更の保存を開始します。
      STRJRNPF FILE(<source_library_name>/<file_to_be_monitored>) JRN(<source_library_name>/<journal_name>) IMAGES(*BOTH)
    後でジャーナルレシーバーのシーケンス番号が最大値に達した場合は、AS/400システムでCHGJRN JRN(<ジャーナル名>) JRNRCV(*GEN) RCVSIZOPT(*MAXOPT3)というコマンドを実行すればレシーバーのサイズを増やすことができます。詳細は、Change Journal (CHGJRN)をご覧ください。
  5. データに加えられた変更を表示するには、Table schemas (テーブルスキーマ)フォルダーで関連するテーブルを右クリックし、[View All Changes] (すべての変更を表示)を選択して関連するダイアログボックスを開きます。
    [View All Changes] (変更をすべて表示)ダイアログボックスの概要。
  6. [Finish] (終了)をクリックしてダイアログボックスを閉じます。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。