0

Oracle を使用すると、次のエラーが発生します。

[Oracle JDBC ドライバー] アプリケーションのフェイルオーバーは非単一の SELECT ステートメントをサポートしていません

多数の行 (数千万行) に対して削除または挿入を行おうとすると、エラーが発生します。

これらのエラー メッセージが表示されるまでのほぼ 1 年間、スクリプトは機能していたので、スクリプトが機能していることはわかっています。

誰もデータベース構成を変更していないことがわかっているので、問題は処理されたデータの量にあるに違いないことがわかります (時間の経過とともに行数が増加しています...)。

しかし、そのようなエラーはこれまで見たことがありません! どういう意味ですか?フェールオーバー エンジンがエラーから回復しようとしているようですが、Oracle がこのエンジンによって「引き継がれる」と、より制限された状態になり、一部の種類のクエリが機能しなくなります (Windows セーフ モードなど)。

これが起こっている場合、どうすれば本当のエラーメッセージを取得できますか? フェイルオーバーメカニズムをトリガーするものは?

ところで、以下はエラーを引き起こす削除の 1 つです。

odf_ca_rnv_av_snapshot_week から削除

(考えられる最も単純な削除をテストするためにこれを試しました...切り捨ては実際には役に立ちません:))

4

1 に答える 1

0

このリンクを確認してください

エラーはOracleやJDBCからではなく、「進行状況」から発生しているようです。SELECTこれは、DML からではなく、ステートメントからのみ回復できることを意味します。

そもそもフェイルオーバーが発生する理由を理解する必要があります。

于 2013-06-14T15:19:13.797 に答える