`
winie
  • 浏览: 216215 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

Oracle中杀不掉的锁

阅读更多

一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀。

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

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 '24,111'; (其中24,111分别是上面查询出的sid,serial#)

【注】以上两步,可以通过Oracle的管理控制台来执行。

3.如果利用上面的命令杀死一个进程后,进程状态被置为"killed",但是锁定的资源很长时间没有被释放,那么可以在os一级再杀死相应的进程(线程),首先执行下面的语句获得进程(线程)号:
select spid, osuser, s.program
from v$session s,v$process p
where s.paddr=p.addr and s.sid=24 (24是上面的sid)

4.在OS上杀死这个进程(线程):
1)在unix上,用root身份执行命令:
#kill -9 12345(即第3步查询出的spid)
2)在windows(unix也适用)用orakill杀死线程,orakill是oracle提供的一个可执行命令,语法为:
orakill sid thread
其中:
sid:表示要杀死的进程属于的实例名
thread:是要杀掉的线程号,即第3步查询出的spid。
例:c:>orakill orcl 12345

分享到:
评论

相关推荐

    处理oracle中杀不掉的锁.txt

    处理oracle中杀不掉的锁

    如何解决Oracle杀死死锁进程

    本文介绍了解决Oracle杀死死锁进程的方法。

    ORACLE如何杀掉带锁的进程.txt

    ORACLE如何杀掉带锁的进程.txt

    Oracle杀锁的语句

    查看锁,杀锁,以及杀不掉的可能处理方法,用于解放被锁住的表。

    oracle杀死锁,寻PIDKILL进程

    oracle杀死锁 ,在批量导入数据的时候,在数据库中很容易就碰到锁表了,导致长时间数据库卡死,此脚本方便找寻数据库被锁对象,如果在oracle中不能alter kill掉 说明该session已过期需要进入后台去杀掉进程

    oracle杀进程

    用oracle命令和操作系统命令杀oracle锁死进程

    清除Oracle中长时间持锁的session

    彻底清除Oracle中长时间持锁的session

    Oracle锁表处理,Oracle表解锁

    数据库死锁的概念, 所谓死锁,是指两个会话,每个会话都持有另外一个会话想要的资源,因争夺资源而造成...对于锁死的会话,我们可以直接删掉该会话,等事物回滚完成,也可以找出锁死进程的spid,从服务器中删掉该进程。

    Oracle Kill被锁进程

    Oracle查找被锁进程,及如何在数据库级或操作系统级Kill掉相应被锁的进程

    oracle常见的锁查询和处理

    DML事务锁定的机制 行级锁(TX锁) 表级锁(TM锁) 锁定相关视图 v$transaction v$lock 5 v$enqueue_lock v$session 检测并解决冲突 常见的锁查询和处理 当前系统中存在的锁争用: ...--杀掉会话进程

    oracle数据表解锁

    SELECT A.OWNER 方案名, A.OBJECT_NAME 表名, B.XIDUSN 回滚段号, B.XIDSLOT 槽号, B.XIDSQN 序列号, ...--Oracle杀进程: alter system kill session '855, 25352' --139 : sid --182 : sertal#

    oracle表被锁定的完美解决方法

    ora-00031:session marked for kill处理oracle中杀不掉的锁一些ORACLE中的进程被杀掉后,状态被置为”killed”,但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。现在提供一种方法解决这种问题,那...

    oracle 不小心把表数据锁掉,sys查询被锁对象和解锁SQL语句

    一些ORACLE中的进程被杀掉后,状态被置为killed,但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。现在提供一种方法解决这种问题,那是在ORACLE中杀不掉的,在OS一级再杀。  1.下面的语句用来查询...

    快速查找oracle锁对象

    快速查找oracle锁对象 ,并且可以杀死该会话,解锁

    怎样查找锁与锁等待及杀特定会话

    指导读者如何在oracle数据库中查找锁与锁等待,以及杀特定会话

    查看oracle进程,杀进程pb源程序

    该程序使用pb9开发,可以查看oracle数据库的基本进程、带锁进程和死锁进程。能够杀进程,能够查看进程的相关联的信息。

    Oracle 查询死锁并解锁的终极处理方法

    一些ORACLE中的进程被杀掉后,状态被置为”killed”,但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀。 1.下面的语句用来...

    oracle 锁表查询

    先查看哪些表被锁住了 select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid and sid in( select a.SESSION_ID from v$locked_object a,dba_objects b ...

    oracle查看被锁的表和被锁的进程以及杀掉这个进程

    SELECT p.spid, a.serial#, c.object_name, b.session_id, b.oracle_username,b.os_user_name FROM v$process p, v$session a, v$locked_object b, all_objects c WHERE p.addr = a.paddr AND a.process = b.process...

    oracle锁表该如何解决

    废话不多说 上语句: 查询锁表语句: select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_objects o ,v$session s ...如果杀不掉可以加个 immediate 立即杀掉 试试; alter sys

Global site tag (gtag.js) - Google Analytics