ページの先頭行へ戻る
Interstage Business Application Server 運用ガイド(高信頼性ログ編)
FUJITSU Software

10.2.1 媒体障害からのリカバリ

媒体障害が発生した場合のリカバリ方法は、以下の運用形態により異なります。

アーカイブログ運用を行っている場合

システムメッセージ“qdg03650u”または“qdg13039u”が出力されます。この場合は、rdbrcvコマンドのCオプションによりユーザログテーブルのDSIのリカバリを行ってください。

ユーザログテーブルに属するログDSIが、以下のように配置されている場合を例にとって、検出方法と確認方法を説明します。

媒体障害からのリカバリ操作の手順とリカバリ操作例を以下に示します。

リカバリ操作の手順

(1) 目的業務(ユーザログ出力業務)を実行します。
(2) アーカイブログファイルの強制切替えを行います。        ― rdblog -S -a
(3) 対象DSIの高信頼性ログ機能のエントリの切替えを         ― rdbcycswh -i
    行います。
(4) FULL状態のエントリをすべて出力ファイルに              ― rdbcycexp -me -i
    エクスポートします。
(5) アーカイブログを破棄します。                          ― rdblog -R -a
(6) 目的業務(ユーザログ出力業務)は継続実行されています。
(7) アーカイブログファイルの強制切替えを行います。        ― rdblog -S -a
(8) 対象DSIの高信頼性ログ機能のエントリの切替えを         ― rdbcycswh -i
    行います。
(9) FULL状態のエントリをすべて出力ファイルに              ― rdbcycexp -me -i
    エクスポートします。
(10) アーカイブログを破棄します。                         ― rdblog -R -a
     目的業務を実行します

(11)        ★ 媒体障害発生

   (媒体障害が発生してもエントリ自動切替えにより業務は継続されます)
(12) 事前に作成しておいたディスク上のデータベーススペース情報一覧から
     破壊されているディスク上のデータベーススペース名を確認します。
(13) 媒体障害が発生したボリュームに割り付けられたデータ   ― rdbinf -p
    ベーススペースより、障害対象のDSIを把握します。
(14) 媒体障害が発生したボリュームに割り付けられたデータ   ― rdbexspc
    ベーススペースを切り離します。
(15) 障害ボリュームを取り替えます。                       ― CE作業
(16) ボリュームの構成情報を復元します。                   ― fmthard
(17) 切り離したデータベーススペースを接続します。         ― rdbexspc
(18) リカバリ対象DSIのエントリ通番を確認します。          ― rdbinf -i -c
(19) 対象DSIをエントリ指定でリカバリします。              ― rdbrcv -C -e
(20) 対象DSIのユーザログをエクスポートします。            ― rdbcycexp -me -i
(21) 目的業務(ユーザログ出力業務)は継続実行されています。

(1) 目的業務(ユーザログ出力業務)を実行します。
(2) アーカイブログファイルの強制切替えを行います。        ― rdblog -S -a
(3) 対象DSIの高信頼性ログ機能のエントリの切替えを         ― rdbcycswh -i
    行います。
(4) FULL状態のエントリをすべて出力ファイルに              ― rdbcycexp -me -i
    エクスポートします。
(5) アーカイブログを破棄します。                          ― rdblog -R -a
(6) 目的業務(ユーザログ出力業務)は継続実行されています。
(7) アーカイブログファイルの強制切替えを行います。        ― rdblog -S -a
(8) 対象DSIの高信頼性ログ機能のエントリの切替えを         ― rdbcycswh -i
    行います。
(9) FULL状態のエントリをすべて出力ファイルに              ― rdbcycexp -me -i
    エクスポートします。
(10) アーカイブログを破棄します。                         ― rdblog -R -a
     目的業務を実行します

(11)        ★ 媒体障害発生

   (媒体障害が発生してもエントリ自動切替えにより業務は継続されます)
(12) 事前に作成しておいたディスク上のデータベーススペース情報一覧から
     破壊されているディスク上のデータベーススペース名を確認します。
(13) 媒体障害が発生したボリュームに割り付けられたデータ   ― rdbinf -p
    ベーススペースより、障害対象のDSIを把握します。
(14) 媒体障害が発生したボリュームに割り付けられたデータ   ― rdbexspc
    ベーススペースを切り離します。
(15) 障害ボリュームを取り替えます。                       ― CE作業
(16) ボリュームの構成情報を復元します。                   ―fdiskコマンドかつrawコマンド
(17) 切り離したデータベーススペースを接続します。         ― rdbexspc
(18) リカバリ対象DSIのエントリ通番を確認します。          ― rdbinf -i -c
(19) 対象DSIをエントリ指定でリカバリします。              ― rdbrcv -C -e
(20) 対象DSIのユーザログをエクスポートします。            ― rdbcycexp -me -i
(21) 目的業務(ユーザログ出力業務)は継続実行されています。

