如何杀掉oracle进程 oracle 杀死死锁进程-成都创新互联网站建设

关于创新互联

多方位宣传企业产品与服务 突出企业形象

公司简介 公司的服务 荣誉资质 新闻动态 联系我们

如何杀掉oracle进程 oracle 杀死死锁进程

Oracle进程删除不掉怎么办?

方法/步骤

成都创新互联公司专注于敦煌企业网站建设,成都响应式网站建设,商城网站建设。敦煌网站建设公司,为敦煌等地区提供建站服务。全流程定制网站,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务

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

PS.以上两步,可通过Oracle的管理控制台来执行。

如果利用上面的方法杀死进程后,进程状态虽被置为"killed",但是锁定的资源很长时间没有被释放,那么可以在OS一级再杀死相应的进程(线程)

1.首先获得进程(线程)号:

select spid, osuser, s.program

from v$session s,v$process p

where s.paddr=p.addr and s.sid=137 (137是上面的sid)

2.在OS上杀死这个进程(线程):

1)在unix上,用root身份执行命令:

#kill -9 12345(即上面查询出的spid)

2)在windows(unix也适用)用orakill杀死线程,例:c:orakill orcl 12345

orakill是oracle提供的一个可执行命令,语法为:orakill sid thread

其中:

sid:表示要杀死的进程属于的实例名

thread:是要杀掉的线程号,即上面查询出的spid。

如何杀死oracle死锁进程

1.查哪个过程被锁

查V$DB_OBJECT_CACHE视图:

SELECT*FROMV$DB_OBJECT_CACHEWHEREOWNER='过程的所属用户'ANDLOCKS!='0';

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

查V$Access视图:

SELECT*FROMV$ACCESSWHEREOWNER='过程的所属用户'ANDNAME='刚才查到的过程名';

3. 查出SID和SERIAL#

查V$SESSION视图:

SELECTSID,SERIAL#,PADDRFROMV$SESSIONWHERESID='刚才查到的SID'

查V$PROCESS视图:

SELECTSPIDFROMV$PROCESSWHEREADDR='刚才查到的PADDR';

4. 杀进程(1).先杀ORACLE进程:

ALTERSYSTEMKILLSESSION'查出的SID,查出的SERIAL#';

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

KILL-9刚才查出的SPID或ORAKILL刚才查出的SID刚才查出的SPID方法二:

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

1)查找死锁的进程:

sqlplus"/assysdba"

SELECTs.username,l.OBJECT_ID,l.SESSION_ID,s.SERIAL#,l.ORACLE_USERNAME,l.OS_USER_NAME,l.PROCESSFROMV$LOCKED_OBJECTl,V$SESSIONSWHEREl.SESSION_ID=S.SID;

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

altersystemkillsession‘sid,serial#’;(其中sid=l.session_id)

3)假如还不能解决,

selectpro.spidfromv$sessionses,v$processprowhereses.sid=XXandses.paddr=pro.addr;

其中sid用死锁的sid替换。

oracle 锁进程杀不掉怎么处理

查看锁表进程SQL语句:

select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID;

杀掉锁表进程:

alter system kill session 'SID,serial#';

如何有效杀掉在linux环境下的oracle进程

1.第一步:使用Linux的kill命令杀死所有与oracle有关的进程。 1)查询到与ORACLE_SID相关的oracle进程 $ ps -ef |grep $ORACLE_SID oracle 7776 1 0 22:51 ? 00:00:00 ora_pmon_ora10g oracle 7778 1 0 22:51 ? 00:00:00 ora_psp0_ora10g oracle...


分享名称:如何杀掉oracle进程 oracle 杀死死锁进程
路径分享:http://kswsj.cn/article/hhiodh.html

其他资讯