カテゴリ:その他

ORA-00600: 内部エラー・コード、引数: [string] …

サポートに問い合わせるか、その機能や使用方法をやめる。の二択であると言っても過言ではない。
あとは見なかったことにして、客先では出ないことを祈るという選択肢も結構多い?
もし出ても ORA-00600 は仕方が無いんですとか、再現性がなければおかしいですねと逃げる・・・ (^^;

※ ORA-600 が出たからといって、その多くがオラクルを無停止運用することに致命的なエラーではないので恐怖することもありません。

Oracle を使うデベロッパの立場でサポート情報なしに、このエラーに直接対処する方法はほとんどない。
それは、このエラーが PL/SQL における OTHERS 例外のようなものであると考えるとわかりやすい。 例外処理でハンドリングされているエラーは、固有のエラーコードをもってエラーが発生するが ORA-00600 は、 そこでキャッチできなかった例外の総称として発生するものであると置き換えることができる。

すなわち、発生条件が一定ではなく、ハード障害が原因のときもある。たとえ再現性があってもパッチによって逐次穴埋め?されているため、その現象の正確な解決策やチューニング項目を把握しているのは Oracle だけである。

そして ORA-00600 のエラーに関する質問を掲示板に投稿すると目新しい不具合でないかぎり、大抵は回答を得ることができないのも特徴的である。 これは、サポート契約により入手した情報を Oracle の許可を受けずに公開できないという守秘契約によるらしい。(※)
そしてサポート契約者にとっては、修正パッチに関する情報のやり取りも同じくタブーとされている。
それらの情報は Oracle の KROWN という情報データベースで、ごく一部は一般に公開されている。重要で知りたい情報はサポート契約者のみに提供されている。
( 検索していると、たまに一般公開されていない KROWN の詳しい内容までホームページに備忘録として KROWN 番号付で公開しているのを見ることがある。おそらく賠償責任をともなう契約違反になっていることを知らずに KROWN 情報を使用しているのだろうと思う。(※))

(※) サポートの契約対象者になったことがないため、実際の契約を結んだり、契約条項を閲覧したことがないので認識が間違っている可能性もあります。

サポート契約をしていないデベロッパが取れる回避策は、メジャーバージョンアップ時のリリース1には手を出さない。 デフォルトの設定では有効になっていない新機能は使用しないくらいである。
内部エラー・コードがエラーのカテゴリに該当するため、稀に、ORA-00600 と 内部エラー・コードを条件に検索すると運良く情報を得られることがある(幸運なら、本家 Oracle 関連サイト、販売代理店の情報か、それの補足情報、そして海外でグルと称されるような人達が運営しているサイトの情報にたどり着けることがある)。 その内容から対処するか、連想してその機能や書き方を避けるくらいである。

サポート契約は、購入時に結んでおかないとタイミングを逸する。サポートが必要になったときには購入時にまで遡っての契約となる。比較的新しい機能の利用が必須条件で代替がない場合には、最初からエンドユーザーにサポート契約を結んでおくように説得するのが得策ということになります。

 


 

一覧ページへ戻る

OTN (Oracle Technology Network)によるエラーメッセージによる情報だけでは、対処に困ったエラーについてのプラクティスです。
ベスト・プラクティスというわけではないので、書いてあることに固執しないで広い視野でエラー対応してください。

日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ Oracle のライセンスがわからない…
Oracle Direct (ネットで聞いても最後はここで要確認)