oracle 杀死死锁进程(3)_Oracle数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

oracle 杀死死锁进程(3)

作者:黑客防线网安Oracle维护基地 来源:黑客防线网安Oracle维护基地 浏览次数:0

本篇关键词:Oracle数据库Oracle教程
黑客防线网安网讯:     下面就是杀掉    拿到上面查询出来的SID和SERIAL#,填入到下面的语句中    alter system kill session 'sid,serial#';    一般情况可以解决数据库存在的死锁了,    或通过ses...

     下面就是杀掉

    拿到上面查询出来的SID和SERIAL#填入到下面的语句中

    alter system kill session 'sid,serial#';

    一般情况可以解决数据库存在的死锁了

    或通过session id 查到对应的操作系统进程,在unix中杀掉操作系统的进程

    SELECT a.username,c.spid AS os_process_id,c.pid AS oracle_process_id FROM v$session a,v$process c

    WHERE  c.addr=a.paddr and a.sid=  and a.serial#=  ;

    然后采用kill (unix) 或 orakill(windows )

    在unix中

    ps -ef|grep os_process_id

    kill -9 os_process_id

    ps -ef|grep os_process_id

    ----

    经常在oracle的使用过程中碰到这个问题,所以也总结了一点解决方法:)

    1)查找死锁的进程:

    sqlplus "/as sysdba"   (sys/change_on_install)

    SELECT s.username,l.OBJECT_ID,l.SESSION_ID,s.SERIAL#,l.ORACLE_USERNAME,l.OS_USER_NAME,l.PROCESS

    FROM V$LOCKED_OBJECT l,V$SESSION S WHERE l.SESSION_ID=S.SID;

    2)kill掉这个死锁的进程:

    alter system kill session ‘sid,serial#’;  (其中sid=l.session_id)

    3)如果还不能解决,

    select pro.spid from v$session ses,v$process pro where ses.sid=XX and ses.paddr=pro.addr;

    其中sid用死锁的sid替换

    exit

    ps -ef|grep spid

    其中spid是这个进程的进程号,kill掉这个Oracle进程。

 

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-12970-1.html
网站维护教程更新时间:2012-03-23 00:49:09  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer