非job用户修改数据库job执行情况

要修改某个JOB的执行情况,没有JOB的所属用户,怎么办?

 dbms_ijob这个系统包(用户有执行权限)

 

执行下面脚本即可,执行前需要修改一下job号和下次执行时间这两个参数。

BEGIN

  sys.Dbms_Ijob.next_date(1112,to_date('15-05-2013 02:00:00', 'dd-mm-yyyy hh24:mi:ss'));

END;

 

 

*********************************************

以下内容来自 http://blog.chinaunix.net/uid-23284114-id-3347118.html 

 

总结:
1.dbms_job只能在当期用户内创建job、修改和删除job,不能对其他用户的job进行操作;sys用户也无法用dbms_job管理其他用户的job。
2.dbms_ijob只能由sys用户去执行,拥有DBA权限的用户都没有权限去执行它。
3.通过dbms_ijob sys用户可以给其他用户创建job,且job在该用户下,在该用户内可以通过user_jobs视图看到。
4.通过dbms_ijob sys用户能够对其他用户中的job进行删除、修改。
5.sys用户通过dbms_ijob给X用户创建job,那么X用户对该job拥有修改和删除的权限。

 

 

dbms_ijob书写格式:
1.创建job
begin
dbms_ijob.submit(jobnu,' LUSER  ',' PUSER ',' CUSER ',
next day,'interval',false,'procedure_name;',
'NLS_LANGUAGE=''SIMPLIFIED CHINESE'' NLS_TERRITORY=''CHINA'' '||
'NLS_CURRENCY=''¥'' NLS_ISO_CURRENCY=''CHINA'' '||
'NLS_NUMERIC_CHARACTERS=''.,'' '||
'NLS_DATE_FORMAT=''YYYY-MM-DD HH24:MI:SS'' '||
'NLS_DATE_LANGUAGE=''SIMPLIFIED CHINESE'' NLS_SORT=''BINARY'' ',
'0102000200000000');
commit;
end;
/

2.执行job
exec dbms_ijob.run(jobnumber);

3.修改job的间隔时间(interval)
 exec dbms_ijob.interval(5,'sysdate+2');

4.修改job的下次执行时间
 exec dbms_ijob.next_date(5,sysdate+5);

5.中断job
exec dbms_ijob.broken(5,true);

6.删除job
exec dbms_ijob.remove(5);

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值