oracle11g – 如何查看oracle过程的日志(dbms_output语句)
发布时间:2021-01-15 17:17:54 所属栏目:站长百科 来源:网络整理
导读:其实我从应用服务器上的 java文件调用oracle程序.我想调试我的oracle过程,所以我在oracle过程中将语句写为“dbms_output”,但是不知道oracle服务器上的日志存储在哪里,实际上我想在oracle过程中打印一些变量值来跟踪我的问题. 如果你知道从java文件调试oracl
其实我从应用服务器上的 java文件调用oracle程序.我想调试我的oracle过程,所以我在oracle过程中将语句写为“dbms_output”,但是不知道oracle服务器上的日志存储在哪里,实际上我想在oracle过程中打印一些变量值来跟踪我的问题. 如果你知道从java文件调试oracle过程调用的任何其他调试机制,请分享解释. 我花了几个小时在Google上寻找一些东西.但是,我似乎无法找到任何牵手,你的帮助非常感谢.试着更清楚,我在这个问题上缺乏想法,即使它听起来像一个经典. 解决方法当你调用dbms_output(put_line方法,我假设)时,输出被泵送到stderr,而不是任何日志文件.我建议您使用像Log4PLSQL这样的工具或创建一个日志表,并拥有一个自动事务,将所有错误记录到此表中. 您的基本错误记录过程将如下所示: PROCEDURE log_errors(p_error_details varchar2) is PRAGMA AUTONOMOUS_TRANSACTION; BEGIN INSERT INTO ERROR_LOG(SR_NO,ERR_MSG,ERR_DATE) VALUES(ERR_LOG_SEQ.NEXTVAL,p_error_details,sysdate); COMMIT; END log_errors; 支持错误记录过程的脚本: CREATE TABLE ERROR_LOG(SR_NO NUMBER,ERR_MSG VARCHAR2(2000),ERR_DATE DATE); CREATE SEQUENCE ERR_LOG_SEQ MINVALUE 1 START WITH 1 INCREMENT BY 1 CACHE 20; 现在,只需添加一个异常处理程序&在PL / SQL过程中调用此过程可以解决问题. BEGIN .... EXCEPTION ... WHEN OTHERS THEN log_errors(DBMS_UTILITY.FORMAT_ERROR_BACKTRACE); 所有异常都将被处理并存储在ERROR_LOG表中. (编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