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;

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