oracle11g – 怎样查察oracle进程的日记(dbms_output语句)
发布时间:2021-01-14 03:13:03 所属栏目:站长百科 来源:网络整理
导读:着实我从应用处事器上的 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表中. (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |