Email: service@parnassusdata.com 7 x 24 online support!

    You are here

    • You are here:
    • Home > Blogs > PDSERVICE's blog > Oracle ミラー化された REDO ログファイルの一方が破損した場合の復旧方法について

Oracle ミラー化された REDO ログファイルの一方が破損した場合の復旧方法について

Oracle ミラー化された REDO ログファイルの一方が破損した場合の復旧方法について

 

詩檀ソフトは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できないなど。

 

 

 

[問題]
2重にミラー化された REDO ログファイルの片方のデバイスに障害が発生した場合
のリカバリ方法について教えて下さい。
例えば、3つの Redo logfile group があり、各 group 内に2つの member が存在
します。それぞれの member は2つのデバイスに別々に配置されていて、その内の
片方のデバイスで障害が発生した、とお考え下さい。


[対処]
上記御指摘のケースの復旧方法と致しましては、障害の発生した logfile member を
再作成(drop->add)して頂くことになります。具体的な手順を記述させて頂きます。

 1.  以下のような select 文を実行して、現在「INACTIVE」status の logfile
     member を確認します。(「*」が障害の発生した logfile とします。)

SVRMGR> select l.group#, f.member, l.status from v$log l, v$logfile f
     2> where l.group#=f.group# order by group#;
GROUP#     MEMBER
            STATUS
---------- ---------------------------------------------------------------------
----------- ----------------
         1 /home8/ora733/work/thasegaw/hase733/redoje73301.log
            INACTIVE
         1 /home8/ora733/work/thasegaw/hase733/redoje73301_1.log  <==*
            INACTIVE
         2 /home8/ora733/work/thasegaw/hase733/redoje73302.log
            CURRENT
         2 /home8/ora733/work/thasegaw/hase733/redoje73302_1.log  <==*
            CURRENT
         3 /home8/ora733/work/thasegaw/hase733/redoje73303.log
            INACTIVE
         3 /home8/ora733/work/thasegaw/hase733/redoje73303_1.log  <==*
            INACTIVE
6 行選択されました。

 2. 1.で確認した「INACTIVE」status の logfile member を drop します。

SVRMGR> alter database drop logfile member
     2> '/home8/ora733/work/thasegaw/hase733/redoje73301_1.log';
文が処理されました。
SVRMGR> alter database drop logfile member
     2> '/home8/ora733/work/thasegaw/hase733/redoje73303_1.log';
文が処理されました。

 注:「CURRENT」の logfile member は、ORA-01609 が発生して drop できません。 
  
 3. 2.で削除した logfile member を追加します。
    (同じ名前の logfile が存在している場合は、OS level で削除して下さい)

SVRMGR> alter database add logfile member
     2> '/home8/ora733/work/thasegaw/hase733/redoje73301_1.log' to group 1;
文が処理されました。
SVRMGR> alter database add logfile member
     2> '/home8/ora733/work/thasegaw/hase733/redoje73303_1.log' to group 3;
文が処理されました。

 4. 2.で drop しなかった logfile member を drop する為、switch logfile
    します。

SVRMGR> alter system switch logfile;
文が処理されました。
SVRMGR> select l.group#, f.member, l.status from v$log l, v$logfile f
     2> where l.group#=f.group# order by group#;
GROUP#     MEMBER
            STATUS
---------- ---------------------------------------------------------------------
----------- ----------------
         1 /home8/ora733/work/thasegaw/hase733/redoje73301.log
            INACTIVE
         1 /home8/ora733/work/thasegaw/hase733/redoje73301_1.log
            INACTIVE
         2 /home8/ora733/work/thasegaw/hase733/redoje73302.log
            INACTIVE
         2 /home8/ora733/work/thasegaw/hase733/redoje73302_1.log
            INACTIVE
         3 /home8/ora733/work/thasegaw/hase733/redoje73303.log
            CURRENT
         3 /home8/ora733/work/thasegaw/hase733/redoje73303_1.log
            CURRENT
6 行選択されました。
SVRMGR>

 5. 同様に 2.->3. の手順で再作成します。

SVRMGR> alter database drop logfile member
     2> '/home8/ora733/work/thasegaw/hase733/redoje73302_1.log';
文が処理されました。
SVRMGR> alter database add logfile member
     2> '/home8/ora733/work/thasegaw/hase733/redoje73302_1.log' to group 2;
文が処理されました。


[参照情報]
Document 1722288.1(KROWN#64913) 喪失したREDOメンバの復旧時に ORA-362、ORA-1517 が発生