V$Lock中残存的SID该如何处理?

[复制链接]
查看11 | 回复9 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式

今天发现v$lock中存在一个SID,并且锁住了某些表,影响到其它进程的正常执行。但是,该SID却在v$session已经不存在,故也没办法通过v$session.addr找到v$process中的SPID进程kill。而且,有时候该SID值在v$session中已经再次分配了,很容易跟v$lock中的混淆而错杀进程。
请问,这种情况下,除了等待数据库释放该锁(很漫长),有什么其它的办法可以令数据库快速释放该锁,或者强制数据库立即释放该锁?
数据库平台为:AIX5L+Oracle8.1.7.4
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
关注,楼主和我头两天遇到的问题类似哦。我记得后来我重启了。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
上个月遇到的那次,等数据库自动释放等了10个小时都没见释放,后来只好在晚上将数据库重启了。昨天的,倒是在2个小时后自动释放了。
恳请DX们出手,可别再让俺们傻等了。thx!
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
关注。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
那就找出V$SESSION中没有的,但是在v$process中有的进程,然后kill:
SELECT spid

FROM v$process

WHERE NOT EXISTS ( SELECT 1

FROM v$session

WHERE paddr = addr);
# kill
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
以后碰到类似情况先根据v$session,v$lock找到sid,然后:
alter system kill session 'sid,serial#',
如果迟迟发现没有释放,根据v$session,v$process找到spid用kill或orakill来直接终止用户进程
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
最初由 abcd 发布
[B]那就找出V$SESSION中没有的,但是在v$process中有的进程,然后kill:
SELECT spid

FROM v$process

WHERE NOT EXISTS ( SELECT 1

FROM v$session

WHERE paddr = addr);
# kill[/B]

偶用这个语句查得:
select a.* from v$processa, v$session b
WHERE a.ADDR=b.paddr(+) AND a.spid IS NOT NULL AND b.paddr IS NULL;
有好几条记录,如果都kill的话,会不会有危险?


回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
最初由 blue_prince10 发布
[B]以后碰到类似情况先根据v$session,v$lock找到sid,然后:
alter system kill session 'sid,serial#',
如果迟迟发现没有释放,根据v$session,v$process找到spid用kill或orakill来直接终止用户进程 [/B]

blue_prince10 斑竹,在v$lock中查到的这个SID已经不存在于v$session中了,不知道怎么找到这个serial#?
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
恳请DX们出手,可别再让俺们傻等了。thx!
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
最初由 yorking 发布
[B]
偶用这个语句查得:
select a.* from v$processa, v$session b
WHERE a.ADDR=b.paddr(+) AND a.spid IS NOT NULL AND b.paddr IS NULL;
有好几条记录,如果都kill的话,会不会有危险?

[/B]

一般不会有什么危险,
你也可以确认一下,在OS下查看这些进程有没有子进程,如果没有可以放心KILL了。
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行