ORA-00933: SQL 命令未正确结束处理办法

问题现象:删除数据库表,oracle中出现bin$XXXXXXXXXX==$0表 ,在对其    (bin$XXXXXXXXXX==$0)删除时,报 ORA-00933: SQL 命令未正确结束

出现原因:从oracle10g开始删除数据库表的时候并不是真正删除,删除的表系统会自动给他重命名 BIN$开头的名字 在把这些文件放到了recyclebin中,这个过程类似 windows里面删除的文件会被临时放到回收站中。

查看 bin$ 开头的表情况
使用show tables 命令看不到这些表,查看这些表的命令如下:
命令一 :SELECT t.object_name,t.type ,t.original_name FROM user_recyclebin t; -- 查询数据库中bin$开头的表
命令二:show recyclebin  --查看被删掉的表的详细信息
命令三: select * from recyclebin;

解决方案
方案一:清空回收站(recyclebin)
  命令 : PURGE recyclebin;

方案二:收回表的命令:
   命令 :flashback table 原表名 to before drop;
方案三:直接删除表,不经过回收站
   方法一: drop table 表名 purge;
 
   方法二 :停用数据库的回收战功能
   10.1版本中,修改隐藏参数 _recyclebin
      alter system set "_recyclebin" = false;
   10.2版本中,
      alter system set recyclebin = off;

你可能感兴趣的:(Oracle日常维护与学习)