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

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

19.8.1 現用ファイルに障害が発生したときの対処方法

現用ファイルに障害が発生したときの対処方法を次の表に示します。

表19-15 現用ファイルに障害が発生したときの対処方法

項番 障害発生時の条件 HiRDBの処理 HiRDB管理者の処置
1 予備のファイルがある場合 ステータスファイルをスワップします。このとき,KFPS01062-Iメッセージが出力されます。
障害が発生したファイルを閉塞とし,予備のファイルの一つを現用にして処理を続行します。
閉塞しているステータスファイルを
(1)に示す方法で予備にしてください。
2 予備のファイルがない場合 ステータスファイルの片系運転を指定している場合※1 ステータスファイルを片系運転にし,処理を続行します。このとき,KFPS01044-Iメッセージが出力されます。 早急に予備のファイルを作成して,ステータスファイルを両系運転の状態に戻してください。
(1)又は(2)に示す方法で予備のファイルを作成してください。その後,(3)に示す方法で予備のファイルを現用にしてください。
3 ステータスファイルの片系運転を指定していない場合※2 障害が発生したステータスファイルがあるユニットを異常終了します。 新規のステータスファイルを作成した後に,ユニットを再開始してください。ユニットの再開始方法については,「19.8.2 障害が発生したステータスファイルがある状態でHiRDB(ユニット)を開始するときの手順」を参照してください。
その後,閉塞しているステータスファイルを(1)に示す方法で予備にしてください。
4 片系運転中の障害,又は両方の系のファイルが障害の場合 障害が発生したステータスファイルがあるユニットを異常終了します。 ユニットを再開始するための情報が失われるため,ユニットを再開始できません。この場合,「19.8.3 現用ファイルの両系に障害が発生したためHiRDB(ユニット)を再開始できないときの対処方法」を参照してください。
なお,予備のステータスファイルがない場合は,ユニットを強制開始する前に,新規のステータスファイルを作成しておいてください。

注※1
ユニット制御情報定義にpd_syssts_singleoperation=continueを指定した場合,又はサーバ定義にpd_sts_singleoperation=continueを指定した場合です。

注※2
ユニット制御情報定義にpd_syssts_singleoperation=stop(省略値)を指定した場合,又はサーバ定義にpd_sts_singleoperation=stop(省略値)を指定した場合です。
<この項の構成>
(1) 閉塞のファイルを予備にする方法
(2) 予約のファイルを予備にする方法
(3) 予備のファイルを現用にする方法

(1) 閉塞のファイルを予備にする方法

〈手順〉
  1. pdlsコマンドで,閉塞しているステータスファイルを確認します。
    ユニット用ステータスファイルの場合:
    pdls -d sts -u UNT1
    サーバ用ステータスファイルの場合:
    pdls -d sts -s b001
  2. 閉塞しているステータスファイルが配置されているディスクに障害が発生しているかを確認してください。障害が発生している場合は障害を取り除いてください。物理的な障害(破損,電源の寸断など)のほかにも,OSやディスクドライバの障害,ディスクが有効化されているかなどについても調査してください。
  3. pdstsrmコマンドで,閉塞しているステータスファイルを削除します。
    ユニット用ステータスファイルの場合:
    pdstsrm -u UNT1 -f /sysfile/usts1a
    pdstsrm -u UNT1 -f /sysfile/usts1b
    サーバ用ステータスファイルの場合:
    pdstsrm -s b001 -f /sysfile/sstsb1a
    pdstsrm -s b001 -f /sysfile/sstsb1b
  4. pdstsinitコマンドで,3で削除したステータスファイルを再作成します。
    ユニット用ステータスファイルの場合:
    pdstsinit -u UNT1 -f /sysfile/usts1a -l 4096 -c 256
    pdstsinit -u UNT1 -f /sysfile/usts1b -l 4096 -c 256
    サーバ用ステータスファイルの場合:
    pdstsinit -s b001 -f /sysfile/sstsb1a -l 4096 -c 256
    pdstsinit -s b001 -f /sysfile/sstsb1b -l 4096 -c 256
  5. pdstsopenコマンドで,4で再作成したステータスファイルを予備にします。
    ユニット用ステータスファイルの場合:
    pdstsopen -u UNT1 -f /sysfile/usts1a
    pdstsopen -u UNT1 -f /sysfile/usts1b
    サーバ用ステータスファイルの場合:
    pdstsopen -s b001 -f /sysfile/sstsb1a
    pdstsopen -s b001 -f /sysfile/sstsb1b
コマンドの実行後,実行結果が正しいかどうか確認することをお勧めします。コマンドの実行結果の確認方法については,マニュアル「HiRDB Version 8 コマンドリファレンス」を参照してください。

(2) 予約のファイルを予備にする方法

〈手順〉
  1. pdlsコマンドで,予約のステータスファイルを確認します。
    ユニット用ステータスファイルの場合:
    pdls -d sts -u UNT1
    サーバ用ステータスファイルの場合:
    pdls -d sts -s b001
  2. pdstsopenコマンドで予約ファイルを予備にします。
    ユニット用ステータスファイルの場合:
    pdstsopen -u UNT1 -n usts1a
    サーバ用ステータスファイルの場合:
    pdstsopen -s b001 -n sstsb01
コマンドの実行後,実行結果が正しいかどうか確認することをお勧めします。コマンドの実行結果の確認方法については,マニュアル「HiRDB Version 8 コマンドリファレンス」を参照してください。

(3) 予備のファイルを現用にする方法

〈手順〉
  1. pdstsswapコマンドで予備のファイルを現用にします。
    ユニット用ステータスファイルの場合:
    pdstsswap -u UNT1
    サーバ用ステータスファイルの場合:
    pdstsswap -s b001
コマンドの実行後,実行結果が正しいかどうか確認することをお勧めします。コマンドの実行結果の確認方法については,マニュアル「HiRDB Version 8 コマンドリファレンス」を参照してください。