Oracle Scheduler(1)用法簡介

zhenghaishu發表於2015-10-21

Oracle Scheduler用法簡介

 

(一)建立表和過程

create table test20151021 (id int);

CREATE OR REPLACE PROCEDURE  test_proc AS

BEGIN

insert into test20151021 values(1);

END test_proc;

/

 

(二)建立Job

BEGIN

DBMS_SCHEDULER.CREATE_JOB (

job_name => 'test_job',

job_type => 'STORED_PROCEDURE',

job_action => 'SYSTEM.TEST_PROC',

start_date => sysdate,

repeat_interval => 'FREQ=MINUTELY;INTERVAL=1');

END;

/

 

(三) 啟動job 

begin 

dbms_scheduler.enable('TEST_JOB'); 

end; 

/ 

或者

exec dbms_scheduler.enable('TEST_JOB'); 

 

(四)禁用Job

begin 

dbms_scheduler.disable('TEST_JOB'); 

end; 

/ 

或者

exec dbms_scheduler.disable('TEST_JOB'); 

 

(五)執行job 

begin 

dbms_scheduler.run_job('TEST_JOB',TRUE);   -- true代表同步執行 

end; 

/

或者

exec  dbms_scheduler.run_job('TEST_JOB',TRUE);   


注意:執行job與啟動job的區別是,執行只能執行一次,而啟動則是根據repeat_interval引數定期執行。

 

(六) 刪除job 

begin 

dbms_scheduler.drop_job(job_name => 'TEST_JOB',force => TRUE); 

end; 

/ 

或者

exec dbms_scheduler.drop_job(job_name => 'TEST_JOB',force => TRUE); 

 

(七) 查詢job 

select * from user_scheduler_jobs; 

select * from dba_scheduler_jobs; 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29485627/viewspace-1815455/,如需轉載,請註明出處,否則將追究法律責任。

相關文章