スケーラブルデータベースサーバ HiRDB Version 8 システム定義(UNIX(R)用)

[目次][索引][前へ][次へ]

2.2.7 トランザクション決着処理に関するオペランド

39) pd_trn_rerun_branch_auto_decide = Y | N
このオペランドはHiRDB/パラレルサーバ限定のオペランドです。
トランザクションのコミットメント制御で一相目のプリペア処理が完了する前にユニットが異常終了した場合,ユニットの再開始時にこのトランザクションからブランチした未決着状態のトランザクションを自動決着するかどうかを指定します。
Y:
未決着状態のトランザクションを自動決着します。
N:
未決着状態のトランザクションを自動決着しません。この場合,HiRDB管理者が未決着状態のトランザクションを決着させる必要があります。未決着状態のトランザクションを決着させる方法については,マニュアル「HiRDB Version 8 システム運用ガイド」を参照してください。
《注意事項》
Yを指定した場合,又はこのオペランドを省略した場合の注意事項を次に示します。
  • 縮退起動機能を使用している場合,縮退起動時に開始していなかったユニットのトランザクションは自動決着の対象とはなりません。したがって,開始していなかったユニットを障害復旧後などに再開始した場合は,未決着状態のトランザクションがないかどうかを確認してください。未決着状態のトランザクションがある場合は,未決着状態のトランザクションを決着させてください。未決着状態のトランザクションの確認方法,及び未決着状態のトランザクションを決着させる方法については,マニュアル「HiRDB Version 8 システム運用ガイド」を参照してください。
  • ブランチ元のトランザクションがあるサーバのシステムログ量が増加します。
  • 未決着状態のトランザクションの決着処理を実行している間,ブランチ元のトランザクションがあるサーバのシステムログが上書き禁止状態になります。

 

40) pd_trn_send_decision_intval_sec = 秒単位でのトランザクション自動決着の送信リトライ時間間隔
〜<符号なし整数>〜((0〜65535))《15》(単位:秒)
このオペランドはHiRDB/パラレルサーバ限定のオペランドです。
ブランチしたトランザクションに自動決着指示を送信した場合,通信障害などによって送信が失敗したときに決着指示を再送するまでの時間を秒単位で指定します。
《前提条件》
pd_trn_rerun_branch_auto_decideオペランドにYを指定,又は指定を省略している必要があります。
《注意事項》
0を指定した場合は決着指示を連続して再送するため,通信負荷が高くなります。
《ほかのオペランドとの関連》
このオペランドは,pd_trn_send_decision_intervalオペランドと次に示す関係があります。
  • 再送するまでの時間を秒単位で指定する場合はpd_trn_send_decision_intval_secオペランドを,分単位で指定する場合はpd_trn_send_decision_intervalオペランドを指定します。
  • pd_trn_send_decision_intval_secオペランドとpd_trn_send_decision_intervalオペランドを両方とも指定すると,pd_trn_send_decision_intval_secオペランドの指定値が優先されます。
  • pd_trn_send_decision_intval_secオペランドとpd_trn_send_decision_intervalオペランドを両方とも指定しないと,pd_sysdef_default_optionオペランドの指定値によって次の値が仮定されます。
    pd_sysdef_default_optionオペランドの指定値 仮定値
    recommendable pd_trn_send_decision_intval_secオペランドの省略値(15秒)
    v6compatible又はv7compatible pd_trn_send_decision_intervalオペランドの省略値(5分)

 

41) pd_trn_send_decision_interval = 分単位でのトランザクション自動決着の送信リトライ時間間隔
〜<符号なし整数>((0〜65535))(単位:分)
このオペランドはHiRDB/パラレルサーバ限定のオペランドです。
ブランチしたトランザクションに自動決着指示を送信した場合,通信障害などによって送信が失敗したときに決着指示を再送するまでの時間を分単位で指定します。通常はpd_trn_send_decision_intval_secオペランドを指定し,このオペランドは省略してください。
《前提条件》
pd_trn_rerun_branch_auto_decideオペランドにYを指定,又は指定を省略している必要があります。
《注意事項》
0を指定した場合は決着指示を連続して再送するため,通信負荷が高くなります。
《ほかのオペランドとの関連》
pd_sysdef_default_optionオペランドにv6compatible又はv7compatibleを指定している場合,このオペランドの省略値は5になります。
また,このオペランドはpd_trn_send_decision_intval_secオペランドと次に示す関係があります。
  • 再送するまでの時間を秒単位で指定する場合はpd_trn_send_decision_intval_secオペランドを,分単位で指定する場合はpd_trn_send_decision_intervalオペランドを指定します。
  • pd_trn_send_decision_intval_secオペランドとpd_trn_send_decision_intervalオペランドを両方とも指定すると,pd_trn_send_decision_intval_secオペランドの指定値が優先されます。
  • pd_trn_send_decision_intval_secオペランドとpd_trn_send_decision_intervalオペランドを両方とも指定しないと,pd_sysdef_default_optionオペランドの指定値によって次の値が仮定されます。
    pd_sysdef_default_optionオペランドの指定値 仮定値
    recommendable pd_trn_send_decision_intval_secオペランドの省略値(15秒)
    v6compatible又はv7compatible pd_trn_send_decision_intervalオペランドの省略値(5分)

 

