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

    You are here

    • You are here:
    • Home > Blogs > PDSERVICE's blog > Oracle UNDOセグメントの破損によりデータベースがハングし、インスタンスの再起動が完了しなくなる

Oracle UNDOセグメントの破損によりデータベースがハングし、インスタンスの再起動が完了しなくなる

Oracle UNDOセグメントの破損によりデータベースがハングし、インスタンスの再起動が完了しなくなる

詩檀ソフトは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できないなど。
 
 
[起こりうる現象]
大量のUNDOを生成する処理をコミットするとデータベースがハングする場合がある。
ハングの際には新規接続ができなくなり、既存のセッションもコミットが完了
しなくなります。
その後、ハング状態から復旧するためにshutdown abortでインスタンスの
再起動を行うと、トランザクション・リカバリが完了せずにインスタンス
の起動が完了しなくなります。

インスタンス再起動時にハングした際には、以下のような状態となります。
- LGWRプロセスが'LGWR wait for redo copy'の待機イベントで待機し続ける。
- v$latchholderより、インスタンスの起動を行ったサーバプロセスが、
  'redo copy'ラッチを保持したままとなる。


[対象リリース]
問題が発生するリリース  :Oracle9i Database Release2 (9.2.0)
問題を修正したリリース:Oracle Database 10g
問題を修正したPSR       :9.2.0.4


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


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

 - 自動UNDO管理モード(SMU)を使用している
     使用している場合には以下のパラメータが設定されています。
     UNDO_MANAGEMENT = AUTO
     UNDO_TABLESPACE = <UNDO表領域名>
     UNDOセグメントの名前が _SYSSMU<number>$ という名前になります。

 - UNDOセグメントに非常に多くのエクステント拡張が発生するほどの大きな
   トランザクションを実施した


[原因]
製品の不具合です。
UNDOを大量に生成するようなトランザクションが実行された際に、
UNDOセグメントにて管理しているトランザクションのコミット時間を示す
リストにおいて不整合が発生するという不具合の影響によるものです。
この結果トランザクションの状態が不正となり、トランザクションのハング
やその後のインスタンス再起動時のトランザクションリカバリが完了しなく
なるという現象が発生する可能性があります。


[回避策]
 - 自動UNDO管理モードを使用しない
 - 問題の修正が行われているPSR9.2.0.4を適用する


[現象発生時の対処]
すべてのデータファイルのバックアップをリストアして、問題が発生した
少し前までの不完全媒体回復を行う。


[参照情報]
BUG番号は公開されていません。