私はJava Webアプリケーション内でSQLを呼び出すと、Oracle 10gのバグに大きな間違いがあります。すぐにパッチを当てたり、11gにアップグレードすることはできません。これは最初の「愚かな」オラクルサポートの応答であるようです。回避策がありますが、Javaコード内でPreparedStatements内でこれを実行するのに問題があります。PreparedStatementとOracle 10gのバグ
実際のエラーがある:
ORA-00600: internal error code, arguments: [kcblasm_1]
バグがある:私達は私達のバグを誘発するSQLを実行する前に、Oracleのバグ12419392
は、周りの仕事が
alter session set "_hash_join_enabled" = FALSE;
を実行しています。しかし、伝統のPreparedStatementは、SQLの1つの作品になります:ただのシリーズを実行することによって
PreparedStatement stmt = con.prepareSelect("sql statement1; sql statement2;");
それともこれが可能である:
PreparedStatement stmt = con.prepareSelect("sql statement2");
が、それはこのようになります1つのPreparedStatementの呼び出しを持つことが可能ですシーケンシャルなPreparedStatementは相次いでいますか?
私は本当に誰かが助けてくれることを願っています。ありがとう。
を編集してください:@jonearlesはコードを尋ねましたので、ここに使用してください。おそらく私たちのプロジェクトに非常に具体的、誰かがまぶしいバグを誘発する問題スポットがあります
SELECT DISTINCT qm.validator_id,
qm.QM_ID,
u.EMAIL,
qm.creation_dt,
qm.emailed,
qm.valid,
qm.resolved,
qm.new_obs_id,
o.*,
nests.*,
s.*,
l.*,
latc.TENKM
FROM query_man qm,
obs o,
obs_aux_aon nests,
sub s,
location l,
l_atlas_tetrad_coverage latc,
users u
WHERE qm.OBS_ID = o.OBS_ID
AND o.SUB_ID = s.SUB_ID
AND u.user_id = qm.user_id
AND o.obs_id = nests.obs_id(+)
AND s.LOC_ID = l.LOC_ID
AND latc.ATLAS_REGION = 'NKNE'
AND (LENGTH (l.gridref) = 6
AND (SUBSTR(l.gridref,1,3)
|| SUBSTR(l.gridref,5,1)) = latc.TENKM
OR LENGTH (l.gridref) = 4
AND l.gridref = latc.TENKM)
AND qm.RESOLVED IS NULL
ORDER BY latc.tenkm,
l.tetrad
接続プールを使用していますか?準備された声明の後/前に解放され、再取得された接続ですか?あなたはそのような行の2つのSQL文を使ってテストしましたか?結果は何でしたか? – xQbert
いいえ、これをテストしていないので、このインスタンスの変更セッションを実行すると、このSQLを呼び出さない他のユーザーに影響するかどうかについてのフィードバックが必要でした。はい、接続プーリングを使用していますが、私は最適なやり方で考えています。有用であれば、GlassFish Server Open Source Edition 3.1(ビルド43)を実行しています。私が言うように、それは非常に間欠的であり、Oracleの明確なバグです。 – iaindownie
前に接続プールaおよびoracleに関する問題を思い出してください。 http://stackoverflow.com/questions/5761175/odp-net-connection-pooling-clientid-client-identifier-never-changes-from-first。それは関連する問題であれば驚くべきことです:基本的にセッションはプールに返されたときに以前の使用から「汚い」でしたが、「すべて」は解放されませんでした。明示的にコマンドを実行することにより、セッションをクリアすることができました。彼らにも断続的に見えました。 – xQbert