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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章