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直接修改,修改后需要保存重新登录生效。
二、创建启动作业:
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直接修改,修改后需要保存重新登录生效。
相关文章推荐
- 关于Oracle误操作--数据被Commit后的数据回退恢复(闪回)
- Oracle关于时间/日期的操作
- 关于Oracle误操作--数据被Commit后的数据回退恢复(闪回)
- Oracle 关于树的操作
- Oracle关于时间/日期的操作
- oracle中关于表的各种操作
- 关于练习中,一些Oracle的操作
- Oracle关于时间/日期的操作2
- oracle 中关于null的操作
- Oracle关于时间/日期的操作
- Oracle关于时间/日期的操作
- Oracle 中关于用户的几个操作
- 关于mysql 和oracle 的常用字符串操作
- Oracle关于时间/日期的操作
- Oracle关于时间/日期的操作
- Oracle关于时间/日期的操作
- 关于Oracle 的定时执行作业问题(动态PL/SQL)
- Oracle关于时间/日期的操作
- Oracle关于时间/日期的操作
- oracle数据库的优化-关于rownum操作