加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

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表中.

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读