|
利用Oracle的Job Queue实现定时操作
利用Oracle的Job Queue实现定时操作
1、确保Oracle的工作模式允许启动队列管理器(SNP进程) SVRMGRL> Alter System Enable Restricted Session; 或 SQL> Alter System Disenable Restricted Session;
利用Oracle的Job Queue实现定时操作
1、确保Oracle的工作模式允许启动队列管理器(SNP进程) SVRMGRL> Alter System Enable Restricted Session; 或 SQL> Alter System Disenable Restricted Session;
2、确保Oracle已配置任务队列管理器的启动参数 initSID.ora中: job_queue_process=n(0);(0-36)个进程 job_queue_interval=N(60);(1-3600)秒唤醒
3、将任务加入数据库的任务队列中 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 ...;
4、将要执行的任务,为存储过程等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;
5、查看Job Table :user_jobs、dba_jobs Column:job (任务号) next_date (下次执行日期) next_sec (下次执行时间) failures (失败次数,失败16次则自动终止) broken (终止标志,Y/N)
查看上一页
返回分类首页 返回96PC首页
查看下一页 |