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

Oracle关于作业操作

2012-05-30 12:05 169 查看
一、启动SQL*PLUS Worksheet

二、创建启动作业:

2.1、创建启动作业代码

variable jobno1 number;
begin
dbms_job.submit(:jobno1,'qy_main;',sysdate,'trunc(sysdate+30,''MM'')+24');
dbms_job.run(:jobno1);
commit;
end;
2.2、创建启动作业的规则如下

VARIABLE JOB NUMBER;
BEGIN
DBMS_JOB.SUBMIT(
JOB => :JOB, /*自动生成JOB_ID*/
WHAT => 'CREATE_TASK_BY_PLAN;', /*需要执行的过程或SQL语句*/
NEXT_DATE => TRUNC(SYSDATE+1)+6/24, /*初次执行时间*/
INTERVAL => 'TRUNC(SYSDATE+1)+6/24'); /*执行周期*/

DBMS_JOB.RUN(:JOB); /* :JOB为自动生成JOB_ID*/
COMMIT;
END;
2.3、创建启动作业注意事项
(1)写submit时候job号前加“:” ,如::jobno1
(2)存储过程名称后加“;”
(3)初次执行时间不用“'”扩上

三、删除作业

在Worksheet中用代码删除作业。

3.1.1、删除作业代码

begin
dbms_job.REMOVE(82); /*83为自动生成的作业号码*/
end;
3.1.2、获取作业号码代码

select job,last_sec,next_sec from user_jobs;/*根据检索的相关信息获得将要删除的作业号码。*/
3.1.3、删除作业的规则如下

BEGIN
DBMS_JOB.REMOVE(:JOB); /* :JOB为自动生成JOB_ID*/
END;
3.2 、方法二

可以登录PL/SQL在job文件夹里找到想要删除的作业,右键drop直接删除

四、修改作业

修改作业一般是对作业的下次执行时间和时间间隔进行修改,修改的方法如下:

4.1、方法一

在Worksheet中用代码修改下次执行时间和时间间隔

4.1.1、修改下次执行时间
4.1.1.1、修改下次执行时间代码

begin
dbms_job.next_date(82,trunc(sysdate)+1+3.5/24);
end;
4.1.1.2、修改下次执行时间的规则

Begin
dbms_job.next_date(:job,next_date); /*:job 为将要修改的作业号码,next_date 为将要改为的下次执行时间*/
end;
4.1.2、修改作业时间间隔
4.1.2.1、修改作业时间间隔代码

begin
dbms_job.interval(82,'trunc(sysdate)+20+3.5/24');
end;
4.1.2.2、修改时间间隔代码规则

Begin
dbms_job.interval(job,interval); /*:job 为将要修改的作业号码,interval 为将要改为的时间间隔,注意不要忘记引号*/
end;
4.1.2.3、可供参考的时间间隔

trunc(sysdate,'yyyy') --返回当年第一天.
trunc(sysdate,'mm') --返回当月第一天.
trunc(sysdate,'d') --返回当前星期的第一天.
'TRUNC(SYSDATE + 1)' --每天午夜12点
'TRUNC(SYSDATE) + (8*60+30)/(24*60)' --每天早上8点30分
4.2、方法二
可以登录PL/SQL在job文件夹里找到想要修改的作业,右键Edit直接修改,修改后需要保存重新登录生效。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: