`
学会做人
  • 浏览: 118909 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

怎样杀死死锁!

阅读更多

1、 查出是哪个过程被锁!

2、查出是哪一个sid,通过sid可以找到session

3、查出sid和serial#

4、分别杀Oracle和操作系统的进程

1.查哪个过程被锁

V$DB_OBJECT_CACHE视图:

SELECT * FROM V$DB_OBJECT_CACHE

WHERE OWNER='过程的所属用户' AND CLOCKS!='0';

2. 查是哪一个SID,通过SID可知道是哪个SESSION.

V$ACCESS视图:

SELECT * FROM V$ACCESS WHERE

OWNER='过程的所属用户' AND NAME='刚才查到的过程名';

3. 查出SIDSERIAL#

V$SESSION视图:

SELECT SID,SERIAL#,PADDR FROM

V$SESSION WHERE SID='刚才查到的SID'

V$PROCESS视图:

SELECT SPID FROM V$PROCESS

WHERE ADDR='刚才查到的PADDR';

4. 杀进程

(1).先杀Oracle进程:

ALTER SYSTEM KILL SESSION '查出的SID,查出的SERIAL#';

(2).再杀操作系统进程:

KILL -9 刚才查出的SPID

ORAKILL 刚才查出的SID 刚才查出的SPID

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics