Recovery Managerによるリストア・リカバリの方法:Oracleバックアップ/リカバリ講座(12)(3/3 ページ)
本記事では、Oracleデータベースのバックアップ/リストア/リカバリについて、そのアーキテクチャ、代表的なバックアップ手法、論理/物理バックアップ、RMANといった全般的な内容を解説していく。(編集部)
不完全リカバリ
不完全リカバリの方式において、時間ベース(指定した時間までリカバリを実施)と変更ベース(特定のSCN:システム変更番号までリカバリを実施)については、OSコマンドを使用した場合と同様にRMANでも指定可能です。取り消しベースについてはRMANで行うことはできませんが、ログ順序番号を指定することで不完全リカバリを行うことは可能です(リスト10)。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
また、不完全リカバリからの復旧方法についても「OSコマンド」と同様に、一部のデータファイルのみが古い/新しいなどの状態は認められません。そのため、データベースを過去の状態に戻したい場合には、障害の発生していないデータファイルも含め、全データファイルをバックアップファイルからリストアを行い、必要な時点までのアーカイブREDOログファイルをすべて適用することになります。
今回も、アーカイブREDOログファイルの一部が消失してしまった場合を例に挙げて、RMANでの復旧方法を説明していきます。
1.ターゲット・データベースを復旧可能な状態にする
不完全リカバリを実施するためには、ターゲット・データベースはマウントモードで起動し直す必要があります。ターゲット・データベースが起動している場合は一度停止してからマウントモードに変更します。
2.リカバリポイントの指定
RMANで不完全リカバリを行う場合は、リスト11の(1)のように、「RUN{ }」内で「RESOTRE」「RECOVER」コマンドよりも先にリカバリポイントを指定します。今回のように、順序番号「379」のアーカイブREDOログファイルが破損している場合は、「sequence=379」と記述することにより、「RECOVER」コマンド時に、それより1つ前の順序番号「378」までRMANがアーカイブREDOログの適用を自動的に行います。
3.データファイルのリストア
ターゲット・データベースをマウントモードにして障害の発生していないファイルを含むすべてのデータファイルを、既存のデータファイルと置き換えます。今回は正常なファイルも古いファイルに置き換えるため、リスト11の(2)のように「RESTORE DATABASE」コマンドに「force」句を付け加えることにより、正常なものを強制的に古い状態とさせています。
4.データファイルのリカバリ
今回は、すべてのデータファイルが古い状態でリストアされているので、リスト11の(3)のように「RECOVER」コマンドについてもデータベース指定となります。
5.データベースのオープン
最後に、データベースはリスト11の(4)のように「RESETLOGS」モードでオープンさせます。ここもOSコマンド時と同じく、不完全リカバリを実行した場合には、必ず「RESETLOGS」オプションを指定してデータベースを起動する必要があります。これにより、オンラインREDOログファイルが初期化されます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
今回はデータファイルに対して発生した障害からのリストア、リカバリ方法を説明しました。次回は、ノーアーカイブログ運用でのリカバリ方法、および制御ファイルのリストアについて説明します。(次回へ続く)
- ノーアーカイブログモードでのリストア・リカバリ
- Recovery Managerによるリストア・リカバリの方法
- OSコマンドを使用したリストア・リカバリの方法
- Recovery Managerのチューニング・ポイント集
- バックアップの所要時間を短縮するテクニック
- これだけでRecovery Managerは完全マスター
- 物理バックアップの失敗を根絶するノウハウ
- OSコマンドによる物理バックアップの全手順
- Data Pumpを使った論理バックアップの実践
- Recovery Managerを使ったバックアップ方法
- Oracleの代表的なバックアップ方法
- アーキテクチャから理解するOracleリカバリ
- プロとしてのバックアップ/リカバリ基礎知識
Copyright © ITmedia, Inc. All Rights Reserved.