2009年11月21日土曜日

Oracle10g で発生する製品バグについて

[起こりうる現象]
OS 起動後 に一定時間経過するとOCI クライアントがハングします。具体
的には現象発生時、ハング中はスピン状態(一種の無限ループの実行状態)
となり、CPU 使用率が高騰している状況が継続します。
弊社で確認している"一定時間の経過"は、Linux環境でカーネルのバージョ
ンによって 198 日、または 248 日経過後にハングするという事例です。


[対象リリース]
問題が発生するリリース :Oracle Database 10g Release 2 (10.2.0.1)
Oracle Database 10g Release 1 (10.1.0)
問題を修正したリリース :11.1.0
問題を修正したPSR :10.2.0.2

[対象プラットフォーム]
すべてのプラットフォーム
(※内部ロジックの検証により Linux全般、及び AIX のみで発生する現象である
ことが確認されております。詳細は[FAQ]をご参照ください)


[起こりうる条件]
次の条件を満たしている状態で、OS times() システムコールが負の値を戻した場
合に現象が発生する場合があります。

- OCI および OCI を使用するミドルウェアすべて(JDBC Thin Driver 以外)を
使用している
※ データベース・リンクや、インスタントクライアントでもこの問題は発生し
ます。

なお Linux x86 プラットフォームでは、カーネルバージョンの違いにより OS
起動後198 日 以上経過している場合と、248 日以上経過している場合に OS
times()
システムコールが負の値を戻す場合があることを確認しています。OS 起動からの
経過時間は、以下のようにして確認できます。

$ uptime
20:56:42 up 22 days, 9:51, 5 users, load average: 0.00, 0.00, 0.00


[原因]
製品の不具合です。OS times() システムコールを使用した部分に問題があり、
times() 関数が負数を戻す場合について考慮が不足していました。


[回避策]
問題を修正したPSRを適用していただくか、または、198 日経過前に OS の再起動
を 実施していただくことで回避可能です。


[障害発生時の対処]
OS の再起動を行ってください。


[BUG番号]
BUG:4612267
* My Oracle Supportで内容を公開していない場合があります


[FAQ]
Q1. 全てのプラットホームで発生しうるとありますが、詳細を教えてください。
A1. BUG:4612267ではGeneric BUG(全てのプラットフォームで発生しうるBUG)とし
て 扱われており、それに準じて記載しております。
しかしながら、その後の調査により、OSがtypedefで提供している型の違いに
よって、弊社製のソースコードが同一であるためGeneric BUGとして扱ってお
りますが、問題が発生するプラットホームとそうでないプラットフォームが
確認されています。
また、#ifdef等を用いてOS別の実装がなされている部分もあり、その実装によ
り発生しえないプラットフォームも存在します。
Q2. 本問題が発生しうるプラットフォーム(OS)を教えてください。
A2. Linux全般、及び AIX にて発生し、その他のプラットフォームでは発生いたし
ません。また、AIXでの事例は報告されておりません。
Q3. Oracle 10.1を使用していますが、条件を満たしても発生していません。
A3. バージョン毎に、問題を含む該当モジュールの実装が異なっているため、発生
しやすさが異なります。Oracle 10.2.0.1は非常に発生しやすいロジックとな って

おり、Oracle 10.1.0では発生しにくいロジックとなっております(10.1.0でも
発 生する可能性はあります)。


[補足事項]
Oracle Server へ接続し、SQL の実行や、データの参照、編集などを行うことが可
能 な製品は、内部的に OCI ライブラリを使用しています(ただし、Oracle JDBC Thin
 Driver を除きます)。これらの製品は、本文書の対象である OCI クライアントに
該 当します。以下の文書についても併せて参照してください。
KROWN:124406 OCI を使用するプログラミング インターフェース製品について

また Fusion Middleware 製品において本現象に該当する製品の情報につきまして
は、
 KROWN:127093 Fusion Middleware 製品における Krown:111215 の影響について
を参照してください。



OTN
http://otn.oracle.co.jp/forum/thread.jspa?messageID=35015309