IBMQREP_SUBS 表

IBMQREP_SUBS 表には、タイプ、検索条件、データ送信オプション、ロード・オプション、状態など、Q サブスクリプションおよびパブリケーションに関する情報が含まれています。

サーバー: Q キャプチャー・サーバー

デフォルト・スキーマ: ASN

主キー: SUBNAME

非ユニーク索引: SUB_ID

重要: SQL を使用してこの表を変更しないでください。 この表の変更の方法が不適切であると、予期せぬ結果が生じたり、データが失われたりします。

表 1 では、IBMQREP_SUBS 表の列の要旨を示します。

表 1. IBMQREP_SUBS 表の列
列名 説明
SUBNAME データ・タイプ: VARCHAR(132)。NULL 可能: 不可

Q サブスクリプションまたはパブリケーション名。 Q キャプチャー・プログラムの各インスタンスごとに、Q サブスクリプションまたはパブリケーション名はすべて固有でなければなりません。

SOURCE_OWNER

データ・タイプ: VARCHAR(128)NULL 可能: 不可

この Q サブスクリプションまたはパブリケーションのソース表があるスキーマ名または高位修飾子。

SOURCE_NAME

データ・タイプ: VARCHAR (128)、VARCHAR (18) ( Db2® for z/OS® バージョン 7 およびバージョン 8 互換モードの場合)、 Nullable: No

この Q サブスクリプションまたはパブリケーションのソース表名。

TARGET_SERVER データ・タイプ: VARCHAR(18)。NULL 可能:

Q アプライ・プログラムが実行しており、ターゲットを定義しているデータベースまたはサブシステムの名前。 z/OS の場合、これはロケーション名です。

TARGET_ALIAS データ・タイプ: VARCHAR(8)。NULL 可能:

TARGET_SERVER 列で指定されている Q アプライ・サーバーに対応する Db2 データベース別名。

TARGET_OWNER データ・タイプ: VARCHAR(128)。NULL 可能:

Q サブスクリプションのターゲット表またはストアード・プロシージャーのスキーマ名または高位修飾子。

TARGET_NAME データ・タイプ: VARCHAR(128)。NULL 可能:

Q サブスクリプションのターゲット表の名前。

TARGET_TYPE データ・タイプ: INTEGER。NULL 可能:

レプリケーション・ターゲットのタイプを示すフラグ。

1
ユーザー表
2
整合変更データ (CCD) 表
3
将来の利用のために予約済み。
4
将来の利用のために予約済み。
5
ストアード・プロシージャー
APPLY_SCHEMA データ・タイプ: VARCHAR(128)。NULL 可能:

この Q サブスクリプションにトランザクションを適用している Q アプライ・プログラムのスキーマ。

SENDQ データ・タイプ: VARCHAR(48)。NULL 可能: 不可

Q キャプチャー・プログラムがこの Q サブスクリプションまたはパブリケーションのトランザクション・データを送信するために使用する IBM® MQ キューの名前。 それぞれのソース表に対して 1 つの送信キューがペアに割り当てられます。

SEARCH_CONDITION データ・タイプ: VARCHAR(2048)。NULL 可能:、デフォルト値あり

Q サブスクリプションまたはパブリケーションで行をフィルタリングするために使用する検索条件。 これは、直前にコロンを 1 つ付加したソース列名を持つ、注釈付きの select WHERE 文節でなければなりません。デフォルト: NULL

SUB_ID データ・タイプ: INTEGER。NULL 可能:、デフォルト値あり

Q キャプチャー・プログラムが生成する整数で、 Q アプライ・プログラムへの subscription schema メッセージ内で Q サブスクリプションを固有に識別するために使用します。デフォルト: NULL

SUBTYPE データ・タイプ: CHAR(1)。NULL 可能: 不可、デフォルト値あり

Q サブスクリプションが関わっているレプリケーションのタイプを示すフラグ。

U (デフォルト)
単一方向レプリケーション。 この値はパブリケーションにも使用されます。
B
双方向レプリケーション。
P
ピアツーピア・レプリケーション。
ALL_CHANGED_ROWS データ・タイプ: CHAR(1)。NULL 可能: 不可、デフォルト値あり

以下は、Q サブスクリプションの一部である列のいずれにも変更がなかった場合でも、ソース表の行に変更があったときに Q キャプチャー・プログラムがメッセージを送信するかどうかを示すフラグ。

