Oracle 资源正忙的解决办法

u=2385739129,3869063313&fm=23&gp=0

使用工具或者是程序操作oracle的时候,有时候会卡死,对某张表继续操作会出现资源正忙的提示。

这是因为操作oracle数据库时,可能事务出现异常或者没有被正确终止造成的。

解决方法如下:

SQL> select session_id from v$locked_object;

执行之后会显示出当前正在运行的session id

假设输出以下内容(可能有多个值):

SESSION_ID
———-
110

继续执行

SQL> SELECT sid, serial#, username, osuser FROM v$session where sid = 142;

假设输出:

SID SERIAL# USERNAME OSUSER
———- ———- —————————— ——————————
110 28 TEST MAPPLE

从以上信息中可以判断这个session是否是自己之前操作遗留未完成的session。

如果是,继续执行:

SQL> ALTER SYSTEM KILL SESSION ‘110,28’;

返回结果:System altered

此时就讲该session强制结束了,继续使用工具操作就会报资源正忙的问题了。