如何杀掉带锁的oracle进程

2016-02-19 15:40 5 1 收藏

人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的如何杀掉带锁的oracle进程懂设计的网友们快点来了解吧!

【 tulaoshi.com - 编程语言 】

经常会遇到一个问题是:在ORACLE中,状态已被置为"killed"的进程长时间锁定系统资源,不释放,有一个比重启数据库更好的方法,就是在操作系统级强行杀掉那些进程。

  1.下面的语句用来查询哪些对象被锁:

  col object_name for a30

  col machine for a20

  select object_name,machine,s.sid,s.serial#

  from v$locked_object l,dba_objects o ,v$session s

  where l.object_id = o.object_id and l.session_id=s.sid;

  2.下面的语句用来杀死一个进程:

  alter system kill session '42,21993'; (其中24,111分别是上面查询出的sid,serial#)

  可以用如下查询批量得到上面类似的语句:

  select 'alter system kill session '''   ||s.sid||','||s.serial#||'''; '

  from v$locked_object l,dba_objects o ,v$session s

  where l.object_id = o.object_id and l.session_id=s.sid;

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  select spid, osuser, s.program

  from v$session s,v$process p

  where s.paddr=p.addr and s.sid=#sid; (#sid是上面的sid)

  4.在操作系统中杀掉相应的进程(线程):

  1)在Linux上,用root身份执行命令:

  kill -9 12345(12345是第3步查询出的spid)

  2)在windows 用orakill杀死线程,orakill是oracle提供的一个可执行命令,语法为:orakill sid thread

  其中:

  sid:表示要杀死的进程属于的实例名

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  thread:是要杀掉的线程号,即第3步查询出的spid。

  例:c:orakill orcl 12345

  完全可以写一个组合查询的存储过程来自动执行上述四步操作,方便地杀光所有不自动释放资源的进程,但一般情况下不推荐这样做,毕竟在系统中用root用户kill进程本身就是带有一定风险的!

来源:http://www.tulaoshi.com/n/20160219/1610161.html

延伸阅读
故障发生时数据库无法通过监听正常建立连接,检查时会发现系统上存在两个监听器进程,其中一个是另外一个的子进程。 示例: local1:/ #ps -ef | grep tnslsnr oracle 925826 1 0 Apr 06 - 234:50 /u01/app /oracle/product/102/bin/tnslsnr listener1 -inherit oracle 1081540 925826 0 21:39:39 - 0:00 /u01/app/oracle/product/1...
Oracle杀死死锁进程 先查看哪些表被锁住了: select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id; OWNER OBJECT_NAME SESSION_ID LOCKED_MODE ------------------------------ ----------------- WSSB SBDA_PSHPFTDT 22 3 WSSB_RTREPOS WB_RT_SERVICE...
猎豹清理大师怎么在锁屏时清理后台进程?   猎豹清理大师锁屏时清理后台进程方法。现在的安卓手机都是开机越久就越卡,知道是为什么吗?这是因为后台进程太多吃了太多运存了,如果你不喜欢手动去清理后台,那么小编来教你一个简单的方法,一起来看猎豹清理大师锁屏时清理后台进程方法。 1)打开猎豹清理大师,选择。 2...
防盗锁如何选择 这个防盗锁就相对于防盗门要简单一些,防盗锁可以安装在任何的门上面,也是达到保护效果的一种做法,那么就像我们这个防盗锁应该怎么挑选呢?这个知道的人就没有多少了,所有图老师就带大家一起来看看这个防盗锁炎如何选择。 在防盗锁精心购买时一般人只会查看防盗锁外形,感觉体积大的质量一定会更加好,其实不然,无论你...
标签: 服务器
WinXP下如何删除进程管理器中的GoogleUpdate进程   使用WinXP系统的朋友经常都会用到进程管理器,进程管理器可以帮你监控到每一个悄悄在后台运行的程序。有不少细心的WinXP用户会发现,进程管理器中总是出现GoogleUpdate.exe进程,看名字我们就知道用户一定是安装了Google相关程序,虽然可以将该进程强行终止,不过每次开机后又会出现...

经验教程

869

收藏

85
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部