我们使用的是运行在DBMS_JOB之上的作业调度系统。它使用一个主作业来创建一次性作业。我们将同一组作业部署到所有客户端,但可以指定哪些作业只应在某些客户端运行。
我们偶尔会遇到作业挂起的过程中的问题。造成这种情况的主要原因是,当UTL_TCP得到预期的响应时,它不会超时。我希望能够杀死这些工作,这样它们就能再次运行。
我想要创造一个新的工作,杀死任何一次工作已经运行了超过一段时间。
我们暂时还在使用Oracle10g,所以我只限于它能做什么.
有一篇文章似乎涵盖了
工作-6498
我觉得这并不能涵盖所有可能发生的情况,包括:
还有什么我该考虑的吗?堆栈溢出需要一个明确的答案。
发布于 2009-10-07 01:47:54
要获得实例和pid:
select inst_id, process from gv$session where ...连接到特定实例:
sqplus admin@node3 as sysdba
alter system kill session ...发布于 2009-10-07 15:11:25
有更多的方法可以杀死甲骨文上的会话。取决于你的扁桃体。在unix会话上运行(后台作业也是)由进程表示。扼杀进程,扼杀会话。在windows会话上,由线程表示。使用奥拉基尔杀死线程,就会杀死会话。进程(或线程) id存储在gv$过程中。
https://stackoverflow.com/questions/1525723
复制相似问题