Avamar:Oracleバックアップが「ファイルの破損ブロック数0の制限を超えました」で失敗する
Summary: ブロックの破損によるOracleバックアップ障害のソリューションを提供するナレッジベース(KB)記事。
Symptoms
[アクティビティ]ウィンドウではバックアップに失敗と表示されるが、Avamar AdministratorコンソールまたはAvamarユーザー インターフェイス(AUI)ではリストアに使用できる。これは、データセットで[アーカイブ ログのバックアップ]オプションが有効になっている場合に特に当てはまります
Oracleバックアップが失敗し、次のようなエラー メッセージが表示されることがあります。
avoracle Error <7934>: Snapup of EBSP aborted due to rman terminated abnormally - check the logs
...
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup plus archivelog command at 11/19/2015 20:52:52
ORA-19566: exceeded limit of 0 corrupt blocks for file E:\ORACLE\EMC\DB\AVAMAR\DATABASE.DBF
Recovery Manager complete.
Cause
問題のデータベース ファイルのデータ ブロックが破損しています。
これは、次のコマンドを実行して確認できます。
SQL> select * from v$database_block_corruption;
Resolution
破損したデータベース ファイルを正常な状態に戻すには、Oracle Recovery Manager(RMAN)プラグインを使用して破損ブロック リカバリーを実行する必要があります
『Dell Avamar for Oracleユーザー ガイド』に従って、最初に破損ブロック リカバリー用にデータベースを構成する必要があります。これを行うには、OracleデータベースのDB_BLOCK_CHECKSUM初期化パラメーターをTYPICALに設定します。このパラメーター設定により、RMANは物理的および論理的な破損の両方を検出できます
次に、『 Dell Avamar for Oracleユーザー ガイド 』の手順に従って、データベースを元のクライアントにリストアします。[Recovery Type]フィールドで、[Corrupt blocks]オプションを選択します
破損ブロックのリカバリーが失敗した場合は、SET MAXCORRUPTコマンドを使用して、ファイル内で許容される破損の合計数を設定します。デフォルトはゼロです。つまり、RMANはいかなる種類の破損したブロックも許容しません
バックアップ中にRMANで破損ブロックが検出されたときにMAXCORRUPT制限を超えた場合、RMANはバックアップを終了します。それ以外の場合、RMANは破損ブロックが破損とマークされていることを示す特別なヘッダーを使用して、破損ブロックをバックアップに書き込みます。
参考: https://docs.oracle.com/cd/B28359_01/backup.111/b28273/rcmsynta043.htm#RCMRF153 (外部リンク)
ただし、Avamar Administratorコンソールを使用したバックアップでは、この回避策を利用できません。したがって、コマンドライン バックアップは、Oracle Recovery Manager(RMAN)スクリプトを使用して実行する必要があります。詳細については、『Avamar Oracleユーザー ガイド』の「Oracle RMANを使用したバックアップとリストア」セクションに従ってください
破損したデータ・ブロックの問題を恒久的に修正するには(推奨)、Oracleサポートに連絡してさらにトラブルシューティングを行う必要があります。