熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

使用Oracle10g提供的flashback drop新特性

2013-11-13 12:44:46  來源: Oracle 

  為了加快用戶錯誤操作的恢復Oracleg提供了flashback drop的功能
  
  而在以前的版本中除了不完全恢復通常沒有一個好的解決辦法
  
  Oracle g的flashback drop功能允許你從當前數據庫中恢復一個被drop了的對象在執行drop操作時現在Oracle不是真正刪除它而是將該對象自動將放入回收站對於一個對象的刪除其實僅僅就是簡單的重令名操作
  
  所謂的回收站是一個虛擬的容器用於存放所有被刪除的對象在回收站中被刪除的對象將占用創建時的同樣的空間你甚至還可以對已經刪除的表查詢也可以利用flashback功能來恢復它 這個就是flashback drop功能
  
  回收站內的相關信息可以從recyclebin/user_recyclebin/dba_recyclebin等視圖中獲取或者通過SQL*Plus的show recyclebin 命令查看
  
  SYS AS SYSDBA on MAR >connect eygle/eygle
  Connected
  
  EYGLE on MAR >create table t as select * from dba_users;
  
  Table created
  
  EYGLE on MAR >drop table t;
  
  Table dropped
  
  EYGLE on MAR >show recyclebin;
  ORIGINAL NAME  RECYCLEBIN NAME        OBJECT TYPE DROP TIME
  
  T        BIN$T+hCJvgNAgAIMR+Q==$ TABLE    :::
  EYGLE on MAR > FLASHBACK TABLE t TO BEFORE DROP;
  
  Flashback complete
  EYGLE on MAR >desc t
   Name                   Null?  Type
  
   USERNAME                 NOT NULL VARCHAR()
   USER_ID                  NOT NULL NUMBER
   PASSWORD                      VARCHAR()
   ACCOUNT_STATUS              NOT NULL VARCHAR()
   LOCK_DATE                     DATE
   EXPIRY_DATE                    DATE
   DEFAULT_TABLESPACE            NOT NULL VARCHAR()
   TEMPORARY_TABLESPACE           NOT NULL VARCHAR()
   CREATED                  NOT NULL DATE
   PROFILE                  NOT NULL VARCHAR()
   INITIAL_RSRC_CONSUMER_GROUP            VARCHAR()
   EXTERNAL_NAME                   VARCHAR()
  
  EYGLE on MAR >show recyclebin;
  
  如果想要徹底清除這些對象可以使用Purge命令如:
  
  EYGLE on MAR >show recyclebin;
  ORIGINAL NAME  RECYCLEBIN NAME        OBJECT TYPE DROP TIME
  
  T        BIN$ycNBfhan/gNAgAIMR+Q==$ TABLE    :::
  EYGLE on MAR >purge table t;
  
  Table purged
  
  EYGLE on MAR >show recyclebin;
  
  使用 purge recyclebin可以清除回收站中的所有對象
  
  類似的我們可以通過purge user_recyclebin或者是purge dba_recyclebin來清除不同的回收站對象
  
  通過PURGE TABLESPACE TSNAMEPURGE TABLESPACE TSNAME USER USERNAME命令來選擇清除回收站
  
  如果需要徹底刪除一個表不想放到回收站中可以在drop語句中增加purge選項
  
  drop table tablename purge
From:http://tw.wingwit.com/Article/program/Oracle/201311/16506.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.