Oracle Database バックアップおよびリカバリ・ユーザーズ・ガイド 11g リリース1(11.1) E05700-03 |
|
この章では、データベース・ファイルおよびバックアップの整合性をチェックする方法について説明します。この章の内容は、次のとおりです。
この項では、Recovery Managerで検証を行う場合の基本的な概念およびタスクについて説明します。
Recovery Managerの検証は、ブロックが破損していないか、およびファイルが欠落していないかどうかを確認することを主に目的としています。また、Recovery Managerを使用して、バックアップがリストア可能かどうかを確認することもできます。Recovery Managerの次のコマンドを使用すると、検証を実行できます。
バックアップ・ファイルが使用できなくなったり、リストアされたデータファイルが破損する可能性がある操作は防止されます。データベースは、自動的に次の処理を実行します。
破損ブロックとは、変更が行われたため、Oracle Databaseでの検出時に予測される内容とは異なる内容になっているブロックのことです。ブロックの破損は、次に示す様々な障害によって発生する可能性があります。ただし、原因はこれらに限定されるわけではありません。
DB_BLOCK_CHECKSUM
は、(バックアップ内ではなく)データベース内のデータファイルおよびオンラインREDOログ・ファイルのブロックに対するチェックサムの書込みを制御するデータベース初期化パラメータです。DB_BLOCK_CHECKSUM
がtypical
に設定されている場合、データベースは、通常の操作中に各ブロックのチェックサムを計算し、ヘッダーにその値を格納してからブロックをディスクに書き込みます。データベースは、後でディスクからブロックを読み取る場合、チェックサムを再計算し、格納されている値と比較します。値が一致しなかった場合、そのブロックは破損しています。
デフォルトでは、BACKUP
コマンドは、各ブロックのチェックサムを計算し、その値をバックアップに格納します。DB_BLOCK_CHECKSUM
は、バックアップ内ではなくデータベース内のデータファイルに適用される初期化パラメータであるため、BACKUP
コマンドではこの値は無視されます。
物理的な破損(メディア破損とも呼ばれます)の場合、ブロックがデータベースで認識されません。チェックサムが無効か、ブロック内容がすべて0(ゼロ)か、またはブロックのヘッダーとフッターが一致していません。
論理的な破損の場合、ブロックの内容は論理的に一貫性のない状態になっています。論理的な破損の例としては、行ピースまたは索引エントリの破損などがあります。Recovery Managerは、論理的な破損を検出すると、アラート・ログおよびサーバー・セッションのトレース・ファイルにそのブロックを記録します。
デフォルトでは、Recovery Managerは、論理的な破損を確認しません。ただし、BACKUP
コマンドでCHECK LOGICAL
を指定すると、Recovery Managerは、データおよび索引ブロックをテストして、行ピースまたは索引エントリの破損などの論理的な破損がないかどうかを調べ、その結果を自動診断リポジトリ内のアラート・ログに記録します。ファイルのバックアップ時またはリストア時に、Recovery Managerを次の構成で使用すると、Recovery Managerは、検出可能なすべてのタイプのブロック破損を検出します。
DB_BLOCK_CHECKSUM=typical
を設定する。
BACKUP
またはRESTORE
コマンドの前にSET MAXCORRUPT
を使用しない。
BACKUP
コマンドにNOCHECKSUM
オプションを指定しない。
BACKUP
コマンドおよびRESTORE
コマンドにCHECK
LOGICAL
オプションを指定する。
SET MAXCORRUPT
コマンドを使用すると、1つのファイルでRecovery Managerバックアップに許容される破損の合計数を設定できます。デフォルトは0(ゼロ)です。つまり、Recovery Managerはいずれの種類の破損ブロックも許容しません。
バックアップ中に破損ブロックが検出された際にMAXCORRUPT
の制限を超えていると、Recovery Managerはバックアップを終了します。これ以外の場合、Recovery Managerは、ブロックが破損とマークされていることを示す特別なヘッダーを付けて、破損ブロックをバックアップに書き込みます。VALIDATE
コマンドを使用すると、破損とマークされているブロックを特定できます。
Recovery Managerは、バックアップ内のブロック破損を容認できるため、ブロック破損が含まれていると認識されるデータファイルをリストアできます。リストアしたデータファイルをバックアップする場合、Recovery Managerは、MAXCORRUPT
を超えているかどうかを計算するときに、すでに破損のマークが付けられているブロックは考慮しません。
Oracle Databaseでは、ブロックの破損を検出、修復および監視する様々な方法がサポートされています。方法は、破損がブロック間の破損かブロック内の破損かによって異なります。ブロック内の破損は、ブロック自体内で発生します。この破損は、物理的な破損または論理的な破損のいずれかです。ブロック間の破損の場合、論理的な破損のみがブロック間で発生します。
たとえば、V$DATABASE_BLOCK_CORRUPTION
ビューではブロック内の破損が記録され、自動診断リポジトリではすべてのタイプの破損が追跡されます。表15-1に、データベースで様々なタイプのブロック破損を処理する方法を示します。
対策 | ブロック内の破損 | ブロック間の破損 |
---|---|---|
検出 |
Recovery Manager( |
DBVERIFYおよび |
追跡 |
|
データベースは、ADRでこのタイプのブロック破損を監視します。 |
修復 |
修復方法には、ブロック・メディア・リカバリ、データファイルのリストア、増分バックアップによるリカバリおよびブロックの新規作成などがあります。ブロック・メディア・リカバリでは、物理的な破損は修復できますが、論理的な破損は修復できません。
修復を行うかブロックが修復されたことを検出するすべてのRecovery Managerコマンドによって、 |
ブロック間の破損は、オブジェクトの削除、索引の再構築などの手動による方法で修正する必要があります。 |
VALIDATE
コマンドを使用すると、データベース・ファイル内の物理的および論理的な破損を手動で確認できます。このコマンドでは、BACKUP VALIDATE
と同じタイプのチェックが実行されますが、VALIDATE
では、より広範囲のオブジェクトをチェックできます。たとえば、VALIDATE DATAFILE ... BLOCK
コマンドを使用すると、個々のブロックを検証できます。
すべてのファイルを検証する場合、Recovery Managerによって、入力ファイルのすべてのブロックが確認されます。バックアップの検証によって破損ブロックが検出された後、Recovery Managerは、破損を示している行を反映して、V$DATABASE_BLOCK_CORRUPTION
ビューを更新します。
バックアップ・セット内の1つ以上のバックアップ・ピースが欠落または破損している可能性がある場合は、VALIDATE BACKUPSET
を使用します。このコマンドでは、バックアップ・セット内のすべてのブロックがチェックされ、バックアップがリストア可能かどうかが確認されます。ブロックの破損が検出されると、エラーが発行されて検証が停止されます。VALIDATE BACKUPSET
では、ユーザーがチェック対象のバックアップを選択できます。これに対して、RESTORE
コマンドのVALIDATE
オプションでは、Recovery Managerによって選択が行われます。
VALIDATE
コマンドを実行します。たとえば、データファイル、制御ファイルおよび(使用されている場合は)サーバー・パラメータ・ファイルをすべて検証するには、次のコマンドをRecovery Managerのプロンプトで実行します。
RMAN> VALIDATE DATABASE;
また、次の例に示すコマンド形式を使用すると、特定のバックアップ・セットを検証することもできます(出力例も示します)。
RMAN> VALIDATE BACKUPSET 22; Starting validate at 17-AUG-06 using channel ORA_DISK_1 allocated channel: ORA_SBT_TAPE_1 channel ORA_SBT_TAPE_1: SID=89 device type=SBT_TAPE channel ORA_SBT_TAPE_1: Oracle Secure Backup channel ORA_DISK_1: starting validation of datafile backup set channel ORA_DISK_1: reading from backup piece /disk1/oracle/work/orcva/RDBMS/backupset/2007_08_16/o1_mf_nnndf_TAG20070816T153034_ 2g774bt2_.bkp channel ORA_DISK_1: piece handle=/disk1/oracle/work/orcva/RDBMS/backupset/2007_08_16/o1_mf_nnndf_TAG20070816T 153034_2g774bt2_.bkp tag=TAG20070816T153034 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: validation complete, elapsed time: 00:00:01 Finished validate at 17-AUG-06
次の例に、データファイル内の個々のデータ・ブロックを調べて破損を確認する方法を示します。
RMAN> VALIDATE DATAFILE 1 BLOCK 10; Starting validate at 17-AUG-06 using channel ORA_DISK_1 channel ORA_DISK_1: starting validation of datafile channel ORA_DISK_1: specifying datafile(s) for validation input datafile file number=00001 name=/disk1/oracle/dbs/tbs_01.f channel ORA_DISK_1: validation complete, elapsed time: 00:00:01 List of Datafiles ================= File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 1 OK 0 2 127 481907 File Name: /disk1/oracle/dbs/tbs_01.f Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 36 Index 0 31 Other 0 58 Finished validate at 17-AUG-06
大規模なデータファイルを検証する必要がある場合、Recovery Managerは、そのファイルを複数のセクションに分割し、各ファイル・セクションをパラレルに処理することによって、作業をパラレル化できます。複数のチャネルが構成されているか、または割り当てられている場合にチャネルで検証をパラレル化するには、VALIDATE
コマンドのSECTION SIZE
パラメータを指定します。
ファイルのサイズより大きいセクション・サイズを指定した場合、Recovery Managerはファイル・セクションを作成しません。小さなセクション・サイズを指定した結果、セクションの数が256を超えると、Recovery Managerは、正確に256になる値までセクション・サイズを増やします。
SECTION SIZE
パラメータを指定してVALIDATE
を実行します。次の例では、2つのチャネルを割り当て、大規模なデータファイルを検証します。セクション・サイズは1200MBです。
RUN { ALLOCATE CHANNEL c1 DEVICE TYPE DISK; ALLOCATE CHANNEL c2 DEVICE TYPE DISK; VALIDATE DATAFILE 1 SECTION SIZE 1200M; }
BACKUP VALIDATE
コマンドを使用すると、次の操作を実行できます。
BACKUP
VALIDATE
を実行すると、Recovery Managerは、実際のバックアップ時と同様に、バックアップするファイル全体を読み取ります。ただし、実際には、バックアップ・セットもイメージ・コピーも作成しません。
BACKUPSET
パラメータ、MAXCORRUPT
パラメータまたはPROXY
パラメータは、BACKUP VALIDATE
を指定して使用することはできません。特定のバックアップ・セットを検証するには、VALIDATE
コマンドを実行します。
BACKUP VALIDATE
コマンドを実行します。たとえば、次の例のようにコマンドを実行すると、すべてのデータベース・ファイルおよびアーカイブ・ログがバックアップ可能かどうかを検証できます。このコマンドは物理的な破損のみ確認します。
BACKUP VALIDATE DATABASE ARCHIVELOG ALL;
物理的な破損に加えて論理的な破損も確認するには、前述のコマンドを次のように少し変更して実行します。
BACKUP VALIDATE CHECK LOGICAL DATABASE ARCHIVELOG ALL;
前述の例では、Recovery Managerクライアントは、実際にファイルをバックアップしたときと同じ出力を表示します。Recovery Managerは、ファイルを1つもバックアップできない場合、エラー・メッセージを発行します。たとえば、次のように表示されます。
RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of backup command at 08/29/2007 14:33:47 ORA-19625: error identifying file /oracle/oradata/trgt/arch/archive1_6.dbf ORA-27037: unable to obtain file status SVR4 Error: 2: No such file or directory Additional information: 3
参照:
|
RESTORE
...
VALIDATE
を実行すると、Recovery Managerで特定のファイルまたはファイル・セットをバックアップからリストアできるかどうかがテストされます。Recovery Managerによって、使用するバックアップが選択されます。
このコマンドでは、データベースがマウントまたはオープンされている必要があります。データファイルのリストアの検証時にデータファイルをオフラインにする必要はありません。データファイルのバックアップの検証は、バックアップを読み取るのみで、本番データファイルには影響しないためです。
ディスクまたはテープのファイルを検証する場合、Recovery Managerは、バックアップ・ピースまたはイメージ・コピー内のすべてのブロックを読み取ります。また、Recovery Managerは、オフサイトのバックアップの検証も行います。この検証は、Recovery Managerによって出力ファイルが書き込まれないことを除き、実際のリストア操作と同じです。
注意:
|
VALIDATE
オプションを指定してRESTORE
コマンドを実行します。次に、データベースおよびすべてのアーカイブREDOログのリストアの検証例を示します。
RESTORE DATABASE VALIDATE; RESTORE ARCHIVELOG ALL VALIDATE;
Recovery Managerのエラー・スタックが表示されない場合は、後続の手順をスキップします。エラー・メッセージが表示されないということは、実際のリストアおよびリカバリ中にこれらのバックアップを正常に使用できることがRecovery Managerで確認されたということを意味しています。
RMAN-06026
メッセージが表示された場合は、問題の原因を調査します。可能な場合は、Recovery Managerによるバックアップの検証を妨げている問題を解決し、検証を再試行します。次のエラーは、Recovery Managerが、指定した1つ以上のファイルを使用可能なバックアップからリストアできないことを意味します。
RMAN-06026: some targets not found - aborting restore
次の出力例は、指定したバックアップの読取りでRecovery Managerが問題を検出したことを示しています。
RMAN-03009: failure of restore command on c1 channel at 12-DEC-06 23:22:30 ORA-19505: failed to identify file "oracle/dbs/1fafv9gl_1_1" ORA-27037: unable to obtain file status SVR4 Error: 2: No such file or directory Additional information: 3
|
![]() Copyright © 2003, 2008, Oracle Corporation. All Rights Reserved. |
|