oracle中如何杀进程 oracle杀掉job

[Oracle]使用sid和sessionid杀死进程select session_id from v$locked_object;
SELECT sid, serial#, username, osuser FROM v$session where sid = 71;
ALTER SYSTEM KILL SESSION '71,1089';
查看oracle是否锁表之后,然后如果我没有DBA权限 怎么杀掉进程或者解锁表?SQLselect session_id from v$locked_object;
49
SQLSELECT sid, serial#, usernameFROM v$session where sid = 49;
49554system
SQLALTER SYSTEM KILL SESSION '49, 554';
用的是客户端登录,直接关掉客户端就可以了,因为你的客户端也是个session
【oracle中如何杀进程 oracle杀掉job】普通用户也可以,因为是你这个用户开启这个进程,那么你也可以关闭这个进程 。
3.尽量用dba权限的用户操作,还有可以到主机上 kill -9 spid 会更快 。
如何有效杀掉在linux环境下的oracle进程一、工具
pl/sql数据库
二、操作步骤
首先通过pl/sql查询到目前长时间活动的进程:
2.选择sessions,得到界面:
3.得到某个SID和serialId.
然后切换到超级用户下面 , 执行下面下面:select c.spid from v$process c where c.addr=(select b.paddr from v$session b
where b.sid= '15' and b.serial#= '16985') 得到spid. 然后登录到数据库的机器,执行如下命令即完成杀掉oracle进程:
三、注意事项:如果是生产环境,要尽量减少停机时间,让数据库尽快恢复使用 。
Oracle进程删除不掉怎么办?方法/步骤\x0d\x0a1.查询哪些对象被锁:\x0d\x0aselect object_name,machine,s.sid,s.serial# \x0d\x0afrom v$locked_object l,dba_objects o ,v$session s\x0d\x0awhere l.object_id = o.object_id and l.session_id=s.sid;\x0d\x0a\x0d\x0a2.杀死进程:\x0d\x0aalter system kill session '137,233'; (其中137,223分别是上面查询出的sid,serial#)\x0d\x0a\x0d\x0aPS.以上两步 , 可通过Oracle的管理控制台来执行 。\x0d\x0a\x0d\x0a如果利用上面的方法杀死进程后,进程状态虽被置为"killed",但是锁定的资源很长时间没有被释放,那么可以在OS一级再杀死相应的进程(线程)\x0d\x0a\x0d\x0a1.首先获得进程(线程)号:\x0d\x0aselect spid, osuser, s.program \x0d\x0afrom v$session s,v$process p\x0d\x0awhere s.paddr=p.addr and s.sid=137 (137是上面的sid)\x0d\x0a\x0d\x0a2.在OS上杀死这个进程(线程):\x0d\x0a\x0d\x0a1)在unix上,用root身份执行命令: \x0d\x0a#kill -9 12345(即上面查询出的spid)\x0d\x0a\x0d\x0a2)在windows(unix也适用)用orakill杀死线程,例:c:orakill orcl 12345\x0d\x0aorakill是oracle提供的一个可执行命令,语法为:orakill sid thread\x0d\x0a其中:\x0d\x0asid:表示要杀死的进程属于的实例名\x0d\x0athread:是要杀掉的线程号 , 即上面查询出的spid 。
如何杀死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中如何杀进程和oracle杀掉job的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读