|
>> はじめに |
|
前回の講座で、Oracle RAC環境のバックアップまでが完了していますので、続きとして実際に、擬似的な障害を発生させた状態での、リストアおよびリカバリについて確認していきます。
>> リストア前の事前確認 |
|
実際にリストアを行っていく前に、事前に取得したバックアップが正常に行われているか確認しておきます。
障害の内容にもよりますが、今回は共有ディスク全体がすべて障害が発生したことを想定していますので、共有ディスク内に含まれるすべての内容が正常に取得されていることを確認してください。
- OCR (Oracle Cluster Registry) ファイル
- 投票ディスク
- ASM
- 制御ファイル
- SPFILE
- アーカイブログ
- データファイル
※オンラインREDOログファイルは、Oracle APMを使用してのバックアップの対象に含まれません。
これらの保護に関する方法等については、第1回および第2回の本講座を参照してください。
>> 擬似障害の発生 |
|
今回のテスト環境では、下記のような/dev/sdbのデバイスを共有ディスクとして使用しています。
|
また、それぞれのデバイスの使用方法は以下の通りです。
/dev/sdb1 /dev/raw/raw1 OCR /dev/sdb2 /dev/raw/raw2 投票ディスク /dev/sdb3 /dev/raw/raw3 ASM |
Oracle RACの構成方法はいろいろとあるとは思いますが、大容量のFCやiSCSIの外部ストレージにすべてを入れてしまうケースも多いかと思います。このストレージになんらかの障害が発生し、すべて使えなくなった状態からの復旧を考えて見ます。
障害については、Oracle RACのインスタンスをすべて停止して、ディスクの再構成を行ったり、仮想化環境で構築している場合には、仮想ディスクの再作成を行うなどして、各自まっさらな状態でのディスクを用意するなど、擬似障害を発生させてください。
>> ディスクの再設定 |
|
新しいディスクを用意した場合には、下記のようにディスクのテーブルが無い状態になっています。
|
fdisk等により、パーティションの再設定を行います。
|
パーティションの正しい設定が行われることで、rawマッピングも正しく行えるようになります。
|
>> OCRと投票ディスクのリストア |
|
事前のバックアップ方法やリストア方法等については、第1回の講座を参照してください。ここでは、ひたすら復旧のみ行っていきます。
まずは、OCRの復旧です。rootユーザで実行することに注意してください。oracleユーザで実行すると、権限が無いということでエラーになります。
|
実行後は何のメッセージも表示されませんが、CRSを起動して、クラスタ検証ユーティリティで確認しておきます。
次に、投票ディスクです。ddで取得している場合には、ddのコマンドを使用し、NetVault BackupのRaw Deviceプラグインを使用している場合には、そちらでリストアを行います。下記はddコマンドの例になります。
|
>> ASMの再構成 |
ASMのボリューム全体を消失させてしまったため、一度再構成を行う必要があります。実際にDatabase Configuration Assistant (DBCA) 等を使用して確認すると失われていることが確認できます。
DBCA等を使用して、ASMのディスクグループの再作成を行います。
もし、ディスクグループ名が分からない場合には、Oracle APMのリストア項目を開いて確認すると良いでしょう。なお、この状態では各インスタンスが起動していない以外は、ASMのインスタンス等はオンラインの状態になっています。
|
>> ノード1からのリストア作業 |
|
これからの作業はすべて、バックアップを取得したノード1側から実行します。もし、ノード2側から復旧した場合には、若干手順が追加されます。詳細については、こちらのドキュメントを参照してください。
■SPFILEのリストア
SPFILEは自動バックアップにより取得されているため、そのリストアの準備を行います。まず、ASMディスクの中に、SPFILEをリストアするディレクトリが存在しないと、リストアに失敗するので作成しておきます。ここでは、asmcmdを使用して"rac"というディレクトリを作成していますが、使用方法の詳細はOracle社のマニュアルにてご確認ください。
|
次に、rmanをリカバリカタログを使用する設定にて接続し、強制的にSPFILEリストア用のインスタンスをNOMOUNTにて起動します。
|
次にDBIDを指定します。
|
DBIDがわからない場合には、バックアップ・サーバのOracle APMリストア画面を開いて、当該バックアップの内容を表示した後に、リストア・オプションの中のバックアップ・コンテンツから確認するとよいでしょう。
そして、実際のSPFILEのリストアです。自動バックアップからリストアするために、"FROM AUTOBACKUP"句をつけています。リストア後は、リストアされたSPFILEで起動するために、一度強制シャットダウンしておきます。
|
■制御ファイルのリストア
リストアされたSPFILEを使用してNOMOUNT状態で起動して、SPFILEの時と同様に自動バックアップのデータをリストアします。
リストア後は、データファイル等のリストアのためにMOUNT状態にしておきます。
|
■データファイル等のリストアとデータベースのリカバリ処理
オンラインREDOログはバックアップができず、それを含むディスク全体が障害という想定のため、不完全回復を行う必要があります。不完全回復の目安として、バックアップ取得時点のSCNを参考にすることが可能です。DBIDの時と同様にリストア画面での確認が便利です。
SCNを確認したら、RECOVERの際に、"UNTIL SCN"句を使用して不完全回復を行うようにします。以下の操作で、リストアとリカバリまでが自動的に行われます。
|
>> 最後の仕上げ |
|
リカバリが完了してもオープンの状態になっていないため、"RESETLOGS"をつけてオープンして完了です。
|
この状態ではノード1しか起動していないため、ノード2も起動してあとは動作の確認を行います。
|
なお、動作としてはこれで問題ありませんが、RESETLOGSつきオープンで不完全回復したので、インカネーションが変わり、いままでのバックアップとアーカイブログが使用できなくなります。フルバックアップを取ることをお奨めします。
>> 最終回 |
|
以上計3回に渡って、Oracle RAC環境のバックアップについて確認してきました。基本的な内容については、ご理解いただけたかと思います。あとは構成方法によって、若干設定が異なる場合もありますので、その際にはぜひ関連するドキュメントを参考にしていただければ幸いです。