甲骨文 DBMS_SCHEDULER_LOGGING_OFF
Oracle DBMS_SCHEDULER_LOGGING_OFF
我定义了一个 DBMS_SCHEDULER 作业,日志记录定义为 DBMS_SCHEDULER_LOGGING_OFF,如图所示:
然而,当我查询数据库时
SELECT * from USER_SCHEDULER_JOB_RUN_DETAILS ORDER BY LOG_DATE DESC
我得到了所有工作详情
这份工作属于什么工作class?虽然你可能已经用 DBMS_SCHEDULER_LOGGING_OFF 定义了作业,但如果作业所属的作业 class 的 logging_level
更高,那么 Oracle 将优先于作业 class logging_level
高于个人职位的 logging_level
。
要解决此问题,您可以:1. 使用所需 logging_level
创建新作业 class,然后使用该作业 class 重新创建作业,或者 2 . 使用 DBMS_SCHEDULER.set_attribute
更改现有作业 class 的 logging_level
。我建议创建一个新工作 class,因为更改现有工作 class 可能会导致不良结果。
要通过注销创建新作业 class,您的代码应如下所示:
BEGIN
DBMS_SCHEDULER.CREATE_JOB_CLASS (
job_class_name => 'mytestjobclass',
logging_level => DBMS_SCHEDULER.LOGGING_OFF);
END;
如果该作业已经属于它自己的作业 class 而您只想更改日志记录级别,您的代码将如下所示:
BEGIN
DBMS_SCHEDULER.SET_ATTRIBUTE (
name => 'mytestjobclass',
attribute => 'logging_level',
value => DBMS_SCHEDULER.LOGGING_OFF);
END;
您可以在此处找到有关工作 classes 和 logging_level
的更多信息:29.8.2.3 Precedence of Logging Levels in Jobs and Job Classes。
我定义了一个 DBMS_SCHEDULER 作业,日志记录定义为 DBMS_SCHEDULER_LOGGING_OFF,如图所示:
然而,当我查询数据库时
SELECT * from USER_SCHEDULER_JOB_RUN_DETAILS ORDER BY LOG_DATE DESC
我得到了所有工作详情
这份工作属于什么工作class?虽然你可能已经用 DBMS_SCHEDULER_LOGGING_OFF 定义了作业,但如果作业所属的作业 class 的 logging_level
更高,那么 Oracle 将优先于作业 class logging_level
高于个人职位的 logging_level
。
要解决此问题,您可以:1. 使用所需 logging_level
创建新作业 class,然后使用该作业 class 重新创建作业,或者 2 . 使用 DBMS_SCHEDULER.set_attribute
更改现有作业 class 的 logging_level
。我建议创建一个新工作 class,因为更改现有工作 class 可能会导致不良结果。
要通过注销创建新作业 class,您的代码应如下所示:
BEGIN
DBMS_SCHEDULER.CREATE_JOB_CLASS (
job_class_name => 'mytestjobclass',
logging_level => DBMS_SCHEDULER.LOGGING_OFF);
END;
如果该作业已经属于它自己的作业 class 而您只想更改日志记录级别,您的代码将如下所示:
BEGIN
DBMS_SCHEDULER.SET_ATTRIBUTE (
name => 'mytestjobclass',
attribute => 'logging_level',
value => DBMS_SCHEDULER.LOGGING_OFF);
END;
您可以在此处找到有关工作 classes 和 logging_level
的更多信息:29.8.2.3 Precedence of Logging Levels in Jobs and Job Classes。