媒体障害の対応(NOARCHIVELOGモード)

バックアップ方針

NOARCHIVELOGモード時に行われるバックアップは、オフライン時の全体バックアップのみである。ここでバックアップされるのは、全てのデータファイルと制御ファイルであり、オンラインREDOログファイルは対象とならない。なぜなら、この時点でのオンラインREDOログファイルは使用されないからである。

具体的なバックアップの手順は以下のようになる:

  1. データベースを通常停止する。SHUTDOWN ABORTで停止した場合には、再度EXCLUSIVEモードでマウントし、通常停止を実行する。
  2. データベースを構成するファイル、制御ファイルと全てのデータファイルをOSの機能を用いてバックアップする。
  3. データベースを再起動する。

なお、データベースが使用している各種ファイルの物理的な位置については、以下のビューで確認できる。

データファイルのリスト
SELECT name FROM v$datafile;
オンラインREDOログファイルのリスト
SELECT member FROM v$logfile;
制御ファイルのリスト
SHOW PARAMETER control_files; または SELECT * FROM v$controlfile;

リカバリ方針

多重化ファイル(制御ファイル・REDOログファイル)の部分破損

制御ファイル・REDOログファイルを多重化しており、その一部のみが破損した場合には、単に障害メンバーを削除して再起動することで回復を行える。

制御ファイルの完全破損

制御ファイルのみが完全に破損した場合、制御ファイルを再作成することによりデータベースの回復を行える。その手順は以下の通り:

なお、コマンドALTER DATABASE BACKUP CONTROLFILE TO TRACEを実行することにより、トレースファイル内に現行の制御ファイルを作成するSQL文が自動的に作成される。

読み込み専用表領域の破損

読み込み専用表領域へのアクセスにはREDOファイルの書き込みが伴わないため、単にオフラインにしてデータファイルを上書きコピーすれば修復が完了する。

一時表領域の破損

一時表領域へのアクセスにはREDOファイルの書き込みが伴わないため、削除・再作成すれば修復が完了する。

読み書き可能表領域・カレントREDOロググループの破損

これらの場合、最後にバックアップを実施した時点へのデータの回復が行われる。その手順は以下の通り:

初期化パラメータRECOVERY_PARALLELISMを設定するか、RECOVERコマンドにPARALLEL句を指定するかすれば、回復操作で使用される同時実行プロセス数を指定できる。これは、PARALLEL_MAX_SERVERSパラメータより小さくなる。
ディスクが複数ある場合、これに8つ以上の数値が指定されていると、効率的な処理が可能になる。