
2008-7-4 18:40
wanmoxiaosheng
请教一个JOB调用问题
编写了存储过程和调用存储过程的JOB,我希望这个JOB在数据后启动后能够自动按时处理,如何实现?需要高级语言调用DBMS_JOB.RUN函数吗?
2008-7-4 22:17
newkid
什么叫“数据后启动后”?你把JOB定义好了用DBMS_JOB.SUBMIT提交并COMMIT, 它绝对会按你的安排运行的。
2008-7-4 23:37
wanmoxiaosheng
纠正一下,是数据库启动后。
2008-7-4 23:51
newkid
回复 #3 wanmoxiaosheng 的帖子
不用做什么额外的事,JOB在数据库启动后就会按调度运行的。你的JOB不跑了吗?运行 select * from user_jobs 能不能看到它?
2008-7-5 07:49
jvkojvko
[quote]原帖由 [i]wanmoxiaosheng[/i] 于 2008-7-4 23:37 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10861201&ptid=1016948][img]http://www.itpub.net/images/common/back.gif[/img][/url]
纠正一下,是数据库启动后。 [/quote]
可以写个相应的触发器来调用
2008-7-6 17:24
wanmoxiaosheng
[quote]原帖由 [i]newkid[/i] 于 2008-7-4 23:51 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10861313&ptid=1016948][img]http://www.itpub.net/images/common/back.gif[/img][/url]
不用做什么额外的事,JOB在数据库启动后就会按调度运行的。你的JOB不跑了吗?运行 select * from user_jobs 能不能看到它? [/quote]
运行 select * from user_jobs 中可以看到它,但现实执行失败16次,状态为broken。
如何查看执行失败原因?
2008-7-6 18:33
feng2371
[quote]原帖由 [i]wanmoxiaosheng[/i] 于 2008-7-6 17:24 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10871191&ptid=1016948][img]http://www.itpub.net/images/common/back.gif[/img][/url]
运行 select * from user_jobs 中可以看到它,但现实执行失败16次,状态为broken。
如何查看执行失败原因? [/quote]
同问
2008-7-6 22:20
newkid
这说明JOB成功创建了,也执行了,你的存储过程有错。
应该能在 ALERT LOG中看到错误信息。
你难道没有测试就放到JOB里面?
直接在SQLPLUS 或其他工具中运行存储过程,看看是什么错。调试完了才提交JOB.
页:
[1]

Powered by ITPUB论坛