連載
» 2007年02月08日 00時00分 公開

Oracleバックアップ/リカバリ講座(11):OSコマンドを使用したリストア・リカバリの方法 (1/4)

本記事では、Oracleデータベースのバックアップ/リストア/リカバリについて、そのアーキテクチャ、代表的なバックアップ手法、論理/物理バックアップ、RMANといった全般的な内容を解説していく。(編集部)

[森谷聡,株式会社アゲハ]

主な内容

--Page 1--
▼リストアおよびリカバリの概略
--Page 2--
▼完全リカバリ ―― オフラインリカバリ
--Page 3--
▼完全リカバリ ―― オンラインリカバリ
--Page 4--
▼不完全リカバリ
▼ノーアーカイブログ運用でのリカバリ


 前回までにOSコマンド、Recovery Manager(以下、RMAN)、それぞれを使用したバックアップ方法について説明してきました。今回は、リストア・リカバリ方法の概略を説明したうえで、実際にOSコマンドを使用したリカバリ方法について説明します。なお、コマンドの実行結果は、これまでと同様にLinux環境のOracle 10g Release 2で実行したものになります。

リストアおよびリカバリの概略

 リストア・リカバリにOSコマンドを使用するか、RMANを使用するかで、具体的な手順や利用できる機能には違いがありますが、基本となる考え方は同じです。

 そのため、まずリストア・リカバリの概略を説明し、今回と次回に分けて、OSコマンドとRMANを使用した具体的なリストア手順を見ていきたいと思います。Oracleのリカバリの仕組みについては、第2回「アーキテクチャから理解するOracleリカバリ」も参照してください。

リストア・リカバリ前の確認事項

 Oracleのリストア・リカバリを開始する前に、確認しておくべきポイントを以下にまとめます。

  • アラートログファイルにエラーが出力されていないか
    リカバリが必要となる障害が検知された場合、アラートログファイルにエラーが出力されます。このため障害時には、まずアラートログファイルで、エラーの内容を確認します。

  • ほかに破損しているデータベース構成ファイルはないか
    アラートログファイルには、チェックポイントやファイルへのアクセスなどにより、Oracleが障害を検知したファイルについてエラーが出力されます。そのため、アラートログファイルにエラーが出力された場合、該当のファイル以外にも障害が発生している可能性があります。このため、データベースの障害が発生した場合には、必ず動的パフォーマンス・ビューv$recover_fileやv$datafile_header(直接、物理データファイルのヘッダを参照する)も確認します。

  • 障害の発生した部位の問題は解消されているか
    障害の原因がディスク障害などのハードウェア側の障害により引き起こされた場合、障害の発生した部位(ハードウェア)が復旧していることを確認します。

リカバリの種類

 それでは、Oracleにおけるリカバリの種類について説明します。

 ・完全リカバリ

 完全リカバリとはアーカイブREDOログファイル、オンラインREDOログファイルの変更履歴を適用し、障害発生直前の状態(障害発生直前のコミットが完了した時点)までリカバリする方法です。ただし、完全リカバリを実施する際には、アーカイブログモードで運用していることが前提となります。また、完全リカバリには、データベースをマウントした状態でリカバリを行うオフラインリカバリと、データベースをオープンしたままでリカバリを行うオンラインリカバリがあります。

  −オフラインリカバリ

 データベースをマウント状態とし、表領域やデータファイル、もしくはデータベース全体をリカバリすることです。通常シングルインスタンスのデータベースで、SYSTEM表領域やUNDO表領域(RAC環境では1つでもUNDO表領域が正常であればオンラインでのリカバリが可能)に障害が発生した場合には、このリカバリを行います。

図1 オフラインリカバリ 図1 オフラインリカバリ(画像をクリックすると拡大します)

  −オンラインリカバリ

 ユーザー表領域の障害など、インスタンス自体の稼働に直接影響がない場合には、データベースをオープンした状態のまま、その障害を受けた表領域のリカバリを行えます。オンラインリカバリでは、リカバリ中にほかの表領域に対する参照、更新を継続することが可能です。

図2 オンラインリカバリ 図2 オンラインリカバリ(画像をクリックすると拡大します)

 ・不完全リカバリ

 障害発生直前の状態ではなく、ある特定時点の状態までリカバリする方法です。例えば、すべてのカレントのオンラインREDOログファイル、あるいはリカバリで必要なアーカイブREDOログファイルの一部が消失してしまい完全リカバリが行えない、バッチ処理の開始前など特定のトランザクションや、ある時刻までリカバリを行いたい場合などには不完全リカバリを行います。

 なお、不完全リカバリは、データベースをマウント状態にして行うオフラインリカバリでのみ実施できます。

図3 不完全リカバリ 図3 不完全リカバリ(画像をクリックすると拡大します)

 これ以降では、それぞれのリカバリ方法の具体的な手順、注意すべき点について説明します。今回はリカバリ方法をより分かりやすくするために、第6回「OSコマンドによる物理バックアップの全手順」で取得したバックアップを使用して、完全リカバリ、不完全リカバリの手順について説明していきます。

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。