Oracle解除锁定进程

一、碰到的问题:

创新互联是一家专注网站建设、网络营销策划、成都微信小程序、电子商务建设、网络推广、移动互联开发、研究、服务为一体的技术型公司。公司成立十多年以来,已经为1000多家成都玻璃钢雕塑各业的企业公司提供互联网服务。现在,服务的1000多家客户与我们一路同行,见证我们的成长;未来,我们一起分享成功的喜悦。

    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';

 


分享文章:Oracle解除锁定进程
URL标题:http://hbruida.cn/article/ggioge.html