drop user cascade出现ORA-04043问题的解决

 问题:   
SQL> drop user hbylinit cascade;
drop user hbylinit cascade
ORA-00604: 递归 SQL 级别 1 出现错误
ORA-04043: 对象 SYS_YOID0000104160$ 不存在
 
分析:
ora-4043就是提示对象不存在,一般在写错对象名的时候都会报这个错误。推测出现这个问题的原因对象已经被删除,但是数据字典里还有记录导致的,应该算是oracle的bug。问题是这次的对象不一定是文档中提到的type,所以需要确定这个是什么到dba_objects中查询可以确定,然后创建同名的对象再删除就可以了。
 
问题解决过程:
 
--重新创建这个type
SQL> create type SYS_YOID0000104160$ as object (empno number);
  2  /
Type created
 
--再次删除,成功。
SQL> drop user hbylinit cascade;
User dropped

你可能感兴趣的:(drop user cascade出现ORA-04043问题的解决)