N (デフォルト)
Q キャプチャー・プログラムは、Q サブスクリプションの一部である列が変更された場合にのみ、メッセージを送信します。
Y
Q サブスクリプションの一部である列のいずれにも変更がなかった場合でも、ソース表の行に変更があると、Q キャプチャー・プログラムはその行からその列を送信します。
BEFORE_VALUES データ・タイプ: CHAR(1)。NULL 可能: 不可、デフォルト値あり

更新操作の場合、このフラグは、Q Capture プログラムが非キー列の変更後の値のほかに 変更前の値も送信するかどうかを示します。 削除の場合、このフラグは、Q Capture プログラムがキー列の変更前の値のほかに 非キー列の変更前の値も送信するかどうかを示します。

N (デフォルト)
Q Capture プログラムは、変更された非キー列の変更前の値を送信しません。 キー列に変更があると、Q Capture プログラムは、そのキー列の変更前と変更後の両方の値を送信します。 キー列を含む DELETE ステートメントの場合は、変更前の値のみが送信されます。
Y
ソース表の非キー列に変更があり、その列が Q サブスクリプションまたはパブリケーションに含まれる場合、Q Capture プログラムは 変更前と変更後の両方の値を送信します。 以下の場合には、BEFORE_VALUES=Y を使用する必要があります。
  • Q サブスクリプションにおける複製対象列がすべてレプリケーション・キーで使用される (IBMQREP_TRG_COLS 表において IS_KEY=Y となっている) 場合
  • ターゲットがフェデレーテッドの場合
  • 競合規則が A または C の場合
  • 区切りメッセージをパブリッシュする場合
CHANGED_COLS_ONLY データ・タイプ: CHAR(1)。NULL 可能: 不可、デフォルト値あり

列に変更があった場合にのみ、Q キャプチャー・プログラムが Q サブスクリプションまたはパブリケーションの一部である列をパブリッシュするかどうかを示すフラグ。 このフィールドは更新操作にのみ適用されます。

Y (デフォルト)
Q キャプチャー・プログラムが更新済み行を送信すると、Q サブスクリプションまたはパブリケーションの一部である変更された列のみを送信します。
N
列が変更された場合はいつでも、Q キャプチャー・プログラムは Q サブスクリプションまたはパブリケーションの一部である行にあるすべての列を送信します。
HAS_LOADPHASE データ・タイプ: CHAR(1)。NULL 可能: 不可、デフォルト値あり

以下は Q サブスクリプションまたはパブリケーションのターゲット表がソースからデータをロードするかどうかを示すフラグ。

I (デフォルト)
自動ロード。 Q アプライ・プログラムは、異なる幾つかのユーティリティーのいずれかを呼び出します。どれを呼び出すかは、IBMQREP_TARGETS 表で指定されている LOAD_TYPE、および Q アプライ・サーバーと Q キャプチャー・サーバーのプラットフォームによって異なります。
E
手動ロード。 Q アプライ・プログラム以外のアプリケーションがターゲット表をロードします。 この場合、ユーザーまたはレプリケーション・センターは、LOADDONE シグナルを Q キャプチャー・サーバーの IBMQREP_SIGNAL 表に挿入するか、Q キャプチャー・プログラムが load done メッセージを受信した後にこのシグナルを挿入します。
N
ターゲットはロードされません。
STATE データ・タイプ: CHAR(1)。NULL 可能: 不可、デフォルト値あり

現在の Q サブスクリプションまたはパブリケーションの状態を示す Q キャプチャー・プログラムが挿入するフラグ。 初期状態は新規であり、STATE_INFO フィールドを最初に ASN7024I (新規の Q サブスクリプションまたはパブリケーション) に設定します。

