目次

Search

  1. はじめに
  2. パイプラインのパーティション化について
  3. パーティションポイント
  4. パーティションタイプ
  5. プッシュダウンの最適化
  6. プッシュダウンの最適化およびトランスフォーメーション
  7. リアルタイム処理
  8. コミットポイント
  9. 行エラーのロギング
  10. ワークフローリカバリ
  11. 停止と強制終了
  12. コンカレントワークフロー
  13. グリッド処理
  14. ロードバランサ
  15. ワークフロー変数
  16. セッションのパラメータおよび変数
  17. パラメータファイル
  18. FastExport
  19. 外部データのロード
  20. FTP
  21. セッションのキャッシュ
  22. 差分集計
  23. セッションログインタフェース
  24. バッファメモリについて
  25. 高精度データ

詳細ワークフローガイド

詳細ワークフローガイド

ターゲットリカバリテーブル

ターゲットリカバリテーブル

Integration Serviceは、再開リカバリ戦略を持つセッションを実行する際に、ターゲットデータベースシステムのリカバリテーブルに書き込みます。 セッションをリカバリする場合、Integration Serviceはリカバリテーブル内の情報を使用して、ターゲットテーブルへのデータのロードをどこから開始するかを決定します。
Integration Serviceでリカバリテーブルが作成されるようにする場合、ターゲットデータベース接続に設定されたデータベースユーザー名に対してテーブル作成特権を与えます。 Integration Serviceでリカバリテーブルが作成されないように設定する場合は、リカバリテーブルを手動で作成します。
Integration Serviceは、以下のリカバリテーブルをターゲットデータベースに作成します。
  • PM_RECOVERY。
    セッション実行のためのターゲットロード情報が含まれています。 Integration Serviceは、各セッションが成功した後でこのテーブルから情報を削除し、後続のセッションの開始時に情報を初期化します。
  • PM_TGT_RUN_ID。
    Integration Serviceがデータベース上の各ターゲットの特定に使用する情報が含まれています。 この情報は、セッション実行後も次の実行まで維持されます。このテーブルを手動で作成する場合は、セッションが正常にリカバリされるように、行を作成しLAST_TGT_RUN_IDに0以外を入力する必要があります。
  • PM_REC_STATE。
    Integration Serviceがリアルタイムセッションのリカバリ時にターゲットテーブルへのメッセージ書き込みの必要があるかどうかの判断に使用する情報が含まれています。
セッションのリカバリ前にリカバリテーブルを編集または削除した場合、Integration Serviceはそのセッションをリカバリできません。 リカバリを無効にした場合、Integration Serviceではターゲットデータベースからリカバリテーブルが削除されません。 リカバリテーブルは手動で削除する必要があります。
以下の表に、PM_RECOVERYの形式を示します。
カラム名
データ型
REP_GID
VARCHAR(240)
WFLOW_ID
INTEGER
WFLOW_RUN_ID
INTEGER
WFLOW_RUN_INS_NAME
VARCHAR(240)
SUBJ_ID
INTEGER
TASK_INST_ID
INTEGER
TGT_INST_ID
INTEGER
PARTITION_ID
INTEGER
TGT_RUN_ID
INTEGER
RECOVERY_VER
INTEGER
CHECK_POINT
INTEGER
ROW_COUNT
INTEGER
以下の表に、PM_TGT_RUN_IDの形式を示します。
カラム名
データ型
LAST_TGT_RUN_ID
INTEGER
以下の表に、PM_REC_STATEの形式を示します。
カラム名
データ型
OWNER_TYPE_ID
INTEGER
REP_GID
VARCHAR(240)
FOLDER_ID
INTEGER
WFLOW_ID
INTEGER
WFLOW_RUN_INS_NAME
VARCHAR(240)
WLET_ID
INTEGER
TASK_INST_ID
INTEGER
WID_INST_ID
INTEGER
GROUP_ID
INTEGER
PART_ID
INTEGER
PLUGIN_ID
INTEGER
APPL_ID
VARCHAR(38)
SEQ_NUM
INTEGER
VERSION
INTEGER
CHKP_NUM
INTEGER
STATE_DATA
VARCHAR(1024)
Oracleでは、INTEGERデータタイプの代わりに、NUMBERデータタイプが使用されます。
コンカレントリカバリセッションが同じターゲットデータベースに書き込む場合、Integration ServiceでPM_RECOVERYでデッドロックが検出されることがあります。 デッドロック時にPM_RECOVERYへの書き込みを再試行するために、[デッドロック時のセッションのリトライ]オプションを設定し、セッションのデッドロックを再試行できます。