Oracle閃回資料歸檔
從Oracle 11g開始,提供了一個這樣的功能:閃回資料歸檔(Flashback Data Archive)。透過這一功能,Oracle資料庫可以將UNDO資料進行歸檔,從而提供全面的歷史資料查詢,也因此引入一個新的概念:Oracle Total Recall,即Oracle全面回憶。閃回資料歸檔可以和我們一直熟悉的日誌歸檔類比,日誌歸檔記錄的是REDO的歷史狀態,用於保證恢復的連續性。而閃迴歸檔記錄的是UNDO的歷史狀態,可以用於對資料進行閃回追溯查詢。後臺程式LGWR用於將REDO資訊寫出到聯機日誌檔案,ARCH程式負責寫出到歸檔日誌,而在Oracle 11g中新增的後臺程式FBDA(Flashback Data Archiver Process)則用於對閃回資料進行歸檔寫出。
前面講述的閃回功能都有時間限制:閃回資料庫受閃回日誌空間大小及保留時間的限制,閃回查詢受撤銷表空間及保留時間的限制,閃回刪除受表空間可用空間的限制。而閃回資料歸檔則可以配置長期的儲存錶行資料的前映像,甚至可以儲存多年。FBDA會確保儲存該時間點之前的所有資料,超出儲存時間之前的資料會自動維護刪除。這對於像司法和審計方面的需求尤其適用,閃回資料歸檔透明的支援了這種做法,DBA能夠保證符合法律要求而不需要做任何額外的工作。
對於繁忙的資料庫,閃回資料儲存顯然要耗用更多的磁碟空間和時間。當然使用者可以根據需要,僅對部分表啟用閃回資料歸檔,從而滿足特定的業務需求。
配置閃回資料歸檔的基本步驟:
建立一個表空間,然後建立歸檔,指定表空間、保留時間及表空間配額:
create tablespace fda datafile 'd:\oradata\mes\fda01.dbf' size 10g;
create flashback archive default fa tablespace fda quota 10g retention 1 year;
其中fa是建立的閃迴歸檔名,fda是為歸檔建立的表空間,default關鍵字表示除非另行說明,該歸檔將用作所有表的歸檔。也可以稍後設定預設的歸檔:
alter flashback archive fa set default;
quota子句顯示歸檔在表空間中佔用的配額。還可以在原有的表空間或另一個表空間中擴充套件更多的空間:
alter flashback archive fa add tablespace fda2 quota 10g;
也可以調整閃迴歸檔的保留時間:
alter flashback archive fa modify retention 2 year;
那麼一旦資料超過了指定的保留期限,FBDA後臺程式將自動從歸檔中刪除過期的資料。在資料過期之前,也可以手動進行刪除,如:
alter flashback archive fa purge before timestamp to_timestamp('2015-01-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss');
建立、修改或刪除歸檔以及控制歸檔的保留和清除,需要flashback archive administer系統許可權,歸檔表的使用者必須授予flashback archive的許可權:
grant flashback archive administer to cmes;
grant flashback archive on fa to rmes;
為了啟用表的歸檔保護,使用如下命令:
alter table rmes.r_wip_station_t flashback archive fa;
如要刪除表的歸檔保護,可以使用如下命令:
alter table rmes.r_wip_station_t no flashback archive;
如要刪除閃回資料歸檔,則可用以下命令:
drop flashback archive fa;
加入到閃回資料歸檔的表、表空間、使用者是受保護不允許刪除的,除非先將歸檔保護刪除。
另外,有三個資料字典檢視記錄了閃回資料歸檔的配置資訊:
dba_flashback_archive,描述了配置的歸檔
col flashback_archive_name for a30
select owner_name, flashback_archive_name, flashback_archive#, retention_in_days, to_char(create_time, 'yyyy-mm-dd hh24:mi:ss') create_time, status from dba_flashback_archive;
OWNER_NAME FLASHBACK_ARCHIVE_NAME FLASHBACK_ARCHIVE# RETENTION_IN_DAYS CREATE_TIME STATUS
------------------------------ ------------------------------ ------------------ ----------------- ------------------- -------
SYS FA 1 365 2017-01-29 22:31:29 DEFAULT
dba_flashback_archive_ts,顯示了每個表空間為閃迴歸檔分配的配額
col flashback_archive_name for a30
col quota_in_mb for a20
select * from dba_flashback_archive_ts;
FLASHBACK_ARCHIVE_NAME FLASHBACK_ARCHIVE# TABLESPACE_NAME QUOTA_IN_MB
------------------------------ ------------------ ------------------------------ --------------------
FA 1 FDA 1024
dba_flashback_archive_tables,列出了啟用閃迴歸檔的表
col archive_table_name for a30
select * from dba_flashback_archive_tables;
TABLE_NAME OWNER_NAME FLASHBACK_ARCHIVE_NAME ARCHIVE_TABLE_NAME STATUS
------------------------------ ------------------------------ ------------------------------ ------------------------------ --------
R_WIP_STATION_T RMES FA SYS_FBA_HIST_98694 ENABLED
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28974745/viewspace-2139608/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 11g 閃回資料歸檔Oracle
- [zt] Oracle 11g 閃回資料歸檔Oracle
- 清除閃回資料歸檔區資料
- 關於oracle閃回資料歸檔的總結Oracle
- 閃回資料歸檔-- Flashback Data ArchiveHive
- 11g閃回資料歸檔
- Oracle 11g閃回資料歸檔新功能解析Oracle
- 【oracle 】閃回與歸檔位置的理解Oracle
- 11g新特性--Oracle 11g 閃回資料歸檔Oracle
- 開閃回及閃迴歸檔
- Oracle 11g新特性--閃回資料歸檔(flashback data archive)[zt]OracleHive
- 【Flashback】11g的閃回資料歸檔初探
- Oracle閃回技術之閃回資料庫Oracle資料庫
- Oracle閃回技術 為Oracle閃回配置資料庫Oracle資料庫
- Oracle資料庫閃回Oracle資料庫
- Oracle閃回資料庫Oracle資料庫
- RAC資料庫啟用歸檔和閃回的步驟資料庫
- Oracle資料庫的閃回恢復區及多歸檔路徑的設定Oracle資料庫
- Oracle 閃回技術 概覽 資料庫閃回功能Oracle資料庫
- 【Flashback】啟用閃回資料庫功能需要在歸檔模式下完成資料庫模式
- Oracle 閃回資料庫測試Oracle資料庫
- 詳解oracle資料庫閃回Oracle資料庫
- 【備份恢復】 閃回技術之閃迴歸檔
- 閃回(關於閃回資料庫)資料庫
- 閃回與歸檔引數的設定
- Oracle 11g 閃回資料庫Oracle資料庫
- Oracle Flashback Archive——Oracle閃迴歸檔(上)OracleHive
- Oracle Flashback Archive——Oracle閃迴歸檔(中)OracleHive
- Oracle Flashback Archive——Oracle閃迴歸檔(下)OracleHive
- 10g關閉歸檔/啟用閃回恢復區歸檔
- 歸檔放在閃回區帶來的問題
- Oracle 11g 閃迴歸檔Oracle
- Oracle的閃回恢復區和歸檔日誌多路徑設定Oracle
- 閃回資料庫資料庫
- Oracle資料庫閃回區空間不足Oracle資料庫
- ORACLE資料庫閃回步驟詳解Oracle資料庫
- Oracle資料庫的閃回恢復區Oracle資料庫
- ORACLE資料庫歸檔改為非歸檔Oracle資料庫