2.17.4 バックアップ対象となるOracleデータベースの条件と注意事項
Protection Manager for Oracleは,次のOracleデータベース製品を対象にしています。
- Oracle Database 10g
- Oracle Database 11g
Protection Manager for Oracleでバックアップ対象となるデータの種類を次の表に示します。
表2-9 Protection Manager for Oracleでコールドバックアップの対象となるファイル
対象ファイル | バックアップ後のファイル名 |
---|
一時(TEMP)表領域を除く表領域に対するデータファイル | バックアップ元のファイル名と同じ |
オンラインREDOログファイル | バックアップ元のファイル名と同じ |
制御ファイル | controlxx.ctl<バックアップID>.ora (xx:2けたの数値)※1 |
初期化パラメーターファイル | init<インスタンス名>.ora<バックアップID>.ora※1 |
サーバパラメーターファイル | spfile<インスタンス名>.ora<バックアップID>.ora※1 |
ネットワークファイル※2 | tnsnames.ora<バックアップID>.ora listener.ora<バックアップID>.ora |
パスワードファイル※2 | <パスワードファイル用バックアップID>.ora |
- 注※1
- バックアップ元のファイルがデータベースサーバ上に格納されている場合のファイル名です。バックアップ元のファイルが主ボリュームに格納されている場合は,バックアップ元と同じファイル名でバックアップされます。
- 注※2
- -exfileオプションを指定した場合だけバックアップ対象になります。
表2-10 Protection Manager for Oracleでオンラインバックアップの対象となるファイル(-allオプション指定時)
対象ファイル | バックアップ後のファイル名 |
---|
一時(TEMP)表領域を除く表領域に対するデータファイル | バックアップ元のファイル名と同じ | |
アーカイブ済みREDOログファイル | バックアップ元のファイル名と同じ |
制御ファイル | controlxx.ctl<バックアップID>.ora(xx:2けたの数値) |
初期化パラメーターファイル | init<インスタンス名>.ora<バックアップID>.ora |
サーバパラメーターファイル | spfile<インスタンス名>.ora<バックアップID>.ora |
ネットワークファイル※ | tnsnames.ora<バックアップID>.ora listener.ora<バックアップID>.ora |
パスワードファイル※ | <パスワードファイル名バックアップID>.ora |
- 注※
- -exfileオプションを指定した場合だけバックアップ対象になります。
Oracleデータベースを対象として,Protection Managerを使用する場合,次に示す必要条件があります。
- データベースは,ファイルシステムまたはRAWデバイス上に構成されている必要があります。
- Oracle Parallel Serverのような分散データベース環境は対象外となります。
- 次に示すファイルは,表領域とは別の物理ボリュームに置く必要があります。
- 一時(TEMP)表領域
- REDOログファイル(オンラインREDOログ,アーカイブ済みREDOログ)
- 制御ファイル
- 初期化パラメーターファイル
- サーバパラメーターファイル
Protection Managerでは,物理ボリューム単位にバックアップやリストアするため,上記のファイルが表領域と同じ物理ボリュームにあると,表領域をバックアップしたとき,オンラインREDOログも同時にバックアップされてしまいます。このバックアップデータをリストアした場合,データベースが破壊されます。Protection Managerは,バックアップ時にログファイルおよび制御ファイルが表領域と同じ物理ボリューム上にあるかをチェックし,同じ物理ボリューム上にある場合はエラー終了します。
また,Oracleデータベース以外のファイルについても表領域と同じ物理ボリュームには置かないでください。バックアップデータをリストアした場合,Oracleデータベース以外のファイルが破壊されます。
- バックアップ対象ファイルには次のようなものがあります。これら以外のファイルをバックアップする必要がある場合は,ユーザー管理となります。
表領域,制御ファイル,初期化パラメーターファイル,REDOログファイル,ネットワークファイル,およびパスワードファイル
- 次の状態でdrmorabackupコマンド,drmorarestoreまたはdrmoralogbackupコマンドを実行した場合,実行したコマンドが永続的に待ち状態になります。
- OracleでオンラインREDOログファイルが自動的にアーカイブされるように設定されていない。
- オンラインREDOログファイルのサイズが最大サイズに達している。
- アーカイブ済みREDOログファイルの格納先ディスク使用量が最大サイズに達している。
このような要因によってコマンドが永続的な待ち状態になるのを避けるため,状態に応じてそれぞれ次のように対処してください。
- OracleでオンラインREDOログファイルが自動的にアーカイブされるように設定する。
- オンラインREDOログファイルのサイズが最大サイズに達する前に,定期的にオンラインREDOログをアーカイブ済みREDOログとして出力する。
- アーカイブ済みREDOログファイルの格納先ディスク使用量を監視し,最大サイズに達する前にディスク容量を確保する。
これらの操作については,Oracleのマニュアルを参照してください。
- 次に示すディレクトリは,drmorabackupコマンドでバックアップ対象とするオブジェクトとは別の物理ボリュームに置く必要があります。
- バックアップファイル格納ディレクトリ
- ログ格納ディレクトリ
これらのディレクトリをバックアップ対象のオブジェクトが格納されたディレクトリと同じ物理ボリュームに置いた場合,リストアを実行したときにバックアップファイルやログファイルがバックアップ時の状態に戻るため,ロールフォワードでのリカバリができなくなります。
- 「-」で始まるインスタンス名はバックアップ対象に指定できません。
- 同一サーバ上にOracleデータベース以外のDBMSがインストールされている場合,同じ物理ボリューム上に異なるDBMSのデータベースを構築することはできません。
- 同一サーバ上に複数のOracleインスタンスが存在する場合,同じ物理ボリューム上に異なるインスタンスの表領域を構築することはできません。
- 一つのデータベースサーバに複数のバージョンのOracleデータベースがインストールされている場合,Protection Manager for Oracleをインストールする際に入力したバージョンのOracleデータベース以外はバックアップおよびリストアできません。
- クラスタ構成の場合,一つのクラスタグループに,複数のOracleインスタンスのサービスリソースを登録できません。
- 一つの物理ディスクまたは一つのディスクグループに複数の表領域が配置されている場合,表領域をまとめてバックアップまたはリストアする必要があります。
- バックアップまたはリストアを実行する場合,対象のASMインスタンスを次の状態にしてください。
- 対象のASMインスタンスが起動している。
- 対象のASMディスクグループがマウントされている。
- ASMおよびCVMディスクグループについては次の制限事項があります。
- 表領域,サーバパラメーターファイル,制御ファイル,オンラインREDOログ,およびアーカイブ済みREDOログファイルは,それぞれを別のディスクグループに定義する。
- ASMおよびCVMディスクグループで,一つの物理ディスクまたは一つのディスクグループに複数の表領域が配置されている場合,表領域をまとめてバックアップまたはリストアする必要がある。
- アーカイブ済みREDOログファイルは,ASMディスクグループ以外の場所に配置する必要があります。アーカイブ済みREDOログファイルをASMディスクグループ上に配置した場合,drmorabackupコマンドおよびdrmoralogbackupコマンドでログのコピーができません。
- バックアップまたはリストア対象のOracleインスタンスと異なるOracleインスタンスのファイルを同じバックアップ対象のディスクグループに設定できません。
- Protection Managerでは,ASMディスクグループ上にある制御ファイルおよびサーバパラメーターファイルをリストアしません。このため,次の方法でリストアしてください。
- 制御ファイルを手動でリストアする
1. Protection Managerでリストアを実行する前に,Oracle RMANでデータベースに接続します。
> rman target <DBインスタンス名>
2. Oracle RMANのカタログに,Protection Managerでバックアップした制御ファイルを登録します。
RMAN> catalog controlfilecopy '<バックアップ制御ファイル名>';
バックアップを格納しているディレクトリにOracleユーザーの実行権限がない場合,コマンド実行に失敗します。
3. Oracle RMANを終了します。
RMAN> exit
4. Protection Managerでリストアを実行します。
5. Oracle RMANでデータベースに接続します。
6. Oracle RMANからデータベースをnomount状態で起動します。
RMAN> startup nomount;
7. Oracle RMANで制御ファイルをリストアします。
RMAN> restore controlfile from '<手順2で登録したバックアップ制御ファイル名>';
8. Oracle RMANでデータベースをマウントします。
RMAN> alter database mount;
9. Oracle RMANでデータベースをリカバリします。
RMAN> recover database;
10. Oracle RMANでデータベースをオープンします。
RMAN> alter database open resetlogs;
- サーバパラメーターファイルを手動でリストアする
1. デフォルトの位置($ORACLE_HOME/dbs)に,次のパラメーターだけ記述したPFILEを作成します。
spfile=<バックアップしたSPFILE名>
2. 手順1で作成したPFILEを指定してOracleを起動します。
RMAN> startup
3. PFILEで指定したSPFILEが使われているか確認します。
RMAN> show parameter spfile
4. Oracle RMANを起動します。
> rman target <DBインスタンス名>
5. SPFILEの移行用バックアップを作成します。
RMAN> backup as backupset spfile;
6. Oracle RMANで,データベースをいったんシャットダウンします。
RMAN> shutdown immediate
7. Oracle RMANで,データベースをマウント状態で起動します。
RMAN> startup mount
8. SPFILEを元の位置にリストアします。
RMAN>restore spfile to '<SPFILEの元のパス>';
9. Oracle RMANで,データベースをいったんシャットダウンします。
10. 手順1で作成したPFILEのパラメーターを,リストアしたSPFILEのパスを指すように変更します。
spfile=<リストアしたSPFILE名>
11. 手順10で編集したPFILEを使用して,データベースを起動します。
- RAC構成でのノード固有データのうち,次のデータについてはRACインスタンス間でデータ共有されないで,RACインスタンスごとにデータ作成されます。
- オンラインREDOログファイル
- アーカイブ済みREDOログファイル
- UNDO表領域(自動UNDO管理モードの場合だけ)
これらのデータはデータベースのリカバリ時に必要となる場合があるので,リカバリ時にすべてのノードのファイルが参照できるよう配置することを推奨する。
- RAC構成でのノード固有データのうち,次のデータはノード別に管理するため,Protection Managerではバックアップしたノードと同ノードのファイルだけリストアを実行します。リストアを実行したノードと他ノードのファイルをリストアしません。
- オンラインREDOログファイル
- アーカイブ済みREDOログファイル
- UNDO表領域(自動UNDO管理モードの場合だけ)
- 初期化パラメーターファイル
- パスワードファイル
- ネットワークファイル
- RAC構成の場合,各ノードでdrmoradisplay -refreshの実行が必要です。RAC構成の1ノードにつき一つのディクショナリマップファイルを保持しています。
- -racオプションを指定したdrmorabackupコマンドまたはdrmorarestoreコマンドはRACを構成する一つのノードで運用してください。コマンドを実行しているノードが使用できなくなった場合だけ,別ノードでも-racオプションを指定したdrmorabackupコマンドまたはdrmorarestoreコマンドを実行できます。複数のノードから同時にこれらのコマンドを実行した場合,データベースが破壊されるおそれがあります。
- RAC構成のコールドバックアップの場合,事前に全ノードのRACインスタンスを停止させる必要があります。
- RAC構成のコールドバックアップは,RACインスタンスを構成する共有データと一緒に各ノードのローカルデータもバックアップしてください。RAC構成のコールドバックアップの場合,すべてのデータをバックアップまたはリストアしなければ,リストア後のOracle起動処理に失敗することがあります。
- RAC構成の共有データのバックアップを実行した場合(drmorabackup Oracleデータベースインスタンス名 -racを実行した場合),バックアップを実行したノード以外でリストアを実行するためには,バックアップカタログを実行ノードにインポートしてからリストアコマンドを実行する必要があります。
- RAC構成の場合,drmorainitコマンドではOracleデータベース名だけではなく,RACを構成する各Oracleインスタンスに接続するためのネットサービス名を設定する必要があります。
- ASMおよびRAWデバイスで使用するディスクデバイスファイルをOSに登録する際には,次の制限事項があります。
- 同一ディスク上にある別のスライスを異なるディスクグループに登録できない。
- デバイスファイルに対してシンボリックリンクを設定する場合は,途中に/dev/rdmp/または/dev/rdsk/配下のデバイスを経由する必要がある。
- ASMを使用したRAC構成でコールドバックアップおよびリストアを実行する場合には,コマンドを実行するノードを除くすべてのノードのASMインスタンスを停止する必要があります。
- コマンドを実行する前に,あらかじめ対象となるOracleインスタンスおよびASMインスタンスのネットサービス名を構成し,リスナーに登録しておく必要があります。