2011-07-07 96 views
2

我正在以下Oracle中块(这是什么做的不是那么重要)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错误日志或获取完整堆栈跟踪或任何其他有关异常的信息。

回答

1

通常只有DBA具有查看Oracle日志的基本权限。 但是,如果你有足够的权限:

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

这个查询将返回Oracle警报日志文件的路径和跟踪\转储文件在Oracle服务器的机器。 警报日志(Alert_“databasename”.log)按时间顺序记录消息和错误,并包含指向追踪\转储文件的指针。

此外,您可以使用Oracle企业管理控制台在目标数据库中的“警报日志内容”链接之后查看alert_.log。

1

这并不回答关于如何在日志中查看更多信息的问题,但您可能需要查看this以查找错误的一些可能原因。通常会发生这种情况,因为您尚未被授予您试图访问的Oracle对象的权限。

0

尝试在你的Oracle SQL会话中执行该语句调用失败的存储过程之前:

dbms_java.set_output(32000); 

这会导致Oracle JVM将Java堆栈跟踪追加到DBMS输出,然后你就可以在更多的检查详情。