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

10.7 アーカイブログファイルのリカバリ

データベースの運用中に、アーカイブログファイルに入出力障害が発生した場合のリカバリ方法について説明します。

アーカイブログファイルに入出力障害が発生した場合は、システムメッセージ“qdg03815u”、“qdg12250u”、“qdg12275w”、または“qdg12483u”が出力されます。

Symfoware/RDB停止中にアーカイブログファイルをリカバリする場合のリカバリ操作の手順とリカバリ操作例を以下に示します。

リカバリ操作の手順

 (1) 業務中にアーカイブログファイルのアクセスエラーが発生した場合、システムメッセー
  ジを出力して、アーカイブログファイルを閉塞します。同時に、空きアーカイブログファ
  イルがある場合は、自動的に切り替わります。
(2) Symfoware/RDBを停止します。                      ――― rdbstopコマンド
(3) 障害ボリュームを取り換えます。                   ――― CE作業
(4) ボリュームの構成情報を復元します。               ――― fmthardコマンド
(5) アーカイブログファイルの状態を表示します。       ――― rdblogコマンド
                                                              (Vオプションかつ
                                                               aオプション)
(6) すべてのアーカイブログファイルを削除します。     ――― rdblogコマンド
                                                              (Dオプションかつ
                                                               aオプション)
(7) アーカイブログファイルを作成します。             ――― rdblogコマンド
                                                              (Gオプションかつ
                                                               aオプション)
                                                              (Uオプションかつ
                                                               aオプション)
(8) すべてのアーカイブログファイルが正常に作成された ――― rdblogコマンド
  ことを確認します。                                          (Vオプションかつ
                                                               aオプション)
(9) Symfoware/RDBを起動します。                      ――― rdbstartコマンド
(10) RDBディクショナリの退避データを取得します。     ――― rdbdmpdicコマンド
(11) FULL状態のエントリをすべて出力ファイルに        ――― rdbcycexpコマンド
     エクスポートします。

(1) 業務中にアーカイブログファイルのアクセスエラーが発生した場合、システムメッセー
  ジを出力して、アーカイブログファイルを閉塞します。同時に、空きアーカイブログファ
  イルがある場合は、自動的に切り替わります。
(2) Symfoware/RDBを停止します。                      ――― rdbstopコマンド
(3) 障害ボリュームを取り換えます。                   ――― CE作業
(4) ボリュームの構成情報を復元します。
                                                       ――― partedコマンド
(5) アーカイブログファイルの状態を表示します。       ――― rdblogコマンド
                                                              (Vオプションかつ
                                                               aオプション)
(6) すべてのアーカイブログファイルを削除します。     ――― rdblogコマンド
                                                              (Dオプションかつ
                                                               aオプション)
(7) アーカイブログファイルを作成します。             ――― rdblogコマンド
                                                              (Gオプションかつ
                                                               aオプション)
                                                              (Uオプションかつ
                                                               aオプション)
(8) すべてのアーカイブログファイルが正常に作成された ――― rdblogコマンド
  ことを確認します。                                          (Vオプションかつ
                                                               aオプション)
(9) Symfoware/RDBを起動します。                      ――― rdbstartコマンド
(10) RDBディクショナリの退避データを取得します。     ――― rdbdmpdicコマンド
(11) FULL状態のエントリをすべて出力ファイルに        ――― rdbcycexpコマンド
     エクスポートします。

(1) 業務中にアーカイブログファイルのアクセスエラーが発生した場合、システムメッセー
  ジを出力して、アーカイブログファイルを閉塞します。同時に、空きアーカイブログファ
  イルがある場合は、自動的に切り替わります。
(2) Symfoware/RDBを停止します。                      ――― rdbstopコマンド
(3) 障害ディスクを取り換えます。                     ――― CE作業
(4) ディレクトリ構成をリカバリします。               ――― mkdirコマンド
(5) アーカイブログファイルの状態を表示します。       ――― rdblogコマンド
                                                              (Vオプションかつ
                                                               aオプション)
(6) すべてのアーカイブログファイルを削除します。     ――― rdblogコマンド
                                                              (Dオプションかつ
                                                               aオプション)
(7) アーカイブログファイルを作成します。             ――― rdblogコマンド
                                                              (Gオプションかつ
                                                               aオプション)
                                                              (Uオプションかつ
                                                               aオプション)
(8) すべてのアーカイブログファイルが正常に作成された ――― rdblogコマンド
  ことを確認します。                                          (Vオプションかつ
                                                               aオプション)
(9) Symfoware/RDBを起動します。                      ――― rdbstartコマンド
(10) RDBディクショナリの退避データを取得します。     ――― rdbdmpdicコマンド
(11) FULL状態のエントリをすべて出力ファイルに        ――― rdbcycexpコマンド
     エクスポートします。

リカバリ操作例

ここでは、以下の場合を想定しています。

rdb: WARNING: qdg12275w: アーカイブログファイル/dev/rdsk/c1t1d0s1(通番:125)への
     書込み時にwriteシステムコールでエラーが発生しました errno=5
     (システム名=rdbsys1)

rdb: ERROR: qdg13305e: アーカイブログファイルを閉塞しました(システム名=rdbsys1)

$ rdbstop

