千家信息网

Oracle 解除锁定进程

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,一、碰到的问题:1、修改表结构时,Oracle提示"资源正忙,要求制定NOWAIT……"--此处我修改的是字段长度,从200增加到1000.2、操作某张表时,出现"卡死"的情况,除Oracle外的其他
千家信息网最后更新 2025年01月21日Oracle 解除锁定进程

一、碰到的问题:

1、修改表结构时,Oracle提示"资源正忙,要求制定NOWAIT……"--此处我修改的是字段长度,从200增加到1000.

2、操作某张表时,出现"卡死"的情况,除Oracle外的其他应该可以正常使用。

二、造成问题的原因:

对表进行操作后没有提交事务,直接关闭了客户端,导致事务挂起,造成了后期访问该表时出现卡死的情况。

三、解决方案:

1、得到锁定的进程(一般是挂起的事务,在程序中表示为一个进程):

select t1.sid, t1.serial#, t1.username, t1.logon_time from v$session t1 , v$locked_object t2 where t1.sid = t2.session_id order by t1.logon_time;

2、根据SID和SERIAL#解除锁定(杀死进程):

alter system kill session 'sid,serial#';

如:

alter system kill session 612,17584';

0