Oracle杀死job的方法&杀死job相关进程方法

18 篇文章 1 订阅

环境:Oracle11.2.0.4

1、判断job是否卡死

用PL/SQL Developer看到job是否完成,查看job属性中LAST DATE是否变成第二天的执行时间。如果没变,说明job没有执行结束。也可以用下面的语句查询:

select * from  dba_jobs_running where job='job号';

用这个语句可以查询执行job的sid列(会话编号)的值,这个值是杀死job的参数之一。

2、查询杀死job的第二个参数serial#(会话序列号)

select * from v$session where sid='刚才查到的sid';

返回记录中就有 serial#列(会话序列号),paddr列(线程地址)

也可以将1、2两步合在一起执行:

select b.sid,b.serial# from dba_jobs_running a, v$session b where a.sid=b.sid and a.job='job号';

3、杀死job命令如下:--权限不足,使用system、sys用户执行!!!

alter system kill session '会话编号sid,会话序列号serial#';

4、查看是否成功杀掉该会话(方法与步骤一相同,多执行几次select * from  dba_jobs_running where job='job号'观察结果,如果杀掉了将不再有返回结果)。

5、job杀死后,被延误的job任然会启动(未验证过)。

 

补充:

如果报错--ORA-00031:标记要终止的会话(如上图3)

可以通过下列语句查询: 

select a.spid,b.sid,b.serial#,b.username 

from v$process a,v$session b 

where a.addr=b.paddr 

and b.status='KILLED';

如果利用上面的命令杀死一个进程后,进程状态被置为"killed",但是锁定的资源很长时间没有被释放,那么可以在OS级再杀死相应的进程(线程),首先执行下面的语句获得进程(线程)号: 

select b.spid,a.osuser,b.program 

  from v$session a,v$process b 

 where a.paddr=b.addr 

   and a.sid=579     --------------------------------------------------579就是上面的sid

在OS上杀死这个进程(线程)

在unix上,用root身份执行命令:#kill -9 12345(12345 即第4步查询出的进程ID) 

最后在按照步骤1查询验证Job是否存在!!!

 

 

 

杀死Oracle数据库中的锁表进程,可以执行以下步骤: 1. 首先,通过执行`select * from v$session t where sid = 'SESSION_ID'`命令来查找锁表进程的会话ID(SID)。这里的SESSION_ID是从v$locked_object表中获取的。 2. 然后,使用`alter system kill session 'SID,SERIAL#'`命令来杀死指定会话ID的锁表进程。其中,SID是会话ID,SERIAL#是会话的序列号。 请注意,执行此操作需要具有适当的Oracle数据库管理员权限。另外,杀死锁表进程可能会对正在进行的事务产生影响,所以在执行此操作之前,请确保了解其可能的后果。 参考资料: <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [oracle 杀锁表进程 的几种方法](https://blog.csdn.net/caoyhao/article/details/50275513)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [atabase-export是一款多线程生成数据库结构文档的开源springboot工程,能支持最新的数据库版本,支持导出...](https://download.csdn.net/download/weixin_41037490/88279202)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值