一个杀不死的进程

[复制链接]
查看11 | 回复7 | 2009-4-28 17:28:37 | 显示全部楼层 |阅读模式
-- 请问这个进程该怎么杀, 这个资源该怎么释放.
1: 获取被锁对象会话,系统等待事件等信息,( v$locked_objects, user_objects, v$session, v$lock, v$session_wait)
-- 等待事件: latch free
-- 被锁对象: 表 T1
-- 对应session: (sid, serail#), 状态是: active
2: 尝试kill session, 提示会话不存在
3: 通过v$process获得sid对应的spid
尝试 kill -9 spid; 第一次把这个进程杀死了,过了一会它又出现了. 同样数据库下该session依然存在,还是active状态.
反复杀效果还是一样. 我想应该是这个session是active的,所以在os下它会再次出现

---- 产生上面锁的操作
一个procedure: 循环插入一个表, 循环完后commit; 但执行prcodure过程中,还没等执行完(未commit), 就断开了执行窗口,
然后再次连入,执行这个procedure. 最后导致这个表出现了行锁.
回复

使用道具 举报

千问 | 2009-4-28 17:28:37 | 显示全部楼层
select sid,event from v$session_wait;
回复

使用道具 举报

千问 | 2009-4-28 17:28:37 | 显示全部楼层
select /*+ rule */ * from dba_jobs_running
看看是不是一个job,job不先broken是无法杀掉的~
回复

使用道具 举报

千问 | 2009-4-28 17:28:37 | 显示全部楼层
等待事件是: latch free
没有job: 引起这个锁的原有是那个procedure运行没有commit,又重新运行了
回复

使用道具 举报

千问 | 2009-4-28 17:28:37 | 显示全部楼层
是什么latch啊
回复

使用道具 举报

千问 | 2009-4-28 17:28:37 | 显示全部楼层
关注
回复

使用道具 举报

千问 | 2009-4-28 17:28:37 | 显示全部楼层
不懂.学习
回复

使用道具 举报

千问 | 2009-4-28 17:28:37 | 显示全部楼层
怎么没有后续了!等候!
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行