SQLWKS> SELECT OWNER, QUEUE_TABLE FROM dba_queue_tables 2> OWNER QUEUE_TABLE ------------------------------ ------------------------------ SYSTEM DEF$_AQCALL SYSTEM DEF$_AQERROR 这两表,是属于SYSTEM的表,你的一般用户下有这些表吗? 你要删除一般用户可以用 DROP USER <USER_NAME> CASCADE; 看看还有什么错误。
SQLWKS> DROP USER zrgl_error CASCADE 2> DROP USER zrgl_error CASCADE * ORA-00604: 递归 SQL 层1出现错误 ORA-24005: 必须使用 DBMS_AQADM.DROP_QUEUE_TABLE 删除队列表 ----------------------------------------------------------- 我就是drop 不掉,才查了一下了,返现有这两个表,删 不掉, 我知道的方法都用了. OWNER QUEUE_TABLE ------------------------------ ------------------------------ SYSTEM DEF$_AQCALL SYSTEM DEF$_AQERROR 这是视图,我用 EXECUTE dbms_aqadm.drop_queue_table('system.DEF$_AQERROR',TRUE); 可以删掉但是属于我自己间的用户的: EXECUTE dbms_aqadm.drop_queue_table('ZRGL_ERROR.DEF$_AQERROR',TRUE); 缺确删不掉了 奇怪的是 system.DEF$_AQERROR是视图 而ZRGL_ERROR.DEF$_AQERROR 是表; 等待oracle高手点解??????
user ZRGL_error 的确不存在表DEF$_AQERROR 因为 你查: SQLWKS> SELECT OWNER, QUEUE_TABLE FROM dba_queue_tables 2> OWNER QUEUE_TABLE ------------------------------ ------------------------------ SYSTEM DEF$_AQCALL SYSTEM DEF$_AQERROR 已选择2行。而: SQLWKS> select count(*) from ZRGL_error.DEF$_AQERROR; COUNT(*) ---------- 0 中ZRGL_error.DEF$_AQERROR是不是同义词。
还是把用户drop掉吧,然后在重新导入就可以了。 drop user username cascade; OK!
使用用户登陆,查查用户的objects 如下: select object_name, object_type from user_objects; 看看相应的内容
2>
OWNER QUEUE_TABLE
------------------------------ ------------------------------
SYSTEM DEF$_AQCALL
SYSTEM DEF$_AQERROR 这两表,是属于SYSTEM的表,你的一般用户下有这些表吗?
你要删除一般用户可以用 DROP USER <USER_NAME> CASCADE;
看看还有什么错误。
2>
DROP USER zrgl_error CASCADE
*
ORA-00604: 递归 SQL 层1出现错误
ORA-24005: 必须使用 DBMS_AQADM.DROP_QUEUE_TABLE 删除队列表
-----------------------------------------------------------
我就是drop 不掉,才查了一下了,返现有这两个表,删 不掉,
我知道的方法都用了.
OWNER QUEUE_TABLE
------------------------------ ------------------------------
SYSTEM DEF$_AQCALL
SYSTEM DEF$_AQERROR
这是视图,我用
EXECUTE dbms_aqadm.drop_queue_table('system.DEF$_AQERROR',TRUE); 可以删掉但是属于我自己间的用户的:
EXECUTE dbms_aqadm.drop_queue_table('ZRGL_ERROR.DEF$_AQERROR',TRUE); 缺确删不掉了
奇怪的是 system.DEF$_AQERROR是视图 而ZRGL_ERROR.DEF$_AQERROR 是表;
等待oracle高手点解??????
你查:
SQLWKS> SELECT OWNER, QUEUE_TABLE FROM dba_queue_tables
2>
OWNER QUEUE_TABLE
------------------------------ ------------------------------
SYSTEM DEF$_AQCALL
SYSTEM DEF$_AQERROR
已选择2行。而:
SQLWKS> select count(*) from ZRGL_error.DEF$_AQERROR;
COUNT(*)
----------
0
中ZRGL_error.DEF$_AQERROR是不是同义词。
drop user username cascade;
OK!
如下:
select object_name, object_type from user_objects;
看看相应的内容
我把这两个表导出来,再导入到其他用户, 同样是删不掉;再次声明: 我是drop 因为不掉用户.才发现这两个表的.