(1) 目的業務(ユーザログ出力業務)を実行します。
(2) アーカイブログファイルの強制切替えを行います。        ― rdblog -S -a
(3) 対象DSIの高信頼性ログ機能のエントリの切替えを         ― rdbcycswh -i
    行います。
(4) FULL状態のエントリをすべて出力ファイルに              ― rdbcycexp -me -i
    エクスポートします。
(5) アーカイブログを破棄します。                          ― rdblog -R -a
(6) 目的業務(ユーザログ出力業務)は継続実行されています。
(7) アーカイブログファイルの強制切替えを行います。        ― rdblog -S -a
(8) 対象DSIの高信頼性ログ機能のエントリの切替えを         ― rdbcycswh -i
    行います。
(9) FULL状態のエントリをすべて出力ファイルに              ― rdbcycexp -me -i
    エクスポートします。
(10) アーカイブログを破棄します。                         ― rdblog -R -a
     目的業務を実行します

(11)        ★ 媒体障害発生

   (媒体障害が発生してもエントリ自動切替えにより業務は継続されます)
(12) 事前に作成しておいたディスク上のデータベーススペース情報一覧から
     破壊されているディスク上のデータベーススペース名を確認します。
(13) 媒体障害が発生したボリュームに割り付けられたデータ   ― rdbinf -p
    ベーススペースより、障害対象のDSIを把握します。
(14) 媒体障害が発生したボリュームに割り付けられたデータ   ― rdbexspc
    ベーススペースを切り離します。
(15) 障害ボリュームを取り替えます。                       ― CE作業
(16) ディレクトリの構成を復旧します。                     ― mkdir
(17) 切り離したデータベーススペースを接続します。         ― rdbexspc
(18) リカバリ対象DSIのエントリ通番を確認します。          ― rdbinf -i -c
(19) 対象DSIをエントリ指定でリカバリします。              ― rdbrcv -C -e
(20) 対象DSIのユーザログをエクスポートします。            ― rdbcycexp -me -i
(21) 目的業務(ユーザログ出力業務)は継続実行されています。

リカバリ操作例

目的業務(ユーザログ出力業務)を実行します。

$ rdblog -S -a
$ rdbcycswh -i ユーザログDB.ユーザログDSI
$ rdbcycexp -me -i ユーザログDB.ユーザログDSI -o /home/rdb2/ulog20040602_01.dat

$ rdblog -R -a

目的業務(ユーザログ出力業務)は継続実行されています。

$ rdblog -S -a
$ rdbcycswh -i ユーザログDB.ユーザログDSI
$ rdbcycexp -me -i ユーザログDB.ユーザログDSI -o /home/rdb2/ulog20040602_02.dat

$ rdblog -R -a

目的業務(ユーザログ出力業務)は継続実行されています。

rdb: ERROR: qdg13039u:データベーススペースのデバイスに異常を検出しました DB名='ユーザログDB' DBS名='DBSP3' デバイス名='/dev/rdsk/c3t1d2s3' 物理ブロック番号='99' 原因コード='1' 調査コード='2 0 ' (システム名=rdbsys1)
rdb: ERROR: qdg03650u:入出力障害のためデータベースをアクセス禁止状態にしました DB名='ユーザログDB' DSI名='ユーザログDSI' ページ番号='10' DBS名='DBSP3' 物理ブロック番号='99' (システム名=rdbsys1)

(媒体障害が発生してもCYCLIC構造のDSIはエントリ自動切替えにより業務は継続されます)

  オペレータ操作 … 破壊されているディスク上のデータベーススペース名を確認する。

$ rdbinf -p ユーザログDB.DBSP3 -a

$ rdbexspc -mdetach -p ユーザログDB.DBSP3

CE作業 … 障害ボリュームの交換、ボリューム構成情報の復元

$ fmthard -s c3t1d2_vtoc.txt /dev/rdsk/c3t1d2s2

$ rdbexspc -mattach -p ユーザログDB.DBSP3

$ rdbinf -i ユーザログDB.ユーザログDSI -c

$ rdbrcv -C -i ユーザログDB.ユーザログDSI -e 3 -w /tmp

$ rdbcycexp -me -i ユーザログDB.ユーザログDSI -o /home/rdb2/ulog20040602_03.dat

目的業務(ユーザログ出力業務)は継続実行されています。

目的業務(ユーザログ出力業務)を実行します。

$ rdblog -S -a
$ rdbcycswh -i ユーザログDB.ユーザログDSI
$ rdbcycexp -me -i ユーザログDB.ユーザログDSI -o /home/rdb2/ulog20040602_01.dat

$ rdblog -R -a

目的業務(ユーザログ出力業務)は継続実行されています。

$ rdblog -S -a
$ rdbcycswh -i ユーザログDB.ユーザログDSI
$ rdbcycexp -me -i ユーザログDB.ユーザログDSI -o /home/rdb2/ulog20040602_02.dat

