Java世界

          學習筆記

          常用鏈接

          統(tǒng)計

          積分與排名

          天籟村

          新華網(wǎng)

          雅虎

          最新評論

          oracle分區(qū)表徹底刪除的辦法

          oracle分區(qū)表徹底刪除的辦法
          當對一個不再使用的分區(qū)表進行drop后,查詢user_tab_partitions視圖發(fā)現(xiàn)出現(xiàn)如下不規(guī)則的分區(qū)表表名:
          SQL> select distinct table_name from user_tab_partitions;
          BIN$l+Pv5l1jCMXgQKjAyQFA0A==$0
          這樣很容易導致自己寫的"自動增加表的分區(qū)"的存過發(fā)生錯誤,因此為了避免再修改存過,只能把這些不規(guī)則的表名刪除才行.現(xiàn)提供如下方法徹底刪除這些不規(guī)則的表名.

          其實當我們執(zhí)行drop table tablename的時候,不是直接把表刪除掉,而是放在了回收站里,可以通過查詢user_recyclebin查看被刪除的表信息.這樣,回收站里的表信息就可以被恢復或徹底清除。
          通過查詢回收站user_recyclebin獲取被刪除的表信息,如果想恢復被drop掉的表,可以使用如下語句進行恢復
          flashback table <user_recyclebin.object_name or user_recyclebin.original_name> to before drop;
          上面的語句是將回收站里的表恢復為原表名稱
          flashback table <user_recyclebin.object_name or user_recyclebin.original_name> to before drop rename to <new_table_name>;
          將回收站里的表恢復為指定的新表名稱,表中數(shù)據(jù)不會丟失。

          若要徹底刪除表,則使用語句:drop table <table_name> purge;這樣drop后的表就不被放入回收站
          如果是清除回收站中指定的表,可以使用語句purge table <table_name>;
          如果是清除當前用戶回收站所有的表,可以使用語句purge recyclebin;
          如果是清除所有用戶的回收站:purge dba_recyclebin;
          到此,按上面的方法清除回收站的數(shù)據(jù)后,再查詢user_tab_partitions視圖,發(fā)現(xiàn)不規(guī)則表名已經(jīng)沒有了
          SQL> select distinct table_name from user_tab_partitions;
          no rows selected

          在此順便再提一下truncate操作后不釋放空間的解決辦法
          Truncate不支持回滾,并且不能truncate一個帶有外鍵的表,如果要刪除首先要取消外鍵,然后再刪除。
          truncate table 后,有可能表空間仍沒有釋放,可以使用如下語句:
          alter table 表名稱 deallocate UNUSED KEEP 0;
          注意如果不加KEEP 0的話,表空間是不會釋放的。
          例如:
          alter table tablename deallocate UNUSED KEEP 0;
          或者:
          TRUNCATE TABLE tablename DROP STORAGE才能釋放表空間。
          例如: truncate table tablename DROP STORAGE;

          posted on 2013-01-08 15:25 Rabbit 閱讀(3392) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 饶平县| 科技| 建昌县| 平潭县| 康平县| 堆龙德庆县| 元朗区| 岗巴县| 体育| 宝丰县| 楚雄市| 宣化县| 杨浦区| 嘉禾县| 奉节县| 衡阳县| 凉山| 嘉峪关市| 若羌县| 宁明县| 吴江市| 桦川县| 东海县| 民乐县| 澄迈县| 永济市| 静宁县| 吉安市| 会宁县| 广德县| 安岳县| 顺昌县| 眉山市| 灵武市| 双辽市| 浦县| 彭州市| 平塘县| 宁安市| 建阳市| 邵阳县|