网站首页 > 文章中心 > 其它

oracle会话怎么杀死

作者:小编 更新时间:2023-09-21 10:51:56 浏览量:56人看过

如何快速的杀掉Oracle的Session

举个例子

通过session id (SID) 找到系统进程号 然后kill 进程

SQL select spid from v$process where addr=(select paddr from v$session where rownum=1 and sid=(select userenv('SID') from dual));

SPID

------------------------

spid 系统进程号

kill 掉这个进程 就完了

SQL select sysdate from dual;

select sysdate from dual

*

第 1 行出现错误:

Oracle进程杀不掉怎么办

方法/步骤

①查询哪些对象被锁:

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;

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

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

①首先获得进程(线程)号:

select spid, osuser, s.program

from v$session s,v$process p

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

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

其中:

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

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

如何迅速杀掉数据库里inactive的会话

在Oracle数据库中,经常会产生一些inactive的会话,但是仍然连接到数据库,一般情况下,我们可以使用alter system kill session 'sid,serial#'; 来强制杀掉他,但是如果我们有大量的这种进程,要手动一个一个去杀掉,是比较麻烦的.

下面有个方法,可以迅速的杀掉这些进程.

SELECT 'ALTER SYSTEM DISCONNECT SESSION ''' || B.SID || ',' || B.SERIAL# ||

'''IMMEDIATE;'

FROM V$LOCKED_OBJECT A, V$SESSION B, DBA_OBJECTS C

WHERE B.SID = A.SESSION_ID

如何杀死oracle死锁进程

oracle死锁时杀进程的方法:

第一步:尝试在sqlplus中通过sql命令进行删除,如果能够删除成功,则万事大吉.但通常情况下,出现死锁时,想通过命令行或者通过oracle的管理工具删除有死锁的session,oracle只会将该session标记为killed,但无法清除掉,往往需要通过第二步在操作系统层级进行删除.

第二步:

①.、select xidusn, object_id, session_id, locked_mode from v$locked_object; --查死锁的对象,获取其SESSION_ID.

一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库.现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀.

有PL/sql软件么,登陆数据库,用tools——sessions,进入会话界面选中你要杀掉的session选择工具栏那个想像钥匙的按钮就可以杀掉了

如何杀掉Oracle中的会话

sqlplus环境下 alter system kill session 'sid,serial#';

如果不行的话在操作系统下操作:

windows: orakill 实例名 spid

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章