CE作業 … 障害ボリュームの交換

$ fmthard -s c1t1d0_vtoc.txt /dev/rdsk/c1t1d0s2

$ rdblog -V -a
serial#  status  total  used    avail    capacity  backup-date  path
     4   full    10M    10M     0        100%      -----        /dev/rdsk/c4t1d0s1
     5   switch  10M    5419520 26037760 17%       -----        /dev/rdsk/c4t1d0s3
     6   inh     10M    974336  30482944 3%        -----        /dev/rdsk/c4t1d0s4

$ rdblog -D -a /dev/rdsk/c1t1d0s1
$ rdblog -D -a /dev/rdsk/c1t1d0s3
$ rdblog -D -a /dev/rdsk/c1t1d0s4

$ rdblog -G -a /dev/rdsk/c1t1d0s1 30M

$ rdblog -U -a /dev/rdsk/c1t1d0s3
$ rdblog -U -a /dev/rdsk/c1t1d0s4

$ rdblog -V -a
serial#  status  total  used    avail     capacity  backup-date path
     7   empty   10M    0       10        0%        -----       /dev/rdsk/c4t1d0s1
     0   empty   10M    0       10M       0%        -----       /dev/rdsk/c4t1d0s3
     0   empty   10M    0       10M       0%        -----       /dev/rdsk/c4t1d0s4

$ rdbstart

$ rdbdmpdic -f dicback@/backup/rdb -y -e

$ rdbcycexp -me -i ULOG_DB.業務ログ表DSI -o  /home/rdb2/ulog20040602_001.dat

rdb: WARNING: qdg12275w: アーカイブログファイル/dev/raw/raw4(通番:125)への
     書込み時にwriteシステムコールでエラーが発生しました errno=5
     (システム名=rdbsys1)

rdb: ERROR: qdg13305e: アーカイブログファイルを閉塞しました(システム名=rdbsys1)

$ rdbstop

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

$ rdblog -V -a
serial#  status  total  used    avail    capacity  backup-date  path
     4   full    10M    10M     0        100%      -----        /dev/raw/raw2
     5   switch  10M    5419520 26037760 17%       -----        /dev/raw/raw3
     6   inh     10M    974336  30482944 3%        -----        /dev/raw/raw4

$ rdblog -D -a /dev/raw/raw2
$ rdblog -D -a /dev/raw/raw3
$ rdblog -D -a /dev/raw/raw4

$ rdblog -G -a /dev/raw/raw15 30M

$ rdblog -U -a /dev/raw/raw16
$ rdblog -U -a /dev/raw/raw17

$ rdblog -V -a
serial#  status  total  used    avail     capacity  backup-date path
     7   empty   10M    0       10        0%        -----       /dev/raw/raw15
     0   empty   10M    0       10M       0%        -----       /dev/raw/raw16
     0   empty   10M    0       10M       0%        -----       /dev/raw/raw17

$ rdbstart

$ rdbdmpdic -f dicback@/backup/rdb -y -e

$ rdbcycexp -me -i ULOG_DB.業務ログ表DSI -o  /home/rdb2/ulog20040602_001.dat

rdb: WARNING: qdg12275w: アーカイブログファイルD:\SFWD\RDB\USR\LOG\ARCLOG3(通番:125)への書込み時にwriteシステムコールでエラーが発生しました errno=5
     (システム名=rdbsys1)

rdb: ERROR: qdg13305e: アーカイブログファイルを閉塞しました(システム名=rdbsys1)

> rdbstop

CE作業 … 障害ディスクの交換

> mkdir D:\SFWD\RDB\USR\LOG

> rdblog -V -a
serial#  status  total  used    avail    capacity  backup-date  path
     4   full    10M    10M     0        100%      -----      D:\SFWD\RDB\USR\LOG\ARCLOG1
     5   switch  10M    5419520 26037760 17%       -----      D:\SFWD\RDB\USR\LOG\ARCLOG2
     6   inh     10M    974336  30482944 3%        -----      D:\SFWD\RDB\USR\LOG\ARCLOG3

> rdblog -D -a D:\SFWD\RDB\USR\LOG\ARCLOG1
> rdblog -D -a D:\SFWD\RDB\USR\LOG\ARCLOG2
> rdblog -D -a D:\SFWD\RDB\USR\LOG\ARCLOG3

> rdblog -G -a D:\SFWD\RDB\USR\LOG\ARCLOG1 30M

> rdblog -U -a D:\SFWD\RDB\USR\LOG\ARCLOG2
> rdblog -U -a D:\SFWD\RDB\USR\LOG\ARCLOG3

> rdblog -V -a
serial#  status  total  used    avail     capacity  backup-date path
     7   empty   10M    0       10        0%        -----     D:\SFWD\RDB\USR\LOG\ARCLOG1
     0   empty   10M    0       10M       0%        -----     D:\SFWD\RDB\USR\LOG\ARCLOG2
     0   empty   10M    0       10M       0%        -----     D:\SFWD\RDB\USR\LOG\ARCLOG3

> rdbstart

> rdbdmpdic -f DICBACK@E:\BACKUP\DIC -y -e

> rdbcycexp -me -i ULOG_DB.業務ログ表DSI -o  STOCK@E:\BACKUP\DB