標籤:foreign scope 隊列 copy 說明 nbsp size fas disk
Oracle Flashback Technologies
Oracle 9i中增加了閃回查詢技術,閃回查詢為資料庫提供了一種簡單、強大、完全無幹擾從人為錯誤中恢複的機制。通過閃回查詢,使用者可以查看過去某個時間點的資料狀態,而不需對資料庫結構做任何修改。Oracle 10g擴充了閃回技術,分別在資料庫、表、行、事務層級提供了快速而簡單的恢複機制。
Oracle 10g中閃回技術包含了以下技術:
·閃回資料庫:將資料庫快速變回之前的某個時間點,不需要restore和recover操作,減少停機時間和人為錯誤發生的幾率
·閃回表:將表恢複到之前的一個時間點,不需要restore操作等,
·閃回drop:還原被錯誤刪除的表
·閃回版本查詢:使用undo資料
·閃回事務查詢:在事務層級進行查看
Oracle 11g提供了閃回資料歸檔(Flashback Data Archive)技術,用來管理和查詢長期曆史資料。
如果發生了一個錯誤,比如批job執行了兩次,管理員可以進行閃回操作將資料庫快速恢複到之前的某個狀態,而不需要還原備份並進行基於時間點的恢複。 閃回技術不僅僅是在資料庫層級,也可以是在表層級。
下表為閃回特性的圖表說明
開啟閃回功能需要設定資料庫歸檔和設定flash recovery area (FRA)
1.確保資料庫處于歸檔模式
SQL> select log_mode from v$database;LOG_MODE------------ARCHIVELOGSQL>
2.設定閃回恢複區
#設定閃回區大小:
SQL> alter system set db_recovery_file_dest_size=6g scope=both ;
#設定閃回區位置
SQL> alter system set db_recovery_file_dest=‘/u01/app/oracle/fast_recovery_area‘ scope=both sid=‘*‘;
#設定閃回retention目標,以分鐘為單位
SQL> alter system set db_flashback_retention_target=3600 scope=both sid=‘*‘;
3.開啟資料庫閃回功能
#開啟資料庫閃回功能
SQL> alter database flashback on;
4.確認
SQL> select flashback_on from v$database;FLASHBACK_ON------------------YESSQL>
如何計算快速閃回區的大小:
Disk Quota =Size of a copy of database +Size of an incremental backup +Size of (n+1) days of archived redo logs +Size of (y+1) days of foreign archived redo logs (for logical standby) +Size of control file +Size of an online redo log member * number of log groups +Size of flashback logs (based on DB_FLASHBACK_RETENTION_TARGET value)
以下類型的表不支援表閃回:
·進階隊列表
·單獨的分區表或子分區
·物化視圖
·巢狀表格
·對象表
·遠端資料表
·待用資料字典表
·system表
·簇表的一部分
Oracle Flashback Technologies (總)