Job 運(yùn)行久了會(huì)產(chǎn)生大量運(yùn)行日志,這些信息可通過下面的方式清除:
目前創(chuàng)新互聯(lián)已為上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、金鳳網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
1、創(chuàng)建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的日志級(jí)別:
--job日志級(jí)別由兩個(gè)因素決定,一個(gè)是job自己日志級(jí)別,別一個(gè)是使用的job cloass的日志級(jí)別,取兩者中的最高值。
--job創(chuàng)建時(shí)日志級(jí)別默認(rèn)是DBMS_SCHEDULER.LOGGING_RUNS,
--創(chuàng)建的job時(shí),如果不指定job class,默認(rèn)為DEFAULT_JOB_CLASS,而DEFAULT_JOB_CLASS默認(rèn)logging level是DBMS_SCHEDULER.LOGGING_RUNS,
--所以創(chuàng)建的job的logging level至少是LOGGING_RUNS。
--如果不產(chǎn)生日志,必須禁止job自己日志級(jí)別,同時(shí)不能使用默認(rèn)的默認(rèn)為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自身日志,修改日志級(jí)別LOGGING_LEVEL屬性:
BEGIN dbms_scheduler.set_attribute('JOB_NAME','LOGGING_LEVEL',DBMS_SCHEDULER.LOGGING_OFF); END;
--1)DBMS_SCHEDULER.LOGGING_OFF:關(guān)閉日志記錄功能;
--2)DBMS_SCHEDULER.LOGGING_RUNS:對(duì)任務(wù)的運(yùn)行信息進(jìn)行記錄;
--3)DBMS_SCHEDULER.LOGGING_FULL:記錄任務(wù)所有相關(guān)信息,不僅有任務(wù)的運(yùn)行情況,甚至連任務(wù)的創(chuàng)建、修改等也均將記入日志。
3、查詢和刪除Job Log:
--在當(dāng)前普通用戶和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用戶登錄,刪除某用戶下的某個(gè)job的運(yùn)行信息:
delete from all_scheduler_job_run_details where owner='USERNAME' and job_name='XXX'