咨询热线: 13764045638 7 x 24 在线支持!

    你在这里

    • You are here:
    • 首页 > 博客 > PDSERVICE的博客 > [ASM] DISKGROUPを再作成しリストアを行うとファイルが正常にリストアされない可能性がある

[ASM] DISKGROUPを再作成しリストアを行うとファイルが正常にリストアされない可能性がある

[ASM] DISKGROUPを再作成しリストアを行うとファイルが正常にリストアされない可能性がある

詩檀ソフトはDULに基づき、PRM-DULを開發した。DULすべての機能も含めた上で、グラフィックインタフェースとDataBridge(データがDBLINKのように直に目標データベースに伝送できる。)などの機能も追加した。そして、PRM-DULはJavaで編成したので、あらゆるプラットフォームに適応できる。
PRM-DULの無料バーションダウンロード:
 
 
PRM-DULの無料バーションは一つのテーブルがデフォルトで一万行しか抽出できない。目標データベースがかなり小さいの場合に、無料PRM-DULを使ってください。データベースが一万行を超えて、データの重要性も高い場合に、企業バーションを使ってください。企業バーションPRM-DULは一つのデータベースに対して、Licenseソフトウェア使用許可書を提供する。一つのLicense は$ 999 USD 。そして、PRM-DULは一部無料なLicenseを提供している。
 
もし、壊滅したデータベースがDULを使ったら、まだリカバリできない場合に、リカバリサポートサビースを考えてください:
詩檀ソフトはいまあらゆるOracleデータベースのトラブルに対応できて、主には:データベースが起動できない、誤操作でテーブルがDROPされた、TRUNCATE、DELETE,ASM DiskgroupがMOUNTできないなど。
 
 
 
クリックしてお気に入りに追加 下へ下へ

[起こりうる現象]
破損したDISKGROUPのリストアのため、DISKGROUPを再作成しリストアを行うと
ファイルが正常にリストアされないことがある。


[対象リリース]
問題が発生するリリース :Oracle Database 10g Release 1(10.1.0)
問題を修正したリリース :Oracle Database 10g Release 2(10.2.0)
問題を修正予定のリリース:なし
問題を修正したPSR : 10.1.0.4
問題を修正予定のPSR :なし


[対象プラットフォーム]
すべてのプラットフォーム


[起こりうる条件]
以下の条件を全て満たす場合に問題が発生する可能性があります
・破損したDISKGROUPをリストアするために、DISKGROUPを同一名称で再作成し、
  必要なファイルをバックアップからリストアする
・DISKGROUP中には複数のファイル(データファイル、制御ファイル等)が存在する
・ASMファイルの作成時にOMF形式を使用している(エイリアスを使用していない)


[原因]
製品の不具合です。
RMANによりASMファイルをリストアする際に、同一ファイルが既にASM上に存在する
かの確認はDISKGROUP名と、一意に決定されるASMファイルの識別子でのみ行います。
ここで、新規にDISKGROUPを作成すると、ASMファイルの識別子の情報もリセット
され、新規にファイルを作成した際に破損する前のDISKGROUPで使用されていた識別
子と同一のものを持つファイルが作成されることがあります。その結果バックアップ
から同じ識別子を持つファイルをリストアする際に上書きしてしまう可能性があります。

例として、+DG1/file1.256.1、+DG1/file3.258.1、+DG1/file2.257.1 のファイルが
存在し、RMANを使用しバックアップが行われいて、DG1が全損したとします。
リカバリを実行すると、以下のような過程で問題が発生します。

1. DG1を再作成します。
2. RMANを使用して、file1、file3、file2をこの順でリストアします
3. file1をリストアします。DG1は再作成されたためfile1は存在していません。
   新規に+DG1/file1.256.1 が作成されます
4. file3をリストアします。同様に新規にファイルが作成されますが、
   +DG1/file3.257.1 という識別子で作成されてしまいます
5. file2をリストアします。DG1には同じ識別子、257.1を持つファイルが存在する
   ために、同一ファイルとみなし file3.257.1 を上書きしてしまいます

この結果として、例えばリカバリ実行時に以下のようなエラーが発生します。
SQL> recover database;
ORA-00283: recovery session canceled due to errors
ORA-01110: data file 4: '+DG1/file3.257.1'
ORA-01122: database file 4 failed verification check
ORA-01110: data file 4: '+DG1/file3.257.1'
ORA-01251: Unknown File Header Version read for file number 4


[回避策]
以下の手順に従いリストアを行ってください
1. DISKGROUPを再作成するときに、同じ名前を使用しない。上の例であるならば
   DG1でなくDG2といった別の名前でDISKGROUPを再作成する
   例: create diskgroup DG2 ....

2. リストアを行うデータベースの初期化パラメータに以下を追加して起動する
     DB_CREATE_FILE_DEST = '+<別名で新規作成したDG名>'
   又は、データベースマウント後に
   ALTER SYSTEM SET DB_CREATE_FILE_DEST = '+<別名で新規作成したDG名>'
   例: ALTER SYSTEM SET DB_CREATE_FILE_DEST = '+DG2';
   にて動的に設定を変更することも出来ます

3. RMAN を使用してリストアを行います。
   DB_CREATE_FILE_DEST の設定により、DG2 のディスクグループにファイルは
   リストアされ、全てのファイルに互いに異なる識別子が正常に割り当てられます。

   アーカイブログファイルについては、DB_CREATE_FILE_DEST パラメータによる
   影響をうけないため、下記の方法をご利用ください。
   run {
     set archivelog destination to '+DG2';
     restore archivelog all;
   }


[障害発生時の対処]
障害が発生した場合、正常にリストアが完了していないため、回避策の手順に従い
DISKGROUPの再作成からの再実行を行ってください。


[よくある質問と回答]
Q1. 10.1.0.4以前で取得したバックアップを10.1.0.4以降のデータベースに
    リストアする場合、この問題は発生しますか
A1. 発生しません