您好,登錄后才能下訂單哦!
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'
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。