当前位置:首页>正文

如何杀掉oracle数据库进程 怎样杀死Oracle的死锁进程

2023-05-24 12:49:27 互联网 未知

如何杀掉oracle数据库进程

oracle死锁时杀进程的方法:
第一步:尝试在sqlplus中通过sql命令进行删除,如果能够删除成功,则万事大吉。但通常情况下,出现死锁时,想通过命令行或者通过oracle的管理工具删除有死锁的session,oracle只会将该session标记为killed,但无法清除掉,往往需要通过第二步在操作系统层级进行删除。
第二步:
1、select xidusn, object_id, session_id, locked_mode from v$locked_object --查死锁的对象,获取其SESSION_ID。
2、select username,sid,serial# from v$session where sid=29 --根据上步获取到的sid查看其serial#号。
3、alter system kill session 29,57107 --删除进程,如已经删除过,则会报ora-00031的错误;否则oracle会将该session标记为killed状态,等待一段时间看能否会自动消失,如长时间消失不掉,则需要做后续步骤。
一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀。

怎样杀死Oracle的死锁进程

1. 查看死锁进程

SELECT a.object_id, a.session_id, b.object_name, c.*

FROM v$locked_object a, dba_objects b, v$session c

WHERE a.object_id = b.object_id

AND a.SESSION_ID = c.sid( )
2.kill session
alter system kill session sid,serial#

如何杀死oracle死锁进程

首先,oracle死锁进程是后台自动发现自动杀掉的。
其次,如果想要杀掉oracle的进程,可以杀程序的前台进程,也可以杀数据库的用户连接进程,也可以在数据库中执行alter system kill session sid,serial去杀

查看有哪些表被锁住 如何杀死oracle死锁进程

查看被锁的表:
select p.spid,c.object_name,b.session_id,b.oracle_username,b.os_user_name from
v$process p,v$session a, v$locked_object b,all_objects c
where p.addr=a.paddr and a.process=b.process and c.object_id=b.object_id
解锁:
alter system kill session 146(其中146为锁住的进程号)

如何有效杀掉在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...

怎么kill掉oracle dg rfs 进程

存储过程卡死了,一般是好几个人同时编译导致的,同时往一个表插数据等操作就会锁死此表。 select a.SID,a.SERIAL#,a.USERNAME from sys.v_$session a,sys.dba_objects b,v$locked_object c where b.object_id = c.OBJECT_ID and a.SID = c.SESS...