N (デフォルト)
Q サブスクリプションまたはパブリケーションは新規です。 Q キャプチャー・プログラムは、プログラムの開始時または再初期化時に自動的にこの Q サブスクリプションまたはパブリケーションをアクティブにします。
I
Q サブスクリプションまたはパブリケーションは非アクティブです。 Q キャプチャー・プログラムがログで CAPSTOP シグナルを検出したか、あるいはエラーが発生し、Q サブスクリプションまたはパブリケーションが非アクティブになりました。 Q キャプチャー・プログラムは、この Q サブスクリプションまたはパブリケーションのメッセージ送信は停止しましたが、それ以外は続行しました。
D
ターゲット表に対する同時ロード操作の数を制御するために Q サブスクリプションの活動化が一時的に遅延されています。 この状態は、max_capstarts_intload パラメーターの指定時に有効となります。
W
Q キャプチャーは、未完了トランザクションがすべて完了するまで待機しています。 その後で、ターゲットを内部的にロードするためにソース表からデータをエクスポートし始めることができます。
L
Q サブスクリプションがロード中です。 Q キャプチャー・プログラムは CAPSTART シグナルを処理し、 subscription schema メッセージを Q アプライ・プログラムまたはユーザー・アプリケーションに送信しました。 Q キャプチャー・プログラムは、すべての列の変更前の値が含まれるトランザクション・メッセージを送信し、LOADDONE シグナルを待機しています。
A
Q サブスクリプションまたはパブリケーションはアクティブです。 ロード・フェーズがある場合、Q キャプチャー・プログラムは LOADDONE シグナルを処理し、 load done received メッセージを Q アプライ・プログラムまたはユーザー・アプリケーションに送信しました。 Q キャプチャー・プログラムは、Q サブスクリプションまたはパブリケーションに定義したオプションに基づいてデータ・メッセージを送信しています。
T
Q キャプチャー・プログラムが、このピアツーピア Q サブスクリプションのログで CAPSTART シグナルを読み取り、Q サブスクリプションがピアツーピア・グループ内で初期化されることを示す内部状態。
G
Q キャプチャー・プログラムがこの双方向またはピアツーピア Q サブスクリプションのログ内の CAPSTOP シグナルを読み取り、Q サブスクリプションが非活動化されていることを示す内部状態。
U
スキーマ・レベル・サブスクリプションがあり、Q サブスクリプションが活動化を待機しているために、Q キャプチャー・プログラムがこの Q サブスクリプションを作成したことを示す内部状態。 Q キャプチャー・プログラムは、スキーマ内で新しく作成された表を検出すると、IBMQREP_SUBS 表および IBMQREP_TARGETS 表に STATE として U を挿入します。 現時点では、IBMQREP_SRC_COLS 表と IBMQREP_TRG_COLS 表にサブスクリプションのデータは取り込まれません。 Q キャプチャーは、表の DML またはロード操作を検出するまで、U 状態の Q サブスクリプションをアクティブ化しません。 これらの操作を検出すると、IBMQREP_SRC_COLS および IBMQREP_TRG_COLS にデータを取り込み、サブスクリプションも活動化します。
重要: U 状態のサブスクリプションをアクティブ化しないでください。CAPSTART 操作は失敗します。
STATE_TIME データ・タイプ: TIMESTAMP。NULL 可能: 不可、デフォルト値あり

Q サブスクリプションまたはパブリケーションの状態を最後に変更したときの Q キャプチャー・サーバーの地方時のタイム・スタンプ。 デフォルト: 現在のタイム・スタンプ

STATE_INFO データ・タイプ: CHAR(8)。NULL 可能:

Q サブスクリプションの状態を示す ASN メッセージの番号。 詳細については、IBMQREP_CAPTRACE 表または、Q キャプチャー診断ログを参照。

STATE_TRANSITION データ・タイプ: VARCHAR(256) FOR BIT DATA。NULL 可能:

部分的な状態および関連情報の保存に使用する内部値。

SUBGROUP データ・タイプ: VARCHAR(30)。NULL 可能: 可、デフォルト値あり

この Q サブスクリプションが含まれている 双方向または ピアツーピア・グループの名前。 パブリケーションの場合、この列はアプライされません。

デフォルト: NULL。

SOURCE_NODE データ・タイプ: SMALLINT。NULL 可能: 不可、デフォルト値あり

双方向または ピアツーピア Q サブスクリプションにおける、ソース・サーバーの識別番号。 パブリケーションの場合、この列はアプライされません。 デフォルト: 0

TARGET_NODE データ・タイプ: SMALLINT。NULL 可能: 不可、デフォルト値あり

双方向または ピアツーピア Q サブスクリプションにおける、ターゲット・サーバーの識別番号。 パブリケーションの場合、この列はアプライされません。 デフォルト: 0

GROUP_MEMBERS データ・タイプ: CHAR(254) FOR BIT DATA。NULL 可能: 可、デフォルト値あり

この列は、メンバーが 双方向または ピアツーピア・グループに参加または離脱したときに、Q キャプチャー・プログラムによって更新されます。 デフォルト: NULL

OPTIONS_FLAG データ・タイプ: CHAR(4)。 NULL 可能: 不可、デフォルト値あり

将来の使用のために予約されています。

