ORA-00054报错处理
执行语句报错:ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
原因:如错误信息提示,资源正忙(被占用),一般为有其他进程hold住了这个资源
1、多次执行查询锁的对象:
请注意,使用上述语句后出现的所有信息并非全部是问题进程,因为正常的对表进行操作的只要在查询瞬时有hold住资源都会被select出来,所以可以多次使用该命令确认是否资源一直被hold住,并可以观察下面的表名来进行辅助确认。
select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;
2、查询查询出sid和serial#。然后数据库里面kill
select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time;
3、kill相关语句
SQL> alter system kill session 'sid,serial#';