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

Oracle ORA-600[2023]が発生

Oracle ORA-600[2023]が発生

 

 

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

 

 

[Problem]
ORA-600[2023]が多発し、Databaseを起動してもすぐに落ちてしまう現象が発生し
ています。なぜこのような現象が発生するのでしょうか。また、どのように復旧す
ればいいのでしょうか。

[Action]
この現象は不具合として報告がございます。

Oracleでは、セグメントのEXTENTを管理するために、セグメント・ヘッダー内に
EXTENT MAPがございます。このセグメント・ヘッダー内のEXTENT MAPで管理できる
数を超えるEXTENTを確保する場合、セグメント・ヘッダー以外にもう一つEXTENT 
MAP用のブロックを確保します。つまり、複数のブロックにEXTENT MAPがまたがる
状態になります。
このようなEXTENT数の多いテーブル(複数のEXTENT MAPブロックを持つテーブル)に
対してTRUNCATEを実行するとEXTENT MAPブロックに対するUNDO情報がRBSに作成さ
れるのですが、この際に不具合によって間違ったUNDO情報が作成されてしまいます。
TRUNCATE文はDDLであるため、途中で強制終了させなければ、処理が終わった段階
でCOMMITされるため、この間違ったUNDO情報が使用されることはございませんが、
途中で強制終了(CTRL-Cもしくはプロセスのkillなど)した場合には、このUNDO情報
を使用してロールバックが行われます。このときに、間違ったUNDO情報のため適用
できずに、ORA-600[2023]が発生致します。

この問題はOracle8,Oracle8iで発生し、修正は R8.1.7.1、Oracle9iにて行われます。

なお、この問題の発生に伴いdatabaseがdownし、再起動時にもORA-600[2023]が多
発して、正常に起動できなくなる場合がございます。
Databaseが起動できなくなった場合、カスタマーサポートセンターまでお問い合わせ
ください。

[Workaround]
この問題を事前に回避する方法は以下のいずれかになります。

 ・Truncate中に強制終了させない。
 ・一つのEXTENT MAPブロックで管理できるように、EXTENTの数を抑える。

例えば、以下のSQL文にて現在extent数が大きいセグメントを予め確認しておき、
そのセグメントに対してtruncateを行う場合には強制終了しないといった形で運用
していただければこの問題は発生いたしません。

           select segment_name,extents from dba_segments
           where extents > 100 order by extents desc ;

また、各extentのsizeを大きく変更して再作成すれば全体のextent数を減らすこと
が可能ですので、この方法もご検討下さい。

セグメント作成時にMAXEXTENTSを明示的に指定しなければ、defaultの値が使用さ
れます。この値は1blockで管理できる大きさになっていますので、特に設定を行っ
ていない場合には、今回のような現象が発生することはありません。(MAXEXTENTS
のDefault値については Document 1703579.1(KROWN#14879) をご参照下さい。)