SUPPRESS_DELETES データ・タイプ: CHAR(1)。NULL 可能: 不可、デフォルト値あり

ソース表から削除された行を送信するかどうか Q キャプチャー・プログラムに通知するフラグ。

N (デフォルト)
削除行を送信します。
Y
削除行を送信しません。
説明 データ・タイプ: VARCHAR(200)。NULL 可能:

Q サブスクリプションまたはパブリケーションのユーザー提供の説明。

TOPIC データ・タイプ: VARCHAR(256)。NULL 可能:

パブリケーションに送信される各 XML メッセージごとの JMS に準拠した (MQRFH2) メッセージ・ヘッダーに組み込まれるユーザー提供のトピック。

CAPTURE_LOAD データ・タイプ: CHAR(1)。NULL 可能: 不可、デフォルト値あり

Q キャプチャー・プログラムが、ソース表で Db2 LOAD ユーティリティーを使用するロード操作を検出したときに実行するアクション。

W (デフォルト)
Q キャプチャーは、ロード完了後に警告メッセージを発行します。
R
Q キャプチャーは警告メッセージを発行してから、ソース表に対する Q サブスクリプションを停止して開始します。その際、ターゲット表へのロードが Q サブスクリプションに指定されていれば、それを指示します。
L ( z/OS )
  • ロード対象の入力レコードがない状態 (ダミー・ロード) でソース表に対して LOAD ユーティリティーが実行されると、レプリケーションで DSNUTILS ストアード・プロシージャーが呼び出され、ターゲット表に対してダミー・ロードが実行されます。 このオプションを使用すると、Q アプライ・プログラムはソース・データベースに接続したり、ロード・プロセス用の予備キューを作成したりする必要がなくなります。
  • Q サブスクリプションがパーティション表用である場合、Q キャプチャー・プログラムはパーティションのロードを検出し、そのパーティションのみをロードし、Q サブスクリプションに含まれている他のパーティションはロードしないように Q アプライ・プログラムに通知します。
CHANGE_CONDITION データ・タイプ: VARCHAR(2048)。NULL 可能: 可、デフォルト値あり

複製またはパブリッシュする行をフィルター操作するためにログ・レコード変数を使用する SQL 述部。 詳しくは、 行をフィルターに掛けるためのログ・レコード変数 (単一方向レプリケーション) を参照してください。

デフォルト: NULL

REPL_ADDCOL データ・タイプ: CHAR(1)。NULL 可能: 不可、デフォルト値あり

ソース表の新しい列をその表の Q サブスクリプションに自動的に追加するかどうかを Q キャプチャー・プログラムに通知するフラグ。 ターゲット表においても、それらの列が存在しない場合は追加されます。

注: このオプションは、Q レプリケーションでのみサポートされます。 XML メッセージまたは区切り文字で区切られているメッセージを使用したイベント・パブリッシングでは、ADDCOL シグナルを使用して既存のパブリケーションに列を追加する必要があります。
N (デフォルト)
新しい列を Q サブスクリプションに自動的に追加しません。
Y
ALTER TABLE ADD COLUMN ステートメントが検出されると、新しい列がソース表の Q サブスクリプションに自動的に追加され、それらの列がターゲット表に存在しない場合にはターゲット表にも追加されます。
IGNTRIG データ・タイプ: CHAR(1)。NULL 可能: 不可、デフォルト値あり

Q キャプチャー・プログラムが、トリガーによって生成された行を無視する (複製しない) かどうかを指定するフラグ。

N (デフォルト)
ソースでのトリガー操作によって生成された行を、Q キャプチャーが複製するように指定します。
Y
ソース・トリガー操作によって生成された行を複製しないことを指定します。 このオプションは、ターゲット・データベース上に一致するトリガーがあり、トリガーが生成する行を複製する必要がない場合に有用です。
IGNCASDEL データ・タイプ: CHAR(1)。NULL 可能: 不可、デフォルト値あり

参照整合性の関係により、表にある親行を削除した結果として生じる削除操作 (ON DELETE CASCADE 規則) を、複製するかどうかを、Q キャプチャー・プログラムに指示するフラグ。

N (デフォルト)
親行が削除されると、Q キャプチャーは、ON DELETE CASCADE 規則の結果として生じる子行から削除操作を複製します。
Y
親行が削除されると、Q キャプチャーは親行の削除のみを複製します。 このオプションは、ターゲット上で ON DELETE CASCADE 規則が効力を持つ場合に有用です。
IGNSETNULL データ・タイプ: CHAR(1)。NULL 可能: 不可、デフォルト値あり

