11.2.1 UAP障害時の回復方法
UAPに障害が発生した場合,HiRDBシステム全体が停止しないように対処する必要があります。
ここでは,UAP障害時の回復方法について説明します。
UAP障害時の回復方法としては,次に示す三つに分けられます。
-
HiRDBによるUAPトランザクションのロールバック
-
UAP指示によるトランザクションのロールバック
-
メモリ容量の再検討
UAP障害の種別と回復方法を次の表に示します。
障害種別 |
検 出 方 法 |
システム側の処置 |
回 復 方 法 |
---|---|---|---|
UAP異常終了 |
UAP処理時間監視機能 |
UAPの切り離し |
UAPトランザクションのロールバック |
UAP無限ループ |
|||
トランザクション未終了 |
|||
UAP処理エラー |
サーバ※1内の各種エラー検出機能 |
UAPへエラー応答 |
UAP指示によるトランザクションのロールバック |
UAPによるエラー検出とロールバック要求 |
UAPによるエラー検出 |
UAPの指示に従う |
|
デッドロック |
HiRDBのデッドロック検出機能 |
UAPへエラー応答(暗黙的ロールバック) |
UAPトランザクションの終了 |
メモリ不足 |
メモリ確保時のエラー |
UAP起動不可 |
共用メモリ,プロセス固有メモリの見直し※2 |
- 注※1
-
フロントエンドサーバ,及びバックエンドサーバを示します。
- 注※2
-
共用メモリ,プロセス固有メモリの見直しについては,システム管理者に依頼してください。
(1) UAP処理時間監視機能
UAPを実行すると,HiRDBのUAP処理時間監視機能によってタイマ監視されます。これは,UAPに異常が発生してHiRDBの処理が長時間止まった状態になることを防止するためです。
タイマ監視は,クライアント環境定義で環境変数PDSWAITTIMEによって監視する時間を指定します。時間を指定しないと,HiRDBの仮定値によって監視します。
クライアント環境定義の詳細については,「クライアント環境定義(環境変数の設定)」を参照してください。
(2) サーバ内の各種エラー検出機能
HiRDB/パラレルサーバの場合,SQLの実行中にフロントエンドサーバ内,又はバックエンドサーバ内で,データベース処理のプロセス異常などのエラーを検出すると,プロセスの切り離しなどが必要なため,UAP側にエラーステータスを返します。エラーステータスに対してUAPがロールバック要求を発行すると,HiRDBとしての回復処理がされます。
(3) UAPによるエラー検出
UAP内で障害を検出した場合,ロールバック要求を発行することで回復処理がされます。
なお,UAPが正常に処理された場合,UAPからのDISCONNECT指示によってプロセスが切り離されます。
(4) メモリ容量の再検討
共用メモリ,及びプロセス固有メモリが不足すると,メモリ,又はディスク容量の不足を表すメッセージが出力されます。メッセージが出力された場合,UAPを起動するために必要なメモリを確保した後,UAPを再実行します。
なお,共用メモリ,プロセス固有メモリの見直しについては,マニュアル「HiRDB Version 9 システム導入・設計ガイド」を参照するか,又はHiRDB管理者に連絡してください。