2、将任务加入数据库的任务队列中 DBMS_JOB.Submit ( job out binary_integer, (任务号) what in varchar2, (执行任务的名称及入参) next_date in date, (任务执行的时间) interval in varchar2, (任务执行的间隔。null:执行一次;sysdate+m:周期性,每隔m天执行) no_parse in boolean ) 同时 grant execute on dbms_job to ...;
3、将要执行的任务,为存储过程等PL/SQL程序段 SQL> variable n number; SQL> begin 2 dbms_job.submit(n, 'my_job', sysdate, 'sysdate + 1/360'); 3 commit; 4 end 5 / SQL> print :n;
是否被设置
1、确保Oracle已配置任务队列管理器的启动参数
initSID.ora中:
job_queue_process=n(0);(0-36)个进程
job_queue_interval=N(60);(1-3600)秒唤醒
2、将任务加入数据库的任务队列中
DBMS_JOB.Submit (
job out binary_integer, (任务号)
what in varchar2, (执行任务的名称及入参)
next_date in date, (任务执行的时间)
interval in varchar2, (任务执行的间隔。null:执行一次;sysdate+m:周期性,每隔m天执行)
no_parse in boolean
)
同时
grant execute on dbms_job to ...;
3、将要执行的任务,为存储过程等PL/SQL程序段
SQL> variable n number;
SQL> begin
2 dbms_job.submit(n, 'my_job', sysdate, 'sysdate + 1/360');
3 commit;
4 end
5 /
SQL> print :n;
4、查看Job
Table :user_jobs、dba_jobs
Column:job (任务号)
next_date (下次执行日期)
next_sec (下次执行时间)
failures (失败次数,失败16次则自动终止)
broken (终止标志,Y/N)