参照整合性の関係により、表にある親行を削除した結果として生じる UPDATE 操作 (ON DELETE SET NULL 規則) を、複製するかどうかを、Q キャプチャー・プログラムに指示するフラグ。 Linux®、UNIX、および Windows 上のバージョン 10.1 以降の場合のみ。

N (デフォルト)
ソースで親行が削除された場合、Q キャプチャーは、1 つ以上の列値を NULL に設定した UPDATE 操作を、子行から複製します。
Y
Q キャプチャーは、ON DELETE SET NULL 規則の結果として生じる子表から UPDATE 操作を複製することはありません。 親の行の削除のみが複製されます。 このオプションは、ターゲット・データベース上で ON DELETE SET NULL 規則が効力を持ち、これらの更新を複製する必要がない場合に、有用です。
SCHEMA_SUBNAME データ・タイプ: z/OS、 Linux、UNIX、および Windows の場合は VARCHAR (64)NULL 可能: はい

この表レベル Q サブスクリプションの所属先であるスキーマ・レベル・サブスクリプションの名前。 この列は、ASNCLP コマンド行プログラムによってスキーマ・レベル・サブスクリプションが作成された時点で、および、Q キャプチャー・プログラムによってスキーマ内で CREATE TABLE 操作を検出した時点で、データを設定されます。

SUB_CREATOR データ・タイプ: VARCHAR(12)。NULL 可能: 可、デフォルト値あり

この Q サブスクリプションが作成された方法を識別します。 値は「replcenter」(レプリケーション・センター) および「asnqcap」(Q キャプチャー・プログラム) です。 Linux、UNIX、および Windows 上のバージョン 10.1 より前のリリースから Q キャプチャー・コントロール表をマイグレーションする場合、列の値は NULL になります。 デフォルト: NULL

CAPTURE_TRUNCATE データ・タイプ: CHAR(1)。NULL 可能: 不可、デフォルト値あり

Q キャプチャー・プログラムがログ内のソース表に対する TRUNCATE 操作を検出したときに実行するアクションを指定するフラグ。

z/OS: CAPTURE_TRUNCATE 列は、 Linux、 AIX、および Windows プラットフォーム上の Db2 でのみ使用可能です。 その理由は、 Db2 for z/OSでは、データ・キャプチャー変更のある表に対する切り捨て操作は、切り捨て操作としてではなく、大量の削除として実行されるからです。 レプリケーションは、ターゲットでの削除操作として切り捨てを再生します。 Linux、 AIX、および Windows プラットフォームでは、切り捨て操作は切り捨てとして複製されます。 DCC (データ・キャプチャー変更) を使用する表に対して z/OS プラットフォームで表の切り捨て操作を実行するには、ダミー入力からのロードを実行する必要があります。これは、表の切り捨てと同じ効果を持ち、ダミーからのロードとして複製されます。 CAPTURE_LOAD = L を参照してください。

W (デフォルト)
Q キャプチャーは警告メッセージを発行しますが、TRUNCATE 操作は複製しません。
T
Q キャプチャーは TRUNCATE 操作を複製します。
制約事項:
  • ターゲットが非コンプリート整合変更データ (CCD) 表 (CCD_COMPLETE = N) の場合、TRUNCATE 操作のレプリケーションはサポートされません。 このターゲット・タイプの場合、TRUNCATE 操作に対しては常に警告が出されます。
  • ターゲット表に参照整合性制約がある場合は、CAPTURE_TRUNCATE = W でない限り、ソース表で切り捨て操作を実行しないでください。
LOGRD_ERROR_ACTION データ・タイプ: CHAR(1)。NULL 可能: 不可、デフォルト値あり

将来の利用のために予約済み。

HAS_PARTS データ・タイプ: CHAR(1)。NULL 可能: 不可、デフォルト値あり

z/OS: Q サブスクリプションが範囲パーティション表の 1 つ以上のパーティションに基づいてレプリケーションの行をフィルターに掛けるかどうかを示すフラグ。

N (デフォルト)
Q サブスクリプションは、範囲パーティション表のパーティションに基づく行のフィルターを使用しません。
Y
Q サブスクリプションは、範囲パーティション表の特定パーティションに行が属しているかどうかに基づいてレプリケーション用に行をフィルターします。 フィルターに使用されるパーティションは IBMQREP_SUB_PARTS コントロール表に指定されます。