Oracle 閃回區(Oracle Flash recovery area)

hd_system發表於2016-11-10

閃回區已經有了好幾載的歲月了,在10g的時候就被推出一直延續到現在。Oracle閃回區是為RMAN準備的,儘管拋開它我們可以同樣完成資料庫備份恢復的相關工作,Oracle依舊強烈推薦使用且它讓其成為RMAN的元件之一。這是因為該區域可集中簡化管理所有和備份恢復工作,這也是其魅力所在。本文描述了Oracle閃回區的特性及其配置閃回區,監控閃回區等。

 1、閃回區特性及其配置

閃回區
  就是分配一個特定的目錄位置(普通磁碟上的目錄或ASM磁碟)來存放一些特定的恢復檔案,用於集中和簡化管理資料庫恢復工作。
  透過配置閃回區,可以避免在多例項歸檔到相同磁碟時,磁碟空間耗盡而影響所有例項的情行。也就是說縮小影響範圍。
  閃回區單詞縮寫為FRA,下面的描述FRA即指的是閃回區,也可能存在混用閃回區或FRA的情形。
 
閃回區可儲存檔案的型別
  完全的資料檔案備份
  增量備份
  資料檔案副本
  當前的控制檔案,備份的控制檔案,spfile檔案,快照控制檔案
  聯機日誌檔案,歸檔日誌
  塊跟蹤檔案、閃回日誌

啟用與禁用閃回區
  設定下面的初始化引數(spfile或pfile檔案)
    DB_RECOVERY_FILE_DEST_SIZE:用於設定閃回區的大小,此引數應優先於DB_RECOVERY_FILE_DEST引數修改,否則ORA-32001
    DB_RECOVERY_FILE_DEST:用於設定閃回區的目錄
    DB_FLASHBACK_RETENTION_TARGET:指定資料庫可以閃回的時間範圍,單位為分鐘,預設1440分鐘,也就是一天
    資料庫閃回分為多種情形,其閃回日誌存放在FRA,可閃回的時間同時還取決於閃回恢復區的大小
    將DB_RECOVERY_FILE_DEST引數設定為空,可以停用FRA,但是啟用flashback database,則不能取消FRA,需要先禁用flashback database
 
  資料庫FRA可以為每個資料庫配置不同的閃回區,也可以為多個資料庫配置相同路徑的閃回區
  當為多個資料庫配置相同的閃回區位置時,應考慮閃回區所在磁碟掛載點的總大小以及使用不同的DB_NAME
  多個資料庫或例項使用相同的閃回區時,其路徑為:FRA_HOME////

FRA中的保留策略
  FRA中的檔案的保留與否由RMAN保留策略來決定。透過執行RMAN configure retention policy命令來設定其策略
  對於沒有關聯保留策略或是永久檔案,檔案永遠不會被刪除
  對於關聯保留策略的檔案,沒有過時的情況下不會被刪除,一旦過時,在空間壓力下回自動被刪除

FRA與多路日誌歸檔
  如果設定了歸檔日誌引數log_archive_dest_n,歸當時會使用該位置而不是使用FRA
  如果未設定引數log_archive_dest_n,而是啟用FRA,則可以不需要再單獨設定歸檔日誌引數log_archive_dest_n,歸檔日誌會位於FRA
  對於啟用FRA後,不可再設定log_archive_dest、log_archive_duplex_dest,也就是說存在排他模式。可參考:Oracle 歸檔日誌 
  對於既要歸檔到log_archive_dest_n,又要歸檔到FRA的情形,需要設定引數log_archive_dest_10(預設情況)給FRA,如下:
      alter system set log_archive_dest_10='LOCATION=USE_DB_RECOVERY_FILE_DEST';
      alter system set log_archive_dest_1='LOCATION=/u03/database/archdir';
 
2、FRA空間分配與監控
  對於啟用FRA特性之後,FRA幫助管理全部的磁碟空間分配。Oracle會自動監控FRA空間的使用情況。
  關於FRA空間分配大小應考慮當前資料庫備份的方式,備份是否壓縮,每天歸檔日誌大小,是否啟用了閃回等多項因素綜合來考量
  FRA中可用空間達到不安全的程度或不夠用的情形,可以透過OEM或DBA_OUTSTANDING_ALERTS獲得相關資訊
    會在Alert日誌檔案中生成警告
    當可回收空間低於DB_RECOVERY_FILE_DEST_SIZE定義值的15%時,生成警報
    當可回收空間低於DB_RECOVERY_FILE_DEST_SIZE定義值的3%時,生成嚴重警報
    當整個FRA被完全填滿時,系統不可用,直接給你ORA-19815,ORA-19809 :limit exceeded for recovery files
    注FRA空間被填滿,不表示當前的磁碟掛載點空間不夠。
   
  FRA空間不夠用或出現嚴重告警的情形,應考慮從以下方面著手解決
    如果僅僅是引數DB_RECOVERY_FILE_DEST_SIZE大小限制,磁碟空閒空間很多,則直接修改該引數到一個更大的值
    如果磁碟空閒空間不多,應考慮分配更多的磁碟空間給檔案系統,然後再修改DB_RECOVERY_FILE_DEST_SIZE引數到一個更大的值
    如果無法分配額外的磁碟空間,可以考慮遷移FRA到有較多可用空間的另外一個檔案系統
    可以使用backup recovery area命令將整個FRA內容移動到另外的位置
    刪除FRA中較早備份集或歸檔日誌,建議使用RMAN命令來刪除,若直接從os刪除,Oracle認為FRA的空間並沒有釋放(需要crosscheck再delete)

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

相關文章