我在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错误日志或其他东西,以获得完整的堆栈跟踪或有关异常的任何其他信息
通常只有DBA才有查看Oracle日志的基本权限。但是,如果你有足够的权限:
select value from v$parameter t
where t.NAME='background_dump_dest'
这个查询将返回Oracle alert日志和tracedump文件在Oracle Server机器上的文件路径。警报日志(Alert_"databasename".log)按时间顺序记录消息和错误,并包含指向与它们相关的跟踪dump文件的指针。
您还可以使用Oracle企业管理控制台在目标数据库中单击"Alert Log Contents"链接查看alert_1 . Log。
这并不能回答如何在日志中查看更多信息的问题,但是您可能需要查看此错误的一些可能原因。
在调用失败的存储过程之前,尝试在Oracle SQL会话中执行此语句:
dbms_java.set_output(32000);
它将导致Oracle JVM将Java堆栈跟踪附加到DBMS输出,然后您可以更详细地检查它。