创建表产生死锁问题
在执行以下语句时提示错误.
drop table test_a;
create table test_a tablespace tb_space storage(freelists 3) as select * from t_module_table where 1 = 2;
ORA-00604: error occurred at recursive SQL level 1
ORA-00060: deadlock detected while waiting for resource
此创建语句只有一个session处理,不存在多个同时处理的问题.t_module_table 是一个空表.按道理说应该不会出错。但产生的错误很奇怪.不知道有谁也遇到此类问题,还请指点一下。谢谢
------解决方案--------------------ORA-00060: deadlock detected while waiting for resource 说明有人正在用这个表,所以你 不能drop,找出那个session在使用这个表,kill它即可drop
------解决方案--------------------drop table test_a;
并没删除,需要提交,然后再create table ....
commit work;
------解决方案--------------------select b.sql_text text,a.sid sid ,a.serial# sria#,a.username username, c.type type,a.machine machine
from v$session a ,v$sqltext b ,v$access c
where c.object=upper( '&1 ')
and c.type in ( 'TABLE ', 'PACKAGE ', 'PROCEDURE ', 'FUNCTION ', 'PACKAGE BODY ')
and a.sid=c.sid
and b.address = a.sql_address
and b.hash_value = a.sql_hash_value
order by a.sid,a.serial#,b.piece;
按照提示输入表名字,看看是否有session在使用?