42) pd_trn_send_decision_retry_time = トランザクション自動決着の最大待ち時間
〜<符号なし整数>((0〜65535))《360》(単位:分)
このオペランドはHiRDB/パラレルサーバ限定のオペランドです。
ブランチしたトランザクションに自動決着指示を送信してから決着完了の応答があるまでの最大待ち時間を指定します。ここで指定した時間を過ぎても決着完了の応答がない場合,通信障害などの回復不能な障害が発生したとみなし,ブランチしたトランザクションへの決着指示を中止して,ブランチ元のトランザクションを決着させます。
なお,このオペランドに0を指定した場合は時間監視をしません。
《前提条件》
pd_trn_rerun_branch_auto_decideオペランドにYを指定,又は指定を省略している必要があります。

 

43) pd_trn_watch_time = トランザクション同期点処理時の最大通信待ち時間
〜<符号なし整数>((0,300〜65535))《3600》(単位:秒)
このオペランドはHiRDB/パラレルサーバ限定のオペランドです。
HiRDBサーバプロセス上で実行されるトランザクションの同期点処理で,トランザクションブランチ間で行う通信(プリペア及びコミットの要求又は完了通信)の受信待ち時間の最大値を指定します。指定時間を過ぎても要求又は完了通信がない場合,該当するトランザクションブランチが2相コミットの1相目完了前であればロールバックします。1相目完了後であれば,指示された処理を実行してトランザクションを決着します。トランザクション間で行う通信については,マニュアル「HiRDB Version 8 解説」の「コミットとロールバック」を参照してください。
《利点》
HiRDBクライアントがトランザクション決着指示を中断(クライアントプロセスの強制終了など)しても,HiRDBサーバがこのトランザクションの実行を中止しないと,トランザクションを実行し続けます。このため,データベースの排他資源などを長時間占有することがあります。このオペランドを指定すると,排他資源などの占有時間を短縮できます。
《指定値の目安》
通常,このオペランドを指定する必要はありません。次に示す場合にこのオペランドを指定してください。
  • コミット時にKFPA11989-E又はKFPA11722-Eメッセージが出力される場合
  • 該当トランザクションでデータベースの更新件数が少ないのにCOMMIT文の処理時間が掛かる場合
《オペランドの規則》
  • 0を指定すると,プリペア及びコミットの要求又は完了を受信するまで要求又は完了通信を待ち続けます。
  • 1〜299を指定した場合は300に切り上げられます。
《注意事項》
2相コミットの2相目で行うコミットの要求又は完了通信に対しては,pd_dbsync_point=commitを指定したときだけ,このオペランドの指定値が有効になります。

 

44) pd_trn_commit_optimize = ONEPHASE | NOUSE
このオペランドは,HiRDB/パラレルサーバ限定のオペランドです。
HiRDB/パラレルサーバのコミットメント制御で一相コミットを使用するかどうかを指定します。一相コミットについては,マニュアル「HiRDB Version 8 解説」を参照してください。
ONEPHASE:
トランザクション内の更新ブランチ数が一つの場合(一つのトランザクションが更新するサーバ数が一つの場合),コミットメント制御に一相コミットを使用します。なお,コミットメント制御で一相コミットを行うことを一相最適化といいます。
NOUSE:
コミットメント制御に二相コミットを使用します。一相コミットは使用しません。
《注意事項》
  • OLTPシステムから二相コミットの指示がある場合は,このオペランドの指定は無効になります。
  • pd_sysdef_default_optionオペランドにv6compatibleを指定している場合,このオペランドの省略値はNOUSEになります。recommendable,又はv7compatibleを指定している場合は,ONEPHASEが省略値になります。
  • 回復不要FESを使用している場合,このオペランドの指定よりも回復不要FESの制限事項が優先されます。制限事項を次に示します。
    ・フロントエンドサーバ上に出力されるログを抑止します。
    ・回復不要FESを適用したフロントエンドサーバでは,X/Open XAインタフェースを使用して接続するUAPを実行できません。