本記事では、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におけるリカバリの種類について説明します。
・完全リカバリ
完全リカバリとはアーカイブREDOログファイル、オンラインREDOログファイルの変更履歴を適用し、障害発生直前の状態(障害発生直前のコミットが完了した時点)までリカバリする方法です。ただし、完全リカバリを実施する際には、アーカイブログモードで運用していることが前提となります。また、完全リカバリには、データベースをマウントした状態でリカバリを行うオフラインリカバリと、データベースをオープンしたままでリカバリを行うオンラインリカバリがあります。
−オフラインリカバリ
データベースをマウント状態とし、表領域やデータファイル、もしくはデータベース全体をリカバリすることです。通常シングルインスタンスのデータベースで、SYSTEM表領域やUNDO表領域(RAC環境では1つでもUNDO表領域が正常であればオンラインでのリカバリが可能)に障害が発生した場合には、このリカバリを行います。
−オンラインリカバリ
ユーザー表領域の障害など、インスタンス自体の稼働に直接影響がない場合には、データベースをオープンした状態のまま、その障害を受けた表領域のリカバリを行えます。オンラインリカバリでは、リカバリ中にほかの表領域に対する参照、更新を継続することが可能です。
・不完全リカバリ
障害発生直前の状態ではなく、ある特定時点の状態までリカバリする方法です。例えば、すべてのカレントのオンラインREDOログファイル、あるいはリカバリで必要なアーカイブREDOログファイルの一部が消失してしまい完全リカバリが行えない、バッチ処理の開始前など特定のトランザクションや、ある時刻までリカバリを行いたい場合などには不完全リカバリを行います。
なお、不完全リカバリは、データベースをマウント状態にして行うオフラインリカバリでのみ実施できます。
これ以降では、それぞれのリカバリ方法の具体的な手順、注意すべき点について説明します。今回はリカバリ方法をより分かりやすくするために、第6回「OSコマンドによる物理バックアップの全手順」で取得したバックアップを使用して、完全リカバリ、不完全リカバリの手順について説明していきます。
Copyright © ITmedia, Inc. All Rights Reserved.