Email: [email protected] 7 x 24 online support!
resetlogsをまたいだリカバリにてORA-00600[krhpfh_03-1209]が発生
[起こりうる現象]
RMAN を利用して resetlogs をまたいだリカバリを行う際に、recover コマンド
で ORA-00600[krhpfh_03-1209] が発生します。
<<RMAN プロンプト上でのエラーメッセージ例>
RMAN> recover database;
recoverが開始されました(開始場所: 06-12-06)
チャネルORA_DISK_1の使用
メディア・リカバリを開始しています
・
・
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 12/06/2006 17:36:45
ORA-00283: recovery session canceled due to errors
RMAN-11003: failure during parse/execution of SQL statement: alter database recover logfile
'/home/arch/1_42_608485826.dbf'
ORA-00283: エラーによってリカバリ・セッションは取り消されました。
ORA-00600: 内部エラー・コード、引数: [krhpfh_03-1209],[1],[608487846],[608492093],[153809],[0],[0],[0]
ORA-01110: データファイル1: '/home/oradata/system01.dbf'
[対象リリース]
問題が発生するリリース :Oracle Database 10g Release 1(10.1.0)
Oracle Database 10g Release 2(10.2.0)
問題を修正したリリース :Oracle Database 11g Release 1(11.1.0)
問題を修正予定のリリース:なし
問題を修正したPSR :PSR 10.2.0.5
問題を修正予定のPSR :なし
[対象プラットフォーム]
すべてのプラットフォーム
[起こりうる条件]
次の条件のすべてを満たす場合に発生します。
- RMAN を利用してバックアップ及びリカバリを実施している
- バックアップ採取時以降、2回以上 resetlogs 付きの open を行っている
- 古いバックアップに対して、最新の制御ファイルを用いて、2回の open
resetlogs をまたいだ形でリカバリ操作を行う
[原因]
製品の不具合です。
複数回以上の resetlogs をまたいだ最新の制御ファイルを利用したリカバリ
実施時の制御に一部問題があり、正常にハンドリングが行われるよう修正
しました。
なお、以下の手順で現象の再現が可能です。
[再現手順]
1. RMAN を利用してデータファイルのオンラインバックアップを取得する
2. 制御ファイルの自動バックアップから、最新の制御ファイルをリストアする
3. 1. で取得したオンラインバックアップからデータファイルをリストアする
4. recover database; 及び alter database open resetlogs; を実行する
5. 2.3.4. のオペレーションを繰り返し 3 回実行する
上記繰り返しのオペレーションを行うことで、同一の古いデータファイルのバック
アップを利用しながら、リカバリ時に使用する制御ファイルのみが resetlogs を
実行した後の最新のものを使用することになります。
その結果、3回目の recover コマンド実行時に ORA-600[krhpfh_03-1209] が発生
します。
[回避策]
有効な回避策はありません。
[障害発生時の対処]
2 回以上の resetlogs をまたいだ最新の制御ファイルを利用したリカバリでなけ
れば現象は発生しないため、現象発生時には最新ではない古い制御ファイルのバッ
クアップをリストアすることでリカバリしてください。
