度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 984|回复: 3
打印 上一主题 下一主题

[分享] Oracle进程杀不掉怎么办

[复制链接]

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
跳转到指定楼层
楼主
发表于 2020-4-16 17:25:57 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
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。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
地板
 楼主| 发表于 2020-4-17 16:31:02 | 只看该作者
万望 发表于 2016-5-17 05:10
已学习,多谢。遇到类似情况再也不用焦头烂额了

以前经常焦头迈
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9331

积分

论坛元老

Rank: 8Rank: 8

积分
9331
板凳
发表于 2020-4-17 05:10:30 | 只看该作者
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9331

积分

论坛元老

Rank: 8Rank: 8

积分
9331
沙发
发表于 2020-4-17 05:10:00 | 只看该作者
已学习,多谢。遇到类似情况再也不用焦头烂额了

点评

以前经常焦头迈  详情 回复 发表于 2020-4-17 16:31
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-11-25 03:42 , Processed in 0.162735 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表