当直接在oracle一个用户下删除在此用户建立的表时,右键删除表之后,在重新新建一个表的时候,如果表名和以前表名一样,序列也是一样的话,会提示Oracle库删除表之后新建表提示表已存在或者序列已存在表空间或者,序列已经存在。出现这样的问题是因为在oracle回收站中你的表数据还存在。Oracle库删除表之后新建表提示表已存在或者序列已存在

这就是查询回收站中的数据。

select * from user_recyclebin;      -----查看回收站

可以看到,你删除表的数据其实并没有完全消失,在回收站中还是保存着的。这个时候你必须得把回收站中的数据全部给干掉才能继续。

purge recyclebin;                   -----清空回收站

当回收站的数据全部干掉之后发现还是提醒你表空间还是存在。这个时候你还要执行一条语句,

select * from all_objects where owner='HWJ';  ---查找已经删除的SQL

这条语句可以看到你当前用户建的表数据和序列,Oracle库删除表之后新建表提示表已存在或者序列已存在

可以看到你的所有建表数据和序列数据全部存放在此处,这个时候把对应的table和sequence的name拿出来直接给drop 就能够正常执行建表或者建索引语句。

DROP SEQUENCE COMPLAT_ACCESSLOG_SEQ;           ----删除序列
     
drop table COMPLAT_ROLERIGHT;                   ---删除表

相关文章: