| 2017.8.10 | oracle |
1、创建一张表
CREATE TABLE a(a DATE);
2、创建一个自定义过程
CREATE OR REPLACE PROCEDURE TEST AS
BEGIN
INSERT INTO a VALUES(SYSDATE);
END;
3、创建JOB 设定1分钟执行一次该任务(在Command Window命令行执行)
variable job1 number;
begin
dbms_job.submit(:job1,'test;',sysdate,'sysdate+1/1440');--每天1440分钟,即一分钟运行test过程一次
commit;
end;
/
4.运行job
BEGIN
dbms_job.run(:job1);
END;
/
其中:job1是生成的作业号
用户需要有创建作业权限,用system用户登录授权
grant create job to user_name;
更新列表:
上面的创建定时任务的方法是PL/SQL实现的,代码比较多,而使用Oracle SQL Developer可以使用可视化的方式进行新建定时任务,定时策略可以自由选择,
在新建定时任务后,选择的任务是执行存储过程,遇到执行不了的情况:
Oracle运行JOB报ORA-27492:无法运行作业
是因为job_queue_processes值为0导致的
查看语句
SQL> show parameter job_queue_processes
修改语句
SQL> alter system set job_queue_processes=50 scope=both;
可以在Oracle SQL Developer右键作业->运行作业进行调试
参考文章: