当直接在oracle一个用户下删除在此用户建立的表时,右键删除表之后,在重新新建一个表的时候,如果表名和以前表名一样,序列也是一样的话,会提示表空间或者,序列已经存在。出现这样的问题是因为在oracle回收站中你的表数据还存在。
这就是查询回收站中的数据。
select * from user_recyclebin; -----查看回收站
可以看到,你删除表的数据其实并没有完全消失,在回收站中还是保存着的。这个时候你必须得把回收站中的数据全部给干掉才能继续。
purge recyclebin; -----清空回收站
当回收站的数据全部干掉之后发现还是提醒你表空间还是存在。这个时候你还要执行一条语句,
select * from all_objects where owner='HWJ'; ---查找已经删除的SQL
这条语句可以看到你当前用户建的表数据和序列,
可以看到你的所有建表数据和序列数据全部存放在此处,这个时候把对应的table和sequence的name拿出来直接给drop 就能够正常执行建表或者建索引语句。
DROP SEQUENCE COMPLAT_ACCESSLOG_SEQ; ----删除序列
drop table COMPLAT_ROLERIGHT; ---删除表