Email: service@parnassusdata.com 7 x 24 online support!
RMANを使用して論理ブロックと物理ブロックの破損を確認する方法について
ORACLEデータベース によくあるエラ の解決策
プロのOracle Databaseの復旧サービスを提供
携帯番号: +86 13764045638 メール:service@parnassusdata.com
[概要] Recovery Manager (以降 RMAN) を使用して論理的な破損と物理的な破損の両方 を確認する方法を説明します。 [対象リリース] Oracle8i Database Server 以降のすべてのリリース [対象プラットフォーム] すべてのプラットフォーム [詳細] RMAN によるバックアップ中、または RMAN による VALIDATE コマンドの実行に よるバックアップ妥当性チェック中には、その時点で使用されているか、または 以前に使用されたことのある各ブロックが一旦メモリに読み取られ、再度メモリ の別の部分に書き込まれます。このメモリからメモリへの書き込み中に、ブロッ クに破損がないかがチェックされます。 したがって、VALIDATE 句と CHECK LOGICAL 句を指定した RMAN の BACKUP コマ ンドを使用することにより、データベース管理者は物理的な破損と論理的な破損 の両方をチェックすることができます。 RMANを使用して論理ブロックと物理ブロックの破損をチェックする方法 ---------------------------------------------------------------- * NOARCHIVELOG モードのデータベースでは、次のコマンドは、データベースが MOUNT モードの場合にのみ機能します。ARCHIVELOG モードのデータベースで は、データベースが OPEN/MOUNT モードの場合にのみ機能します。 * 次のコマンドを実行してもバックアップ出力ファイルは作成されません。 * 次のコマンドを実行するにあたり、リカバリ・カタログは不要です。 1) $ORACLE_SID 及び $ORACLE_HOME をまだ設定していない場合は、適切に設定 します。 2) NOCATALOG モードで RMAN を起動し、データベースに接続します。 オペレーティング・システムのプロンプトから、次のコマンドを発行します。 $ rman TARGET / NOCATALOG または、 $ rman TARGET SYS/<SYSのパスワード> NOCATALOG 3) RMAN プロンプトから、CHECK LOGICAL 句を指定して VALIDATE コマンドを 発行します。 - 次の例は、すべてのデータファイルの妥当性をチェックする方法です。 run { allocate channel d1 type disk; backup check logical validate database; release channel d1; } 出力は次のようになります。 Starting backup at 28-DEC-06 channel d1: starting full datafile backupset channel d1: specifying datafile(s) in backupset input datafile fno=00001 name=/home/ora10202/app/oracle/oradata/ora10202/system01.dbf input datafile fno=00003 name=/home/ora10202/app/oracle/oradata/ora10202/sysaux01.dbf input datafile fno=00002 name=/home/ora10202/app/oracle/oradata/ora10202/undotbs01.dbf input datafile fno=00004 name=/home/ora10202/app/oracle/oradata/ora10202/users01.dbf * 画面出力はここでしばらく一時停止する場合があります。 channel d1: backup set complete, elapsed time: 00:06:15 channel d1: starting full datafile backupset channel d1: specifying datafile(s) in backupset including current control file in backupset channel d1: backup set complete, elapsed time: 00:00:05 Finished backup at 28-DEC-06 released channel: d1 - 次の例は、1つのデータファイルの妥当性をチェックする方法です。 run { allocate channel d1 type disk; backup check logical validate datafile 1; release channel d1; } - 次の例は、2つのデータファイルの妥当性をチェックする方法です。 run { allocate channel d1 type disk; backup check logical validate datafile 1, 2; release channel d1; } - 次の例は、複数のチャネルを使用して妥当性チェックを実行する方法です。 この方法は、データベースやデータファイルなどが特に大きい場合に便利 です。 run { allocate channel d1 type disk; allocate channel d2 type disk; backup check logical validate database; release channel d1; release channel d2; } - RMANによるバックアップの妥当性チェックを監視する場合は、次の問合せを 実行します。 SQL> select sid, serial#, context, sofar, totalwork, round(sofar/totalwork*100,2) "%_complete" from v$session_longops where opname like 'RMAN%' and opname not like '%aggregate%' and totalwork != 0 and sofar <> totalwork / 4) 妥当性チェック・プロセスが完了したら、使用している Oracle のバージョン に応じて、アラート・ログまたは V$ビューを確認します。 Oracle8i では、RMAN の VALIDATE コマンドで検出された破損はアラート・ ログでのみ報告されます。そのため、ユーザーはアラート・ログで、VALIDATE コマンドが起動してから終了するまでの時間帯に発生した破損エラーの出力 がないか検索する必要があります。検出された破損の報告は、RMAN のインタ フェースには出力されません。 Oracle9i 以上では、破損があった場合には V$DATABASE_BLOCK_CORRUPTION に問合せを実行することにより、RMAN でどのような破損が検出されたかを 確認することができます。Oracle8i の場合と同様に、検出された破損の報 告は RMAN のインタフェースには戻されません。 V$DATABASE_BLOCK_CORRUPTION で報告される破損は、RMAN でバックアップ の妥当性チェックが実行されるたびに消去されます。新しい破損が検出され ると、このビューは新しい破損の詳細情報で更新されます。このビューのす べての行が削除されるのは、RMAN で別のバックアップ妥当性チェックが実行 され、かつその実行で破損がまったく検出されなかった場合のみです。 このビューで報告される内容については、データベース・リファレンスマ ニュアルに記載されている V$DATABASE_BLOCK_CORRUPTION ビューの説明を 参照してください。 [参照情報] Oracle8i Recovery Manager ユーザーズ・ガイドおよびリファレンス リリース8.1 (部品番号: J00922-01) P.10-169 VALIDATE Oracle9i Recovery Manager リファレンスリリース2(9.2) (部品番号:J06268-01) P.2-227 VALIDATE Oracle Database Recovery Manager リファレンス 10g リリース1(10.1) (部品番号:B12463-02) P.2-289 VALIDATE Oracle Database Recovery Manager リファレンス 10g リリース2(10.2) (部品番号: B19195-01) P.2-234 VALIDATE Document 109159.1 RMAN:Checking the Progress of RMAN Backup/Recovery