関連する 2 つのアプリケーションは、複数のクエリでパッケージ内の関数を使用して、一部のデータを CSV として返します。選択および連結される列は CLOB フィールドであり、HTML、特殊文字などを含めることができます。アプリケーションのユーザーはほとんどいないため、あまり使用されていません。1 つは Oracle HTTP サービスを使用する Flex アプリケーションで、もう 1 つは ODP.NET を使用する ASP.NET アプリケーションです。アプリケーションは、相互にハイパーリンクを持つ 1 つの統合アプリケーションです。
昨日、奇妙なエラーの通知をいくつか受け取りました。
ORA-01031: 権限が不十分です ORA-06512
エラーの詳細にあるパッケージの行番号は、select 句で使用されている関数が原因でエラーが発生したことを示しています。いずれかのアプリケーションから呼び出された場合、約 75% の確率で発生します。
ORA-06512
を引き起こした関数で発生したことは正しいORA-01031 insufficient privilege error
ですか?残念ながら、ORA-06512
これは非常に一般的なエラーであり、何もわかりません。また、なぜ無効な権限エラーが発生するのでしょうか? 両方のアプリケーションで使用されている Oracle ユーザー アカウントには、関数を含むパッケージに対する実行権限があります。
機能に関しては… 生産で2年ほど使用しましたが問題ありません。また、昨日 QA にデータをインポートしてテストしたところ、何度サーバーにリクエストをぶつけてもエラーは発生しませんでした。しかし、実稼働環境では、まったく同じパラメーターを使用しても約 75% の確率でエラーが発生します。
DBA がトレースを手伝ってくれましたが、トレース ファイルにエラー メッセージが見つかりませんでした。
今日、生産はすべて正常に戻りました。リクエストでサーバーを叩いても、エラーは頑固に発生を拒否します。
昨日のこの非常に奇妙な動作の原因は何ですか? ここにいる教祖の中に何か考えがある人はいますか?
編集: 1 つの重要な詳細に気付きました。関数によって選択され、CSV に連結されているテーブルの列は CLOB です。