26.18.4 注意事項
- 〈この項の構成〉
(1) 時間監視関連のオペランドについて
トランザクションのキューイング時間は最大で,pd_ha_trn_queuing_wait_timeオペランドの値(省略値180秒)とpd_ha_trn_restart_retry_timeオペランドの値(省略値60秒)の合計時間になります。このため,次に示すオペランドの値に注意してください。
-
クライアント環境定義のPDCWAITTIMEオペランド
系切り替え中もPDCWAITTIMEが計測されているため,系の切り替えに掛かる時間を加算してオペランドの値を決めてください。
-
pd_lck_wait_timeoutオペランド
キューイングされているトランザクションが障害の発生していないユニットで排他を確保することがあるため,系の切り替えに掛かる時間を加算してオペランドの値を決めてください。
系の切り替えに掛かる時間は,クラスタソフトウェアがイベントログに出力する系切り替え開始メッセージと系切り替え完了メッセージの出力時刻の差分によって求められます。系の切り替えが開始したときは次に示すどれかのメッセージが出力されます。
-
KAMN200-Iメッセージ(クラスタソフトウェアの系を切り替えるコマンド入力時に出力)
-
KAMN300-Eメッセージ(実行系HiRDBの異常終了時に出力)
-
KAMN301-Eメッセージ(実行系HiRDBのスローダウン時に出力)
系の切り替えが完了したときはKAMN311-Iメッセージが出力されます。
(2) リスト使用時の注意事項
リストを使用した検索中に系切り替えが発生した場合は注意が必要です。バックエンドサーバ又はディクショナリサーバのユニットで系切り替えが発生すると,系切り替え前のユニットで作成したリストが削除されます。そのため,系切り替え後にリストを使用した検索(キューイングされていたトランザクション)がエラーになります。この場合,リストを削除するか,又はリストを再作成してください。
(3) 最大同時接続数(pd_max_usersオペランドの値)について
トランザクションのキューイング中は処理待ちのユーザ数が通常より多くなるため,最大同時接続数(pd_max_usersオペランドの値)を超える可能性があります。最大同時接続数を超えた場合,それ以上のユーザはそのフロントエンドサーバに接続できませんが,フロントエンドサーバへの接続処理をリトライします。pd_ha_trn_queuing_wait_timeとpd_ha_trn_restart_retry_timeオペランドの合計時間だけリトライします。
(4) 系切り替え中にHiRDBに接続できないUAPについて
次に示す場合,系切り替え中にHiRDBに接続できないUAPが発生します。
-
システムマネジャのユニットが系切り替え中の場合はフロントエンドサーバの割り当てができないため,接続するフロントエンドサーバを指定していない(PDFESHOSTオペランドの指定がない)UAPはHiRDBに接続(CONNECT)できません。
-
PDFESHOSTオペランドに指定しているフロントエンドサーバのユニットが系切り替え中の場合,そのUAPはHiRDBに接続(CONNECT)できません。
この場合,UAPは自動再接続機能でHiRDBへの接続処理をリトライします。リトライ中に系の切り替えが完了すると,HiRDBに接続できるようになります。自動再接続機能については,マニュアル「HiRDB UAP開発ガイド」を参照してください。
(5) バックエンドサーバ接続保持機能を使用している場合
バックエンドサーバ接続保持機能を使用している場合の注意事項については,「クライアントの最大待ち時間の設定」を参照してください。
(6) サーバが停止した状態でのSQL実行について
ユニットやサーバの終了によって停止したサーバに対してSQLを実行しても,トランザクションキューイングが行われて,エラーになるまでの時間が長くなります。
また,次のどちらかのメッセージを出力することがあります。
-
KFPS00993-I(REQUEST=PDCWAITTIME_over)
-
KFPS00612-E(reason=pd_ha_trn_restart_retry_time)
(7) 複数ユニットが同時に系切り替えした場合
トランザクションキューイング機能は,フロントエンドサーバを配置したユニットの起動後に,バックエンドサーバやディクショナリサーバを配置したユニットが稼働中又は起動し始めてから機能が有効になります。
フロントエンドサーバを含む複数ユニットの同時系切り替え時にも,バックエンドサーバやディクショナリサーバを配置したユニットの起動を待たないでトランザクションキューイング機能を有効にする場合は,pd_ha_trn_queuing_initialオペランドの適用を検討してください。pd_ha_trn_queuing_initialオペランドについては,マニュアル「HiRDB システム定義」を参照してください。