oracle的死锁处理方法
第一步:尝试删除在SQLPlus SQL命令,如果能顺利取出,然后一切都会好起来的!但通常情况下,当出现死锁时,我们希望通过命令行或通过Oracle管理工具删除死锁会话。Oracle只会将会话标记为死亡,但不能删除它。它通常需要在操作系统级别的第二步删除。
连接Oracle9i企业版发布9.2.0.1.0
连接快
SQL >选择xidusn,object_id,session_id,locked_mode V locked_object美元;检查死锁的对象并使其session_id
xidusn object_id session_id locked_mode
-----------------------------------------
十亿三千零七十二万四千二百九十三
十亿三千零六十四万九千二百九十三
已选择的用户名,Sid系列#,V $ SESSION在SID = 29;-根据步骤获取SID查看串口#号
希德串行#用户名
--------------------------------------------------
快客2957107
警告:改变系统杀死会话'2957107 ';的去除过程,如已被删除,它将提供ora-00031误差;否则,Oracle将会话标记为死亡,一段时间,看是否会消失,如长时间离开了,你将需要做以下步骤
改变系统杀死会话'2957107
ora-00031:会话标记为杀
SQL >选择pro.spid V $ SESSION SES,V的过程在SES美元。SID = 29和SES。SID = 29;--看看酒吧的号码删除过程中根据在操作系统中的进程数。
SPID
—
二百二十七万三千二百八十六
第二步:输入操作系统删除进程,这个示例中的操作系统是IBM AIX。
微软的Windows XP版本2600年1月5日} {
(C)1985-2001微软公司版权所有
C:文件和设置管理员> Telnet 10.73.52.7 --远程登录到数据库服务器通过telnet
AIX版本5
(c)IBM和其他1982, 2005人的版权。
登录:root输入到用户名中
root密码:输入密码
*******************************************************************************
* *
* *
*欢迎来到AIX * 5.3版!
* *
* *
*请参阅 / usr / /图LPP的相关信息自述文件
* AIX操作系统的这个版本。*
* *
* *
*******************************************************************************
最后一次登录失败:4月23日14:42:57 beidt 2010 / / / dev PTS 1 10.73
52.254。
最后登录:4月23日星期五15:27:50 beidt 2010 / / / dev PTS 2 10.73.52.254
# PS EF | grep 2273286视图过程细节
根228986424946360 17:07:15 PTS / 1 0:00 grep 2273286
Oracle 227328610 14:38:24 - 0:21 oraclequik(本地=没有)
#杀9 2273286,拆除过程中,要小心,不要错误的过程,如果Oracle的关键过程被删除,数据库会崩溃!
# PS EF | grep 2273286 -再见
根228986424946360 17:07:15 PTS / 1 0:00 grep 2273286
对于Windows,在DOS提示符:orakill Sid SPID
UNIX的命令行>杀死9 SPID