为表加字段时表被锁报错的解决方法

今天在需要在开发数据库上加个字段,结果报错,报ORA-00054: resource busy and acquire with NOWAIT specified。

看到这个错误,原因很简单,估计是哪个同事打开表被锁定了。站起来吼了一声,没有人应,只好自己去杀进程了。

查杀进程,就要查到进程。

这个语句查看被锁定的对象,找到需要加字段的表
select /*+ rule */ * from dba_objects where object_id in (
select id1 from v$lock where type = ‘TM’);

这个查锁住这个对象的sid,其实可以把上面语句改成关联查询
select * from v$lock where type = ‘TM’;

查询这个sid是哪个人的,当然更主要是看SID,SERIAL#
select * from v$session where sid=126;

杀杀杀,或冲到锁表的同事那里让TA释放锁
alter system kill session ‘126,2154’;

然后就顺利添加字段成功。

–The End–

Continue reading » · Written on: 12-10-09 · No Comments »

Leave a Reply