>> はじめに |
|
前回バックアップが完了したデータを使用し、実際にデータベースに障害を発生させ、その問題を解決するべくデータのリストアを行い、さらにデータベースが使用できるようリカバリを行っていきます。
>> リストア画面での確認 |
|
NetVault GUIからリストアを選択し、実際にOracle APMで取得されたデータの確認を行ってみます。
リストア画面から、Oracle APMのアイコンをドリルダウンしていくことで、リストア可能なデータを確認することができます。
さらに項目によっては、より詳細なアイテムが表示されるので、例えば特定のテーブルスペースのみをリストアすることも可能です。
>> 豊富なリストアオプションの活用 |
|
Oracle APMのリストアオプションは、他のAPMに比べても特に充実していて、1つのタブに収まりきらないために、いくつかのサブタブに分かれています。
それらオプションを1つずつ見ていきます。
◆バックアップ・コンテンツ
選択したバックアップ・セットに関する詳細を表示することが可能です。通常は、RMANのプロンプトから接続して表示しなければならないような詳細をいつでも確認することができます。RMANリポジトリの場合には、そのリポジトリに対してのアクセスができないと表示できませんが、このバックアップ・コンテンツの情報は完全にNetVault Serverに格納されており、リポジトリにアクセスできない状況でも確認できるので、いざという障害時には役に立つはずです。
また、バックアップ開始時間や終了時刻による、バックアップにかかった時間の確認や、バックアップ時のSCNの詳細など、不完全回復を必要とする際に指定するSCNの確認にも活用できますし、DBIDも情報に含まれています。
◆リストア・オプション
リストア前やリストア後の、データベースやテーブルスペースの状態を指定できます。通常はSQLのコマンド等によって実行しますが、バックアップのオプションとして指定できるのは、とても便利です。
また、パラレルリストア実行時にチャネル数を指定することで、複数チャネルを使用した復旧が可能です。
リストア元は、同じバックアップ・セレクション・セットをテープ(NetVault Backupのメディアにバックアップ) とディスク(FRAにバックアップ) の両方にバックアップした際に、そのソースを指定することができます。
◆リカバリを実行する
このタブは、リストアのみならずリカバリまでもOracle APMから実行できる、という大きな特徴を示すものとしてとても重要です。
デフォルトでは、"リカバリを実行しない"になっているため、手動でコマンドによりリカバリを行う必要がありますが、"完全なリカバリ"を実行するや、特定時点を指定した"データベース・ポイント・イン・タイム・リカバリを実行する"を選択することで、データベースがリカバリされるまでの流れを自動で行うことが可能です。
なお注意点として、リカバリの機能を使うには、データベースの状態を正しく把握しておく必要があります。リカバリを行うにあたって必要な状態が確保されていない場合には、ただしくリカバリはできません。また、それらを自動診断できるわけでもありません。
あくまで、通常、コマンドで実行するものを、チェックボックス1つで実行できるようになるということになります。
データベースの状態を把握し、状況に合った適切な処理が必要です。
◆ブロック・メディアのリカバリ
Oracle Enterprise Editionのみで使用可能な機能で、データファイル全体のリストアやリカバリのかわりに破損したブロックのみをリカバリできる機能です。
◆ポスト・リカバリ
リカバリ実行後に、データベースを使用できるようOPENする機能です。
内部的には"ALTER DATABASE OPEN"コマンドが使用され、オプションにより"RESETLOGS"付にしたり、"READ ONLY"でOPENすることも可能です。
◆デスティネイションの詳細
通常は設定の必要はありませんが、バックアップ実行以降にSYSDBAのユーザ名やパスワード、SIDを変更した際に指定します。
◆リカバリ・カタログ
バックアップ時にRMANリポジトリとしてリカバリ・カタログを使用していた場合には、リストア時に明示的にリカバリ・カタログの指定が必要です。
>> 特定表領域の障害 |
|
では、実際に表領域に障害を発生させて、そのリカバリを行ってみます。
1. 状態の確認
まずはじめに、現在の表領域の状態を確認しておきます。確認方法は何でも良いのですが、わかりやすいように各種の情報をまとめています。
|
今回は、この5つの標準的な表領域の中から、EXAMPLEに障害が発生したと仮定してみます。
2. Unlockerの導入
OSがWindows以外の場合には、特にファイルにロックがかかっていないため、障害の発生が簡単なのですが、Windowsではファイルロックがかかっているため、特殊なツールを使用して今回は擬似障害を起こします。Unlockerというツールなのですが、あまり運用環境でお奨めできるツールではありませんので、使用する場合にはテスト環境でお試しください。特定の手順を実行することで、強制的にロックを解除することができます。
Unlocker: http://ccollomb.free.fr/unlocker/
こちらのサイトから、ダウンロードの項目を探してファイルを入手します。
入手したファイルを実行したら、最初に言語を聞いてくるので日本語を選択すると、後はウィザードに従っていくだけで簡単に導入が可能です。
3. ファイル障害
Oracleのデータ・ファイルがある場所をエクスプローラで開き、対象となるファイルを選択した状態で、右クリックメニューからUnlockerを選択します。
ここでは、C:\app\oracle\oradata\orcl\EXAMPLE01.DBFファイルを指定しています。
ロックされたファイルに対して、ロックの解除が可能なダイアログが出るので、全ロック解除を選択します。
あとは、通常通りにファイルに対してリネームや削除ができるので、操作を行います。この例では、リネームで当該ファイルに対してアクセスできなくなるようにしています。
強制的に障害を発生させた後に、再度表領域の状態を確認すると、STATUSから"CANNOT OPEN FILE"ということでファイルが開けない状態であることを確認できます。
|
4. EXAMPLE表領域のリカバリ
まず始めに、選択のタブでEXAMPLEの表領域 (テーブルスペース) だけを指定するように選択を行います。
次に、リストア・オプションの"リストア・オプション" サブタブで、対象のテーブルスペースをリストアする前に、オフラインにするのと、リストア後にオンライン処理をかけるチェックボックスの計2つにチェックを入れます。表領域はリストア対象がオンラインのままでは上書きでリストアすることができませんので、特に最初のチェックボックスは重要です。
次に、"リカバリを実行する"のサブタブでは、リカバリ・タイプとして"完全なリカバリーを実行する"を選択するようにします。そうすることで、手動によるリカバリ作業を必要とせずにデータベースが使用できるようになります。あとは、ジョブ・タイトルにわかりやすい名前をつけて、ジョブの実行ボタンを押します。
リストア時には、最初にメインのジョブが実行され、EXAMPLEに対するオフライン処理をかけた後に、サブジョブとしてデータのリストアが行われるジョブが起動され、それが成功後、更に元の親ジョブに戻ってリカバリ処理や、オンライン処理が実行され完了するはずです。
最後にもう一度状況を確認してみてください。また、必要に応じて例えばEXAMPLEに含まれるEMP表を確認するなどして、実際のデータにアクセスできることも確認すると良いかもしれません。
|
>> 次回は・・・ |
|
今回は、特定の表領域のみの障害ということでしたが、次回は、より障害度が高い場合についてのリカバリの方法などを確認していきます。