龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

Oracle死锁进程的关闭实操

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
以下的文章主要介绍的是 Oracle 死锁进程关闭的的具体操作步骤,我们首先是从查哪个实际过程被锁开始的,以下就是文章的具体内容的描述,下面就是文章的具体内容的介绍,望你在

以下的文章主要介绍的是Oracle死锁进程关闭的的具体操作步骤,我们首先是从查哪个实际过程被锁开始的,以下就是文章的具体内容的描述,下面就是文章的具体内容的介绍,望你在浏览之后会有所收获。

1.查哪个过程被锁

查V$DB_OBJECT_CACHE视图:

  1. SELECT * FROM V$DB_OBJECT_CACHE WHERE OWNER='过程的所属用户' AND CLOCKS!='0'; 

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

查V$ACCESS视图:

  1. SELECT * FROM V$ACCESS WHERE OWNER='过程的所属用户' AND NAME='刚才查到的过程名'

3. 查出SID和SERIAL

查V$SESSION视图:

  1. SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID='刚才查到的SID' 

查V$PROCESS视图:

  1. SELECT SPID FROM V$PROCESS WHERE ADDR='刚才查到的PADDR'

4. 杀进程

(1).先杀Oracle死锁进程:

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

IXDBA.NET社区论坛

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

KILL -9 刚才查出的SPID

或者用ORAKILL(刚才查出的SID和SPID)。

精彩图集

赞助商链接