首页 / 数据库 / MySQL / 修改Oracle的Job Scheduler 日志级别及删除运行日志
Oracle的Job 运行久了会产生大量运行日志,这些信息可通过下面的方式清除:1、创建job:Create job links to previous job class.
DBMS_SCHEDULER.create_job (
job_name => "test_log_job",
job_type => "PLSQL_BLOCK",
job_action => "BEGIN NULL; END;",
job_class => "no_logging_class",
enabled => FALSE,
auto_drop => FALSE,
comments => "Job used to job logs."); 2、job的日志级别:--job日志级别由两个因素决定,一个是job自己日志级别,别一个是使用的job cloass的日志级别,取两者中的最高值。
--job创建时日志级别默认是DBMS_SCHEDULER.LOGGING_RUNS,
--创建的job时,如果不指定job class,默认为DEFAULT_JOB_CLASS,而DEFAULT_JOB_CLASS默认logging level是DBMS_SCHEDULER.LOGGING_RUNS,
--所以创建的job的logging level至少是LOGGING_RUNS。
--如果不产生日志,必须禁止job自己日志级别,同时不能使用默认的默认为DEFAULT_JOB_CLASS.-- 重新建立无日志job class:begin
DBMS_SCHEDULER.create_job_class (
job_class_name => "no_logging_class",
resource_consumer_group => "default_consumer_group",
logging_level => DBMS_SCHEDULER.LOGGING_OFF);
end; --禁止job自身日志,修改日志级别LOGGING_LEVEL属性:BEGIN
dbms_scheduler.set_attribute("JOB_NAME","LOGGING_LEVEL",DBMS_SCHEDULER.LOGGING_OFF);
END;--1)DBMS_SCHEDULER.LOGGING_OFF:关闭日志记录功能;
--2)DBMS_SCHEDULER.LOGGING_RUNS:对任务的运行信息进行记录;
--3)DBMS_SCHEDULER.LOGGING_FULL:记录任务所有相关信息,不仅有任务的运行情况,甚至连任务的创建、修改等也均将记入日志。3、查询和删除Job Log:
--在当前普通用户和SYS用户中都可以查看SCHEDULER_JOBS生成的日志(名称全用大写) select * from all_scheduler_job_log where owner="USERNAME" and job_name="XXX"
select * from all_scheduler_job_run_details where owner="USERNAME" and job_name="XXX"and job_name="XXX"--以SYS用户登录,删除某用户下的某个job的运行信息:delete from all_scheduler_job_run_details where owner="USERNAME" and job_name="XXX"Oracle 单实例 从32位 迁移到 64位 方法 http://www.linuxidc.com/Linux/2012-03/55759.htm在CentOS 6.4下安装Oracle 11gR2(x64) http://www.linuxidc.com/Linux/2014-02/97374.htmOracle 11gR2 在VMWare虚拟机中安装步骤 http://www.linuxidc.com/Linux/2013-09/89579p2.htmDebian 下 安装 Oracle 11g XE R2 http://www.linuxidc.com/Linux/2014-03/98881.htm更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址