$ rdblog -R -a

目的業務(ユーザログ出力業務)は継続実行されています。

rdb: ERROR: qdg13039u:データベーススペースのデバイスに異常を検出しました DB名='ユーザログDB' DBS名='DBSP3' デバイス名='/dev/raw/raw4' 物理ブロック番号='99' 原因コード='1' 調査コード='2 0 ' (システム名=rdbsys1)
rdb: ERROR: qdg03650u:入出力障害のためデータベースをアクセス禁止状態にしました DB名='ユーザログDB' DSI名='ユーザログDSI' ページ番号='10' DBS名='DBSP3' 物理ブロック番号='99' (システム名=rdbsys1)

(媒体障害が発生してもCYCLIC構造のDSIはエントリ自動切替えにより業務は継続されます)

  オペレータ操作 … 破壊されているディスク上のデータベーススペース名を確認する。

$ rdbinf -p ユーザログDB.DBSP3 -a

$ rdbexspc -mdetach -p ユーザログDB.DBSP3

CE作業 … 障害ボリュームの交換、ボリューム構成情報の復元


$ rdbexspc -mattach -p ユーザログDB.DBSP3

$ rdbinf -i ユーザログDB.ユーザログDSI -c

$ rdbrcv -C -i ユーザログDB.ユーザログDSI -e 3 -w /tmp

$ rdbcycexp -me -i ユーザログDB.ユーザログDSI -o /home/rdb2/ulog20040602_03.dat

目的業務(ユーザログ出力業務)は継続実行されています。

目的業務(ユーザログ出力業務)を実行します。

> rdblog -S -a
> rdbcycswh -i ユーザログDB.ユーザログDSI
> rdbcycexp -me -i ユーザログDB.ユーザログDSI -o D:\USERS\RDB2\ULOG20060602_01.DAT

> rdblog -R -a

目的業務(ユーザログ出力業務)は継続実行されています。

> rdblog -S -a
> rdbcycswh -i ユーザログDB.ユーザログDSI
> rdbcycexp -me -i ユーザログDB.ユーザログDSI -o D:\USERS\RDB2\ULOG20060602_02.DAT

> rdblog -R -a

目的業務(ユーザログ出力業務)は継続実行されています。

rdb: ERROR: qdg13039u:データベーススペースのデバイスに異常を検出しました 
DB名='ユーザログDB' DBS名='DBSP3' デバイス名='E:SFWD\RDB\USR\DBSP\DBSP_1' 物理ブロック番号='99' 原因コード='1' 調査コード='2 0 ' (システム名=rdbsys1)
rdb: ERROR: qdg03650u:入出力障害のためデータベースをアクセス禁止状態にしました 
DB名='ユーザログDB' DSI名='ユーザログDSI' ページ番号='10' DBS名='DBSP3' 物理ブロック番号='99' (システム名=rdbsys1)

(媒体障害が発生してもCYCLIC構造のDSIはエントリ自動切替えにより業務は継続されます)

  オペレータ操作 … 破壊されているディスク上のデータベーススペース名を確認する。

> rdbinf -p ユーザログDB.DBSP3 -a

> rdbexspc -mdetach -p ユーザログDB.DBSP3

CE作業 … 障害ボリュームの交換、ディレクトリ構成情報の復旧

> mkdir E:\SFWD\RDB\USR\DBSP

> rdbexspc -mattach -p ユーザログDB.DBSP3

> rdbinf -i ユーザログDB.ユーザログDSI -c

> rdbrcv -C -i ユーザログDB.ユーザログDSI -e 3 -w C:\TEMP

> rdbcycexp -me -i ユーザログDB.ユーザログDSI -o D:\USERS\RDB2\ULOG20060602_03.DAT

目的業務(ユーザログ出力業務)は継続実行されています。

注意

  • アーカイブログファイルが閉塞された状態では、データベースを最新状態までリカバリすることができません。アーカイブログファイルが閉塞された場合は、アーカイブログファイルのリカバリ処理を行ってください。アーカイブログファイルのリカバリについては、“10.7 アーカイブログファイルのリカバリ”を参照してください。

  • 閉塞状態のアーカイブログファイルが存在する場合、システムメッセージ“qdg13508u”を出力し、rdbrcvコマンドが異常終了します。このような場合、リカバリ対象エントリへの切替え時点から最新までのリカバリ区間が連続していることが保証できるときには、閉塞されたアーカイブログファイルおよび閉塞以前に使用されていたアーカイブログファイルを破棄した後、再度rdbrcvコマンドを実行することでリカバリすることができます。

アーカイブログ運用を行っていない場合

システムメッセージ“qdg03650u”または“qdg13039u”が出力されます。この場合は、rdbfmtコマンドによるDSIの初期化を行ってください。