如何杀掉带锁的oracle进程

2016-02-19 15:40 2 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

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

  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#||'''; '

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

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

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

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

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

  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:表示要杀死的进程属于的实例名

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

  例:c:orakill orcl 12345

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

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

延伸阅读
1 引言 在关系数据库(DB2,Oracle,Sybase,Informix和SQL Server)最小的恢复和交易单位为一个事务(Transactions),事务具有ACID(原子性,一致性,隔离性和永久性)特征。关系数据库为了确保并发用户在存取同一数据库对象时的正确性(即无丢失更新、可重复读、不读"脏"数据,无"幻像"读),数据库中引入了并发(锁)机制。基本的锁...
故障发生时数据库无法通过监听正常建立连接,检查时会发现系统上存在两个监听器进程,其中一个是另外一个的子进程。 示例: 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...
猎豹清理大师怎么在锁屏时清理后台进程?   猎豹清理大师锁屏时清理后台进程方法。现在的安卓手机都是开机越久就越卡,知道是为什么吗?这是因为后台进程太多吃了太多运存了,如果你不喜欢手动去清理后台,那么小编来教你一个简单的方法,一起来看猎豹清理大师锁屏时清理后台进程方法。 1)打开猎豹清理大师,选择。 2...
锁屏精灵如何开启锁屏开关   1)首先先打开,接着点击左上角的。   2)接着点击,最后把打开就可以了。  
标签: 服务器
WinXP下如何删除进程管理器中的GoogleUpdate进程   使用WinXP系统的朋友经常都会用到进程管理器,进程管理器可以帮你监控到每一个悄悄在后台运行的程序。有不少细心的WinXP用户会发现,进程管理器中总是出现GoogleUpdate.exe进程,看名字我们就知道用户一定是安装了Google相关程序,虽然可以将该进程强行终止,不过每次开机后又会出现...

经验教程

579

收藏

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