-- 请问这个进程该怎么杀, 这个资源该怎么释放.
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. 最后导致这个表出现了行锁.
|