oracle Flash Revovery Area

hurp_oracle發表於2014-08-10
使用Flash Revovery Area :

RMAN可以把資料庫備份到磁碟或磁碟上,除此之外Oracle 10G 還專門為備份檔案的存放設計了一個單獨的儲存區-----閃回恢復區(Flash Recovery Area).這個儲存區可以建立在磁碟、磁帶、ASM上,用來儲存所有與恢復有關的檔案,這些檔案包含如下幾類:

a)控制檔案。如果建立資料庫時使用了Flash Recovery Area,會自動在這個區域建立一個控制檔案的考貝,這個考貝作為控制檔案的映象。
b)控制檔案和Spfile檔案自動備份。
c)備份集Backup Set檔案。
d)Image Copy檔案。
e)如果資料庫啟用了Flash recovery Area,則log_archive_dest_10引數會自動指向Flash recovery Area.
f)閃回日誌(Flashback Logs).閃回資料庫(Flash Database)需要這種日誌。


注:ORACLE10G的閃回功能家族中,只有閃回資料庫(Flash Database)和閃回恢復區有關第,閃回資料庫使用的閃回日誌只能放在閃回恢復區中。而其它的閃回功能,都和閃回恢復區沒有任何聯絡,也就是說閃回資料庫功能時必須使用閃回恢復區。而oracle10g的其它閃回功能中,閃回恢復區不是必須的。

在oracle 10g的v$logfile,v$control_file、v$datafile_copy、v$backup_piece、v$archived_log這些檢視中也增加了is_recovery_dest_file列。代表該檔案是否存放在Recovery Area中。下面語句演示和哪些歸檔日誌存放在Flash Recovery Area中。
SQL>select name,is_recovery_dest_file from v$archived_log;

配置Flash Recovery Area:

配置flash recover area共需要二個引數(DB_RECOVERY_FILE_DEST和DB_RECOVERY_FILE_DEST_SIZE)
這兩個引數可以在資料庫執行過程中線上修改,修改後立即生效,比如以下列子:

SQL>alter system set db_recovery_file_dest='+dist1' scope=both;
SQL>alter system set db_recovery_file_dest_size='10g' socpe=both sid='例項1';



Flash Revoery Area空間監控:
在oracle定義了備份保留策略時,當Flash Recovery Area空間使用率達到90%j時,會觸發自動刪除。刪除過程會在Alert中記錄日誌,但是如果沒有空間可以釋放,並且使用空間超過85%。就會記錄一條warning日誌;如果超過了97%,會記錄一條critical warning 日誌,這些日誌可以從DBA_OUTSTANDING_ALERTS檢視中看到。
因此日常工作中需要監控閃回恢復區的使用情況,在需要時及時進行調整,可以透過視力v$recovery_file_dest檢視來監控Flash Recovery Area 的使用情況,比如下面例子檢視了區域的空間大小,已經使用及剩餘的空間大小:

col name for a32 heading 'file name'
col spc_lmt_mb for 9999.99 heading 'space|limit(mb)'
col spc_used_mb for 9999.99 heading 'space|used|(mb)'
col spc_rcl_mb format 9999.99 heading 'reclm|space(mb)'
col number_of_files  format 9999999 heading 'files'
select name,space_limit/(1024*1024) spc_lmt_mb,space_used/(1024*1024) spc_used_mb,space_reclaimable/1024/1024 spc_rcl_mb,number_of_files from v$recovery_file_dest;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29446986/viewspace-1248661/,如需轉載,請註明出處,否則將追究法律責任。

相關文章