>> はじめに |
|
前回の講座で設定まで終了しましたが、今回から実際にバックアップを行います。そして、データベースのバックアップで一番重要なことは、実際に擬似障害を発生させて復旧を行ってみることです。一度ならず、何度も障害復旧を体験することで、実際に同じような事態になった時にも的確な対処ができるようになります。演習にあたっては、今までの講座を見て事前の準備について再度確認してください。
>> バックアップジョブの作成 |
|
Oracle Online APMの設定を正しく行って、アカウントとパスワードを入力するとバックアップ対象を選択することができるようになります。対象を一つずつ選択することもできます。例えば、設定変更を行わない限りあまり変化のないようなSPFILE等は毎回バックアップしなくてもよいかもしれませんが、表領域全体のバックアップ量と比較すると、無視できる容量です。また、一括で管理しておいた方がわかりやすいため、通常はすべてをバックアップ対象に指定します。
バックアップのオプションタブでは、読取り専用やオフラインの表領域をバックアップするかしないかの選択のみが可能になっています。例えば読取り専用の表領域などは、更新が無いということなので、一度バックアップすれば何度も取得する必要ないという場合もあるかもしれません。
その他、ファイルシステムのバックアップと同様に、スケジュールやターゲット、詳細設定を行い、バックアップジョブを実行します。
ジョブが終了後、もう一度正常にバックアップが完了していることを確認します。もし、正常にバックアップが行われていない場合、このあとのテストで擬似障害を発生させてのリカバリの際にうまく復旧できない場合があります。
>> 擬似障害を発生させて復旧してみよう! |
|
バックアップされたデータについて、実際に障害を発生させて、リストアおよびリカバリの確認を行います。
次のパターンで試してみようと思います。
- EXAMPLE表領域の障害
- SYSTEM表領域を含む、データベース全体の障害
- 制御ファイルの障害
>> EXAMPLE表領域の障害 |
|
一番簡単なところで、一つのユーザーデータベースに障害が発生したと仮定して見ます。幸いなことに、インストール時にサンプル・スキーマを作成していますので、EXAMPLEを対象に考えて見ましょう。
最初に各表領域の詳細を確認しておきます。V$ビューを使用し、必要な項目のみをSELECTしています。また、NAME列が長くわかりにくいためにフォーマットを指定しています。
|
次にEXAMPLEのデータファイルをmvコマンドにより退避し、障害を発生させて見ましょう。リカバリに自信があるのであれば、本番さながらにいきなり削除してしまってもかまいません。
|
もう一度確認すると、表領域はONLINEですが、CANNOT OPEN FILEであることが分かります。これで、NetVaultでリストアをし、その後リカバリ作業をする必要性がでてきました。
|
そしてリストアを実行するのですが、その前に必ず対象の表領域を強制OFFLINEにしておきます。
|
もう一度状態を確認すると、STATUSがONLINEからRECOVERが必要な状態になっていることがわかります。
|
必要なデータをリストアするには、リストア・ウィンドウを開き、取得されたデータを見つけるまでドリルダウンして行くことで、選択が可能です。すべてのデータをリストアするには、下画面のように指定します。
今回はEXAMPLE表領域のみ壊れているため、他の選択をはずした状態にします。表領域名での指定も可能で、さらにドリルダウンすることで実際のデータファイル名を確認できます。
次に、正しくファイルがリストアされたことを確認し、表領域のリカバリを行います。ログ適用の指定は、ここではAUTOにしています。
|
メディア・リカバリが完了すると、ステータスはOFFLINEになっています。そのため、ALTER TABLESPACEコマンドによりONLINEにします。
|
最後に、EXAMPLEがONLINEになったことを確認します。
|
これで、壊れたEXAMPLEの表領域が正常な状態になりました。
>> 次回は・・・ |
|
実際に壊れた表領域を復旧する手順を見てきました。SYSTEM以外の表領域の復旧はそれほど難しくありません。次回はSYSTEM表領域を含むデータベース全体のリストアおよびリカバリと、異なるディスク・デバイスへの多重化が推奨されながらも、現実的にはあまり分散配置がなされていない制御ファイルの障害について見ていきましょう。次回の演習では、最悪の場合インスタンスが復旧できずに起動できなくなりますので、自信が無い人はDBCAを使用したインスタンスの再作成などについてOracleに関する参考書などで復習しておいてください。