您的位置:首页 > 数据库 > Oracle

oracle创建job并执行job

2016-02-05 16:52 417 查看
1、首先job要在command命令下执行才有效
DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
( job => X
,what => 'test;'
,next_date => to_date('05-02-2016 11:40:00', 'dd-mm-yyyy hh24:mi:ss')
,interval => 'sysdate+1/24'
,no_parse => TRUE
);
SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
COMMIT;
END;
/


2、job创建之后,看情况需不需要立即执行job,如果next_date在当前日期之后,如果执行run的话立即会执行一次,否则是到指定的时间执行;如果你设置的next_date的时间在当前日期之前那么当时run和不run都会在系统当前的时间执行一次。

begin
dbms_job.run(job的id);
end;
/


记得commit;
job 的id可以通过select * from user_jobs;进行查询
3、如果发现job到点没有执行,那么
show parameter job_queue_processes ;

看下
job_queue_processes的值,如果为0 那么要将值改为大于零的数,
alter system set job_queue_processes=1;
即可.
4、查看job运行情况
select * from user_jobs;
select * from dba_jobs_running;
select * from dba_jobs;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle job