3

Oracleで次のブロックを実行しています(何をするかはそれほど重要ではありません)

BEGIN
  SDO_RDF_INFERENCE.CREATE_RULES_INDEX(
    'my_index',
    SDO_RDF_Models('my_model'),
    SDO_RDF_Rulebases('RDFS'));
END;

次のエラーが発生します:

ORA-29532: Java call terminated by uncaught Java exception: java.lang.NullPointerException
ORA-06512: at "MDSYS.RDF_APIS_USER", line 7
ORA-06512: at "MDSYS.RDF_APIS_USER", line 9
ORA-06512: at "MDSYS.RDF_APIS", line 477
ORA-06512: at line 2
29532. 00000 -  "Java call terminated by uncaught Java exception: %s"
*Cause:    A Java exception or error was signaled and could not be
           resolved by the Java code.
*Action:   Modify Java code, if this behavior is not intended.

質問: Oracleエラーログなどにアクセスして、完全なスタックトレースやその他の例外に関する情報を取得するにはどうすればよいですか。

4

3 に答える 3

1

これは、ログでより多くの情報を表示する方法に関する質問には答えませんが、エラーのいくつかの考えられる理由のためにこれを確認することをお勧めします。通常、アクセスしようとしているOracleオブジェクトへのアクセス許可が付与されていないために発生します。

于 2011-07-07T23:25:34.240 に答える
1

通常、Oracleログを表示するための必須の権限を持っているのはDBAだけです。しかし、あなたが十分な権利を持っている場合:

select value from v$parameter t
where t.NAME='background_dump_dest'

このクエリは、OracleServerマシンのOracleアラートログおよびtrace\dumpファイルのファイルパスを返します。アラートログ(Alert_ "databasename" .log)は、メッセージとエラーを時系列で記録し、それらに関連付けられたtrace\dumpファイルへのポインターを含みます。

また、Oracle Enterprise Managment Consoleを使用して、ターゲット・データベースの「アラート・ログの内容」リンクをたどってalert_.logを表示できます。

于 2011-07-08T00:18:06.457 に答える
1

失敗したストアドプロシージャを呼び出す前に、OracleSQLセッションで次のステートメントを実行してみてください。

dbms_java.set_output(32000);

これにより、Oracle JVMはJavaスタックトレースをDBMS出力に追加します。これにより、詳細を調べることができます。

于 2014-05-29T10:57:29.493 に答える