位置:会计实战基地 > 资讯中心 > 会计资讯 > oracle如何查询和停止正在运行的job

oracle如何查询和停止正在运行的job

来源:会计实战基地 发表时间:2020-11-20 15:32:25 作者:木槿老师 阅读量:886

免费提供专业会计相关问题解答,让您学习无忧

淼淼老师 官方答疑老师

职称: 一级讲师

会计实操免费试听入口
  • 北京
  • 天津
  • 河北
  • 山西
  • 辽宁
  • 吉林
  • 上海
  • 江苏
  • 浙江
  • 安徽
  • 福建
  • 江西
  • 山东
  • 河南
  • 黑龙江
  • 湖北
  • 湖南
  • 广东
  • 广西
  • 海南
  • 四川
  • 重庆
  • 贵州
  • 云南
  • 陕西
  • 甘肃
  • 青海
  • 宁夏
  • 新疆
  • 西藏
  • 内蒙古

  找出正在执行的JOB编号及其会话编号

  SELECT SID,JOB FROM DBA_JOBS_RUNNING;

  停止该JOB的执行

  SELECT SID,SERIAL# FROM V$SESSION WHERE SID='&SID';

  ALTER SYSTEM KILL SESSION '&SID,&SERIAL';

  EXEC DBMS_JOB.BROKEN(&JOB,TRUE);

  实例分析:

  1,查询正在运行的Job,通过查询有两个,和进程占用较多的是两个ORACLE进程符合。

  SQL> SELECT SID,JOB FROM DBA_JOBS_RUNNING;

  SID JOB

  ---------- ----------

  12 116

  16 117

  2,查询正在运行的job的信息

  SQL> SELECT SID,SERIAL# FROM V$SESSION WHERE SID='12';

  SID SERIAL#

  ---------- ----------

  12 4

  SQL> SELECT SID,SERIAL# FROM V$SESSION WHERE SID='16';

  SID SERIAL#

  ---------- ----------

  16 1

  3,利用查询出来的job信息将job结束掉

  SQL> ALTER SYSTEM KILL SESSION '12,4';

  System altered.

  SQL> ALTER SYSTEM KILL SESSION '16,1';

  System altered.

  4,如果不希望运行上述job的话,可以将job设置为broken.

  EXEC DBMS_JOB.BROKEN(116,TRUE);

  EXEC DBMS_JOB.BROKEN(117,TRUE);

  根据个人经验,这种方法并不会立即中断job的运行。最好是找到job对应的线程kill掉。

还没有符合您的答案?立即在线咨询老师 免费咨询老师
上一篇:会计电算化软件下载(国税机关版) 下一篇:用友T3、T6、U8功能对比

相关资讯

相关问答

  • 1
  • 2
  • 3
会计实战基地

会计实战基地

欢迎来到会计实战基地,请问你有什么问题呢?
【回复1】零基础怎么学会计
【回复2】免费试学60+行业真账实操
【回复3】初级,中级,注会等报考信息
【回复4】免费领取做账资料
【回复5】免费领取备考资料
【回复6】咨询其他问题
发送【姓名+微信】免费申领用友财务软件3个月使用权!