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

    You are here

    • You are here:
    • Home > Blogs > PDSERVICE's blog > Oracle ASM に複数のアーカイブ REDO ログ出力を設定した場合、障害発生時に正常な方の出力先も出力不能となる

Oracle ASM に複数のアーカイブ REDO ログ出力を設定した場合、障害発生時に正常な方の出力先も出力不能となる

Oracle ASM に複数のアーカイブ REDO ログ出力を設定した場合、障害発生時に正常な方の出力先も出力不能となる

ORACLEデータベース によくあるエラ の解決策

プロのOracle Databaseの復旧サービスを提供
携帯番号: +86 13764045638 メール:service@parnassusdata.com

 

 

[起こりうる現象]
ASM に複数のディスクグループを作成し、それぞれ log_archive_dest_n の出力
先に指定してそのうち一つが出力不能になった際(例えば、ディスクグループの
ディスマウント、ディスクグループのフォーマットや破壊が発生した際)、正常
な方のディスクグループの出力先もアーカイブ REDO ログファイルの出力が行え
なくなります。

alert.log からは、出力不能となったディスクグループ側ではなく、正常な方の
ディスクグループ側から ORA-19504 が発生しアーカイブ REDO ログの出力に失
敗している事が確認できます。

  <出力例> (※下記は、DISK2のディスクグループを出力不能にした場合)
  ====================================================================

  Wed May 18 15:38:40 2011
  SUCCESS: diskgroup DISK3 was mounted
  Errors in file c:\oracle\diag\rdbms\orcl\orcl\trace\orcl_arc1_1080.trc:
  ORA-19504: failed to create file "+DISK3/archive/arc00041_0751312286.001"
  ORA-17502: ksfdcre:3 Failed to create file +DISK3/archive/arc00041_0751312286.001
  ORA-15173: entry 'arc00041_0751312286.001' does not exist in directory 'archive'
  ORA-15001: diskgroup "DISK2" does not exist or is not mounted
  ORA-15001: diskgroup "DISK2" does not exist or is not mounted
  Errors in file c:\oracle\diag\rdbms\orcl\orcl\trace\orcl_arc1_1080.trc:
  ORA-19504: failed to create file "+DISK3/archive/arc00041_0751312286.001"
  ORA-17502: ksfdcre:3 Failed to create file +DISK3/archive/arc00041_0751312286.001
  ORA-15173: entry 'arc00041_0751312286.001' does not exist in directory 'archive'
  ORA-15001: diskgroup "DISK2" does not exist or is not mounted
  ORA-15001: diskgroup "DISK2" does not exist or is not mounted
  ARC1: Error 19504 Creating archive log file to '+DISK3/archive/arc00041_0751312286.001'
  ARCH: Archival stopped, error occurred. Will continue retrying
  Errors in file c:\oracle\diag\rdbms\orcl\orcl\trace\orcl_arc1_1080.trc:
  ORA-16038: log 2 sequence# 41 cannot be archived
  ORA-00254: error in archive control string ''
  ORA-00312: online log 2 thread 1: '+DISK1/orcl/onlinelog/group_2.258.751312295'

  ====================================================================


[対象リリース]
問題が発生するリリース  :Oracle Database 11g Release 2(11.2.0.1 - 11.2.0.2)
                          Oracle Database 11g Release 1(11.1.0.6 - 11.1.0.7)
問題を修正したリリース  :Oracle Database 12c Release 1(12.1)
問題を修正予定のリリース:なし
問題を修正したPSR       :11.2.0.3
問題を修正予定のPSR     :なし


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


[起こりうる条件]
次の条件のすべてを満たす場合に発生します。

 - アーカイブ REDO ログの出力先を複数の ASM ディスクグループに設定している。

 - log_archive_dest_n の出力先がディスクグループ指定ではなく、サブディレ
   クトリ指定となっている。

   <再現する指定例>
   log_archive_dest_1='+DISK2/archive/'
   log_archive_dest_2='+DISK3/archive/'

   <再現しない指定例>
   log_archive_dest_1='+DISK2'
   log_archive_dest_2='+DISK3'

   ※再現する指定例(サブディレクトリ指定)の場合、log_archive_format の
     指定に従ったファイル名のアーカイブ REDO ログファイルが出力されます。
     一方で、再現しない指定例(ディスクグループ指定)の場合、OMF の命名規
     則に従ったファイル名のアーカイブ REDO ログファイルが出力されます。

 - 上記条件を満たした上で一つのディスクグループが出力不能になる(ディスク
   グループのディスマウント、ディスクグループのフォーマットや破壊が発生)。


[原因]
1つのアーカイブ REDO ログファイルの出力先が失敗した際に、内部的なハンド
リングの不具合により出力不能となっていない正常な出力先のディレクトリに
ついても正常にログファイルの出力ができないと誤認識し、アーカイブ REDO ロ
グの作成が行われなくなるために発生します。


[回避策]
ASM にアーカイブ REDO ログファイルを出力する場合、ASM のサブディレクトリ
を指定せず、直接ディスクグループ指定して出力を行って下さい。ディスクグル
ープ指定の場合本問題は発生しません。