7 x 24 在线支持!
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) をご参照下さい。)