スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド(UNIX(R)用)

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

19.15 縮退起動をするときの運用方法(HiRDB/パラレルサーバ限定)

実行者 HiRDB管理者

HiRDB/パラレルサーバは一つでも起動できないユニットがあると開始できません。したがって,あるユニットに障害が発生すると,その障害が対処されるまでHiRDBを開始できなくなります。この場合,縮退起動を使用すると正常なユニットだけでHiRDBを開始できます。

<この節の構成>
(1) 縮退起動をするには
(2) 正常運転に戻す方法
(3) 縮退起動ができない場合があります
(4) 縮退起動中は表にアクセスできないことがあります
(5) 再開始時に縮退起動をした場合の注意事項
(6) マルチフロントエンドサーバの場合の注意事項
(7) HiRDB Datareplicatorと連携している場合の注意事項
(8) 次回以降のHiRDB開始時も縮退起動になる場合の運用
(9) 回復不要FES使用時の注意事項

(1) 縮退起動をするには

縮退起動をするにはpd_start_levelオペランドに1を指定します。この場合,HiRDB開始時に起動できないユニットがあれば,起動できないユニットを除いてHiRDBを開始します。縮退起動となった場合は,メッセージKFPS05217-Iが出力されます。起動できなかったユニットはpdlsコマンドで調べてください。

備考
HiRDBを開始するとき,HiRDBは各ユニットからの開始処理完了の連絡を最大20分待ちます。したがって,縮退起動をするときは最大20分間の開始処理完了の連絡待ち時間が発生します。なお,最大20分間の開始処理完了の連絡待ち時間をpd_reduced_check_timeオペランドで変更できます。

(2) 正常運転に戻す方法

縮退起動をした後に正常運転に戻す手順を次に示します。

〈手順〉
  1. pdlsコマンドで起動できないユニットを調べて,起動できないユニットの障害を対策してください。
    pdls -d svr
  2. pdstart -uコマンドで起動していないユニットを開始します。
    pdstart -u unt1
    正常運転になると,KFPS05218-Iメッセージが出力されます。

(3) 縮退起動ができない場合があります

次に示す場合は縮退起動ができません。障害を取り除いてからHiRDBを開始してください。

(4) 縮退起動中は表にアクセスできないことがあります

起動していないユニットにある表をアクセスするとSQLエラーになります。表を横分割している場合は,起動していないユニットにあるデータをアクセスするとSQLエラーになります。

(5) 再開始時に縮退起動をした場合の注意事項

再開始時に縮退起動をした場合,障害が発生したユニットに関連したトランザクションが未決着状態になることがあります。このトランザクションは縮退起動が解除されて正常運転になると自動的に決着します。また,未決着状態のトランザクションがあると,HiRDBを正常終了又は計画停止できません。HiRDBを終了させるには,pdstop -fコマンドで強制終了させてください。

(6) マルチフロントエンドサーバの場合の注意事項

クライアントユーザが接続するフロントエンドサーバを決めている場合は注意が必要です。具体的には,クライアント環境定義で次に示すオペランドを指定していると注意が必要です。

これらのオペランドに指定しているフロントエンドサーバが起動していない場合,UAPが実行できません。UAPを実行するにはこれらのオペランドを削除するか,又は起動しているフロントエンドサーバをこれらのオペランドに指定してください。

(7) HiRDB Datareplicatorと連携している場合の注意事項

(a) HiRDBが抽出側の場合
(b) HiRDBが反映側の場合

(8) 次回以降のHiRDB開始時も縮退起動になる場合の運用

ユニットの障害が早期に解決できないため,次回以降のHiRDB開始時も縮退起動になる場合は,pd_start_skip_unitオペランドに起動できないユニット名を指定してください。HiRDBを開始するとき,HiRDBは各ユニットからの起動開始の連絡を最大20分待ちます。したがって,縮退起動をするときは最大20分間の起動開始の連絡待ち時間が発生します。pd_start_skip_unitオペランドに起動できないユニット名を指定すると,このユニットの起動開始の連絡待ちをしません。最大20分間の起動開始の連絡待ち時間が解消されるため,縮退起動の時間を短縮できます。

〈運用例〉
  1. pd_start_levelオペランドには1を指定しています。
  2. あるユニットに障害が発生して起動できないため,HiRDBが縮退起動しました。
  3. 業務が終了したため,pdstopコマンドでHiRDBを終了します。このとき,まだ障害が解決されていません。
  4. 次に示すオペランドを指定します。
    pd_start_skip_unit=起動できないユニットの名称
  5. 業務を開始するため,pdstartコマンドでHiRDBを開始します。HiRDBの起動時間が,pd_start_skip_unitオペランドを指定しないときに比べて短縮されます。
    注意
    正常運転に戻った場合はpd_start_skip_unitオペランドを削除してください。削除しないと次回のHiRDB開始時も縮退起動となってしまいます。

(9) 回復不要FES使用時の注意事項

回復不要FESユニットは,pd_start_levelオペランドの指定値に関係なく独自に縮退起動をします。このため,pd_start_skip_unitオペランドに該当ユニットの名称を指定しても,指定を無視して回復不要FESユニットを開始します。また,一部の回復不要FESユニットがHiRDB開始時に起動できなくても,起動できないユニットを除いてHiRDBを開始します。