ORACLE MASTER資格の中級に位置付けられ、取得すればOracle技術者としてグローバルに認定される「ORACLE MASTER Silver Oracle Database 10g」。例題を利用してポイントを押さえ、確実な合格を目指そう!
前回「Oracleデータベースのバックアップを取得する」で、データベースのバックアップについて紹介しました。最終回である今回は、データベースのリカバリについて詳しく学びましょう。
バックアップをリストアすることでリカバリを行うメディアリカバリがメインです。REDOログファイルのリカバリ方法としてのログ消去なども対象となります。基本的なリカバリ方法を正しく理解しておくことが重要です。過去の一時点を対象とした不完全リカバリについては、ORACLE MASTER Silverの範囲ではありません。
OracleインスタンスにはNOMOUNT、MOUNT、OPENという3つのモードがありますが、データベースファイルに障害が発生すると、OPENまで進むことができません。ファイルに問題があった場合、データベースのモードは次のようになります。
モード | 説明 |
---|---|
NOMOUNTで停止 | ・初期化パラメータファイルが読み込めない場合 ・制御ファイルに問題がある場合 |
MOUNTで停止 | ・オンラインのデータファイルに問題がある場合 ・REDOロググループのすべてのメンバーファイルに問題がある場合 |
オフラインのデータファイルやREDOロググループの一部のメンバーに問題があっても、データベースをオープンすることができます。
オープンしたデータベースにおいて、次のファイルに障害が発生すると、データベースは停止します。
制御ファイルが損失すると、Oracleインスタンスは停止します。ミラー化していても、1つの制御ファイルが損失するとインスタンスは停止しますが、この場合は正常な制御ファイルを欠落した制御ファイルにコピーし、インスタンスを起動するだけでリカバリが完了します。
REDOログファイルが損失し、そのことによってREDOロググループが構成できなくなるとインスタンスは停止します。しかし、REDOロググループに1つ以上のREDOログメンバーが残っている場合、インスタンスは継続できます。ミラー化している場合は、同じREDOロググループ内の正常なREDOログメンバーを欠落したREDOログメンバーにコピーするだけでリカバリは完了します。
次の2つの方法でもリカバリが可能です。
REDOログメンバーの削除、追加、REDOロググループの消去を行う場合、該当するREDOロググループが、CURRENT(現行)、ACTIVE(回復に必要)のステータスであるとエラーになります。エラーを防止するには、ログスイッチと手動でチェックポイントを実行します。
非クリティカルファイルとは、それが存在しなくてもデータベースがオープンしていられるデータファイルのことです。SYSTEM表領域とUNDO表領域のデータファイル以外は非クリティカルファイルであるといえます。
非クリティカルファイルの障害が起こり、NOARCHIVELOGモードであった場合、その表領域を再作成しても問題なければ再作成で対応します。索引しか含まれていない表領域である場合やエクスポートしておいたデータがある場合は再作成でよいでしょう。しかし再作成できない場合、クリティカルなデータファイルの障害の際と同じリカバリが必要です。
ARCHIVELOGモードの場合、次の手順でオープンしたままリカバリが可能です。
Enterprise Managerを使用する場合、リカバリしたいファイルを指定するだけで、上記のステップが自動的に行われます。
クリティカルファイルとは、それが存在しないとデータベースがオープンできないデータファイルです。SYSTEM表領域とUNDO表領域のデータファイルはクリティカルファイルであるといえます。
クリティカルファイルの障害が起こり、NOARCHIVELOGモードであった場合、すべてのオフラインバックアップ(制御ファイル、データファイル、REDOログファイル)をリストアする必要があります。インスタンスを停止し、すべてをリストアすればインスタンスを起動できますが、前回のバックアップから障害発生までのトランザクションを失うことになります。
ARCHIVELOGモードの場合、リカバリすることはできますが、次の手順のようにMOUNTモードでの作業が必要です。
Copyright © ITmedia, Inc. All Rights Reserved.