赛迪网 > IT技术 数据库 > 精彩更新
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

Oracle数据库中如何根据时间来执行JOB

发布时间:2008.05.13 04:47     来源:赛迪网    作者:Dana

【赛迪网-IT技术报道】问题:假设有一个存储过程p_test,如何才能每20分钟执行一次?

解答:

1、把init.ora中如下两个参数打开

JOB_QUEUE_INTERVAL=60

JOB_QUEUE_PROCESSES=4

job_queue_keep_connections=true

然后重启一个库,如果原来已经打开了则不用这步了

2、示例,以下由sqlplus 来执行,具体参照一下相关的文档

VARIABLE jobno number;

BEGIN

DBMS_JOB.SUBMIT(:jobno,

’p_test;’

SYSDATE,’SYSDATE + 1/72’);

commit;

END;

DBMS_JOB.SUBMIT(:jobno,//job号

’your_procedure;’,//要执行的过程

trunc(sysdate)+1/24,//下次执行时间

’trunc(sysdate)+1/24+1’//每次间隔时间

);

删除job:dbms_job.remove(jobno);

修改job:dbms_job.what(jobno,what);

修改下次执行时间:dbms_job.next_date(job,next_date);

修改间隔时间:dbms_job.interval(job,interval);

停止job:dbms.broken(job,broken,nextdate);

启动job:dbms_job.run(jobno);

例子:

VARIABLE jobno number;

begin

DBMS_JOB.SUBMIT(:jobno,

’Procdemo;’,

SYSDATE, ’SYSDATE + 1/720’);

commit;

end;

(责任编辑:卢兆林)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 必须引起DBA重视的Oracle数据库碎片 (05-12) · 必须引起DBA重视的Oracle数据库碎片 (05-12)
· Oracle中列出指定数据表的全部索引列 (05-07) · Oracle数据库中的timestamp和date类型 (05-07)
· 数据库安全:入侵Oracle数据库常用操作命令 (05-07) · Oracle数据库与用户角色权限相关的视图 (05-06)
· 全面解析Oracle数据库的系统和对象权限 (05-06) · Oracle数据库SQL语句性能调整的基本原则 (05-06)
· Oracle数据库内存参数调优技术的个人总结 (05-06) · 实例讲解Oracle数据库检查锁的参考脚本 (05-05)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 信息化市场百家争鸣 SaaS深陷争议“泥潭”
· 提高管理水平 "两栖"CIO应具备的六大能力
· 国产ITIL运维先行者 四大厂商角力BI市场
· 金融行业GSN专题解决方案 企业网解决方案
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统