oracle dbms ijob,Oracle Job常用操作

Oracle Job常用操作

原创 2017-10-10 Oracle 宅必备

这个专题主要是一些日常运维中需要用到的命令,不定期更新~~

1. 手动运行Job

括号中为job号

1.1 使用sys用户运行

exec dbms_ijob.run(4)

1.2 使用本身用户运行

exec dbms_job.run(4)

2. 删除Job

exec dbms_ijob.remove(862)

commit;

3. 停止&开启job

EXEC DBMS_IJOB.BROKEN(1591,TRUE);

COMMIT;

EXEC DBMS_IJOB.BROKEN(552,FALSE);

COMMIT;

4. 设置Job可同时运行数量

设置为0表示禁止job运行

ALTER SYSTEM SET job_queue_processes =20;

5. 建立Job

5.1 每五分钟运行一次

declare test_job_really number ;

begin

dbms_job.submit(test_job_really, 'dcprod_queue_job;',sysdate ,'sysdate+5/1440');

commit;

end;

5.2 每周日20点执行(立即执行一次)

declare test_job_really number ;

begin

dbms_job.submit(job=>test_job_really,

what=>'PKG_BONUS_JOB.EXECUTE_WEEKLY;',

next_date=>sysdate ,

Interval => 'NEXT_DAY(TRUNC(SYSDATE), 1)+20/24'

);

commit;

end;

5.3 每周日4点执行(不立即执行)

declare job number;

begin

sys.dbms_job.submit(job,'PKG_NME_BONUS.AutoRunData;',

to_date('25-06-2017 04:00:00', 'dd-mm-yyyy hh24:mi:ss'),

'TRUNC(next_day(sysdate,1))+4/24');

commit;

end;

5.4 每天七点运行

declare test_job_really number ;

begin

dbms_job.submit(job=>test_job_really,

what=>'dcb2b.P_SAPAccount_SendMail;',

next_date=>to_date('18-04-2017 07:00:00','dd-mm-yyyy hh24:mi:ss'),

Interval => 'TRUNC(sysdate) + 1 +7/24'

);

commit;

end;

5.5 每三个月的的一号(从当前月份算起)

declare test_job_really number ;

begin

dbms_job.submit(job=>test_job_really,

what=>'P_EXT_SendMail;',

next_date=>sysdate,

Interval => 'ADD_MONTHS(TRUNC(SYSDATE ,''MM''),3)'

);

commit;

end;

6. 更改Job执行频率

更改至下一个小时

BEGIN

DBMS_JOB.CHANGE(289,null,null,'TRUNC(SYSDATE,''HH24'') +1/24');

END;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值