Oracle 10g回閃操作

回閃表中的數據

      執行回閃表操作不需要非凡的設置。唯一的要求是表必須具有可移動的行--或者是在創建表時設置,或者是在以後利用 ALTER TABLE ACCOUNTS ENABLE ROW MOVEMENT語句設置。FLASHBACK TABLE語句從撤消段中(undo segment)讀取該表的過去映像,並利用Oracle9i中引入的回閃查詢重建錶行。
      假如模式所有者之外的非DBA用戶執行回閃表操作,她需要擁有對該表的SELECT、 DELETE、INSERT、ALTER和FLASHBACK權限,或者擁有等價的ANY TABLE系統權限。
flashback table table1,table2.... to timestamp to_timestamp ('12/31/2003 23:00:00','mm/dd/yyyy hh24:mi:ss');


回閃刪除的表

flashback table table3 to before drop;


回閃數據庫

通過設置以下兩個參數來配置一個大小爲2GB的回閃區域:
  
  db_recovery_file_dest = /usr/users/oracle/10.1/recovery_area
  db_recovery_file_dest_size = 2G
  
  使用以下參數,以分鐘爲單位配置最大回閃時間:
  
  db_flashback_retention_target = 1440
  
  這一數值反映出可以返回的最大時間;實際可能的時間由快閃恢復區域的可用空間大小來決定。所以這三個參數都是動態的,並可以使用ALTER SYSTEM命令進行設置。
  
  使數據庫能夠回閃。爲此,它必須處於archivelog模式下。在MOUNT階段,在OPEN之前,John發出如下命令:
  
  alter database flashback on;
  
  在啓動Flashback Database之後,它定期將已發生變化的塊寫入一個非凡類型的稱作回閃日誌的日誌文件中。這些日誌不是由傳統的Log Writer (LGWR) 過程寫入,而是由一種稱作Recovery Writer (RVWR)的新過程寫入。與常規的重做日誌(redo logs)不同,回閃日誌既不需要由DBA創建,也不需要由他們維護;它們由Oracle Managed Files(OMF)自動在快閃恢復區域所指定的目錄中創建。這些文件不會歸檔,所以,假如在該目錄發生介質故障後就不可能再進行恢復。

軟件開發網


回閃操作
  
  在所描述的Acme銀行的事例中,John認爲在他所處的情況下回閃表不太可行。他不得不將整個數據庫回滾到過去的某個時間點。他再一次選擇晚上11:00作爲開始點,併發出以下命令:
  
  flashback database to timestamp
  to_timestamp ('12/31/2003
  23:00:00','mm/dd/yyyy hh24:mi:ss');

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