0

Oracle で大規模なクエリを実行すると、このエラーが発生します。何かアドバイス?私はpl sqlバージョン10.2を使用しています

このエラーは、多くのテーブルに基づくビューを作成したことが原因であることに気付きました。このビューから where 条件を使用して特定のパラメーターを選択すると、そのエラーが発生しました。ログを確認したところ、これがわかりました

ora 07445 アクセス違反

だから、それはビュー上の何かによるものです。ビューを作成しているテーブルに対する完全な権利を持っています。私はネットワークを使用していません。データベースは私のマシンにあります。

ありがとう。

4

2 に答える 2

2

これは通常、データベース サーバーの OS レベルで何かが強制終了された場合です。しかし、これはかなり一般的なエラーです。しかし、私の特定の世界では、マシン B のデータベース サーバーがシャットダウンされている場合、マシン A のアプリケーション サーバー ログにこれが表示されます。あなたの場合、デスクトップは DBMS との通信を失っています。管理者または自動化されたプロセスがクエリをリソース ホグとして識別している場合 (つまり、デカルト積がある場合)、「大きなクエリ」がプロセス レベルで強制終了されている可能性があります。

明確にするために、これはクライアントとして間違ったことをしている可能性が非常に高く、サーバーやOracle自体のバグではありません.

追加の詳細を提供したため、更新します。db はマシン上で実行されているため、クライアントとサーバーの両方の操作をサポートするための RAM がクエリで不足していると思われます。

于 2010-07-27T20:54:36.677 に答える
2

便利なoerrコマンドから:

$ oerr ora 3113
03113, 00000, "end-of-file on communication channel"
// *Cause: The connection between Client and Server process was broken.
// *Action: There was a communication error that requires further investigation.
//          First, check for network problems and review the SQL*Net setup.
//          Also, look in the alert.log file for any errors. Finally, test to
//          see whether the server process is dead and whether a trace file
//          was generated at failure time.

したがって、最も可能性の高い原因は次のとおりです。

  1. 接続していたサーバー プロセスがクラッシュしました。
  2. ネットワークの問題により、接続が切断されました。
  3. あなたが接続していたサーバーのプロセスが誰かによって手動で強制終了されました。

接続していたサーバー プロセスがクラッシュすると、ORA-07445 がスローされました。このエラーは、ORA-00600 とともに、比較的有名な Oracle エラーです。これらは機能的に未処理の例外であり、ORA-00600 は Oracle コードの未処理の例外ですが、ORA-07445 は OS からの致命的な信号です。 Oracle プロセスを強制終了しました。

Oracle のサポート サイト ( http://metalink.oracle.com ) には、これらのエラーのオンライン トラブルシューティング ツールがあります。ドキュメント 600.1 を Metalink 内で検索し、ログ ファイルから適切な情報を入力すると、役立つトラブルシューティング情報が得られる場合があります。

于 2010-07-27T21:16:08.427 に答える