DBキュー機能関連定義
- 〈このページの構成〉
形式
set形式
〔set dbq_rollback_retry_count=連続ロールバック監視回数〕 〔set dbq_reqbuf_retry_timer=バッファ空き待ち監視時間〕 〔set dbq_readcheckmsg_interval=DBキュー読み出しサーバ監視メッセージ出力間隔〕 〔set dbq_endcheckmsg_interval=TP1/EE終了時未読み出し監視メッセージ出力間隔〕 〔set dbq_endcheck_mode=NO|UAP〕 〔set dbq_uap_stop=no|start|restart|all〕 〔set dbq_read_error_uap_stop=DBキューを読み出し停止にする障害ケース〕 〔set dbq_inhibit_use=Y|N〕
コマンド形式
{{dbqdef -q DBキュー名 -d DBキューグループ名 〔-l 最大書き込みメッセージ数〕 -n リソースマネジャ名 〔-i リソースマネジャ拡張子〕 〔-t no|start|restart|all〕 }} {{dbqgrpdef -d DBキューグループ名 〔-p 関連づけるDBキューサービスグループ名〕 -k 0|1 {〔-e 関連づけるサービスグループ名〕 〔-t〕 | 〔-f 関連づける他サーバのプロセス識別子〕} 〔-o my|other〕 〔-c〕 〔-u uap|user〕 〔-s stop|skip〕 }} {{dbqsrvdef -v DBキューサービス名 -p 関連づけるDBキューサービスグループ名 〔-q DBキュー名,DBキュー名…〕 〔-n DBキューサービスで使用するDBキューの最大数〕 〔-t DBキューサービスを同時に起動させるトランザクションの最大数〕 〔-c R|P〕 }} {{dbqsvgdef -p DBキューサービスグループ名 -d DBキューグループ名 }} {{dbqprcdef -f 関連づける他サーバのプロセス識別子 -h ホスト名:ポート番号〔:自ホスト名〕 〔-b〕 }}
コマンド形式の定義は,DBキュー機能を使用してAP間通信をする場合と,ユーザキューアクセスをする場合とで指定できる定義が異なります。指定できる定義コマンドの違いを,次の表に示します。
定義コマンド |
メッセージ送受信方式 |
|
---|---|---|
AP間通信 |
ユーザキューアクセス |
|
dbqdef |
必須 |
必須 |
dbqgrpdef |
必須 |
必須 |
dbqsrvdef |
省略可 |
指定不可 |
dbqsvgdef |
省略可 |
指定不可 |
dbqprcdef |
省略可 |
指定不可 |
機能
DBキュー機能関連情報を定義します。
説明
各オペランドについて説明します。
set形式のオペランド
●dbq_rollback_retry_count=連続ロールバック監視回数 〜((-1〜10))《5》
同一メッセージ処理のロールバック監視回数を指定します。ロールバック監視回数は,APIからのロールバック要求の回数をカウントします。ロールバック要求の回数が,dbq_rollback_retry_countオペランドの指定値を超えた場合,dbqgrpdef定義コマンドの-sオプションの指定に従って該当するDBキューのスケジュールを停止,またはメッセージをスキップして次のメッセージの読み出しをします。
-1を指定した場合,最初のロールバック要求でdbqgrpdef定義コマンドの-sオプションの指定に従った処理をします。
0を指定した場合,ロールバック回数を監視しません。
●dbq_reqbuf_retry_timer=バッファ空き待ち監視時間 〜〈符号なし整数〉((0〜100))《1》(単位:100ミリ秒)
DBキュー機能で使用するバッファの空き処理キュー登録時,処理キューの確保待ち時間を指定します。
●dbq_readcheckmsg_interval=DBキュー読み出しサーバ監視メッセージ出力間隔 〜〈符号なし整数〉((0,10〜3600))《180》(単位:秒)
DBキュー機能関連定義のdbqgrpdef定義コマンドの-kオプションに1を指定し,-oオプションにmyを指定したDBキューからメッセージを読み出すサーバが存在しない場合の,KFSB45612-Wメッセージを出力する間隔を指定します。
0を指定した場合,メッセージを出力しません。
●dbq_endcheckmsg_interval=TP1/EE終了時未読み出し監視メッセージ出力間隔 〜〈符号なし整数〉((0〜3600))《180》(単位:秒)
TP1/EEの正常終了時に,DBキューに未読み出しメッセージが存在する場合のメッセージを出力する間隔を指定します。
0を指定した場合,未読み出しメッセージ検知時に1回だけメッセージを出力します。
dbq_endcheckmsg_intervalオペランドの指定値と実際のメッセージ出力間隔は,最大5秒の誤差が発生します。dbq_endcheckmsg_intervalオペランドの指定値とメッセージ出力間隔の関係を次に示します。
プロセス終了監視トランザクション起動間隔<dbq_endcheckmsg_intervalオペランドの指定値<メッセージ出力間隔
●dbq_endcheck_mode=NO|UAP 〜《UAP》
TP1/EE正常終了時にDBキューに未読み出しメッセージが存在する場合,未読み出しメッセージがなくなるまでDBキューをチェックするかどうかを指定します。
- NO
-
未読み出しメッセージがあってもTP1/EEを終了します。
- UAP
-
AP間通信をするDBキューに未読み出しメッセージがある場合,TP1/EEを終了しません。
●dbq_uap_stop=no|start|restart|all 〜《no》
AP間通信をするすべての自サーバ読み出しのDBキューを,一括で読み出し停止にさせるTP1/EEの開始モードを指定します。dbqdef定義コマンドの-tオプションを同時に指定した場合は,dbqdef定義コマンドの-tオプションが有効になります。
- no
-
正常開始時に読み出し停止にしません。再開始時に前回のオンライン処理時の状態で開始します。
- start
-
正常開始時に読み出し停止にします。再開始時に前回のオンライン処理時の状態で開始します。
- restart
-
正常開始時に読み出し停止にしません。再開始時に読み出し停止にします。
- all
-
正常開始時,および再開始時に読み出し停止にします。
- 注意事項
-
AP間通信をするDBキューのメッセージ読み出しトランザクションが原因でオンラインが停止した場合に再開始処理をすると,プロセス回復時に定義の指定内容に関係なく,該当するDBキューが読み出し停止になります。
●dbq_read_error_uap_stop=DBキューを読み出し停止にする障害ケース 〜〈符号なし整数〉((1,2))《1》
AP間通信をするDBキューのメッセージ読み出しトランザクションで,DBキューを読み出し停止にする障害ケースを指定します。
- 1
-
次の障害発生時に,該当するDBキューを読み出し停止にします。
-
メッセージ読み出しSQLエラー
-
メッセージ読み出し通番の更新SQLエラー
-
サービス関数障害でスレッドダウン※
- 注※
-
連鎖モードのロールバック要求関数を発行し,スレッドの強制終了(EETRN_KILLまたはEETRN_ABRT)を指定した場合は含みません。この場合は,dbq_read_error_uap_stopオペランドの指定内容に影響されません。dbq_rollback_retry_countオペランドの指定で読み出し停止にできます。
-
- 2
-
次の障害発生時に,該当するDBキューを読み出し停止にします。
-
指定値1で示す障害
-
サービス関数終了時の同期点処理障害
-
次の関数による同期点処理障害
ee_trn_chained_commit
ee_trn_chained_rollback(thkindにEETRN_KEEPを設定)
CBLEETRN('C-COMMIT')
CBLEETRN('C-ROLL ')(データ名Cに'KEEP'を設定)
-
コマンド形式
次ページ以降に記述しています。