在Oracle中,RMAN中有哪幾種保留策略?數據庫
答案:保留策略說明了要保留的備份冗餘數量及保留的時間長度。有兩類保留策略:恢復窗口保留策略和冗餘保留策略,這兩類保留策略互相排斥。能夠經過使用RMAN的CONFIGURE命令或OEM(Oracle Enterprise Manager)來設置保留策略的值。ide
(1)恢復窗口保留策略:肯定一個時間段,在此期間內必須能夠執行時間點恢復,以下圖所示:spa
最佳方案是肯定一個時間段,在此期間內能夠發現邏輯錯誤,而後經過執行時間點恢復正好恢復到錯誤前的那一點來修復受影響的對象,此時間段稱爲恢復窗口,此策略用天數指定。對於每一個數據文件,都必須始終存在至少一個知足如下條件的備份:3d
SYSDATE – backup_checkpoint_time >= recovery_windowrest
能夠使用下列命令語法配置恢復窗口保留策略:對象
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF <天數> DAYS;blog
其中,「<天數>」是恢復窗口的長度。同步
若是未使用恢復目錄,那麼要防止控制文件中舊的備份記錄被覆蓋,恢復窗口時間段應小於或等於控制文件參數CONTROL_FILE_RECORD_KEEP_TIME的值。若是正在使用恢復目錄,那麼應確保CONTROL_FILE_RECORD_KEEP_TIME大於目錄從新同步的間隔。it
(2)冗餘保留策略:肯定必須保留的備份的數量(固定值),以下圖所示:class
若是須要保留必定數量的備份,能夠經過冗餘選項設置保留策略。此選項要求在任何備份被標識爲過期以前將指定數量的備份列入目錄。默認保留策略的冗餘度爲1,這表示在任意指定時間一個文件只存在一個備份。當同一文件的最新版本已經有備份時,上一個備份就被視爲過期。能夠使用下列命令從新配置冗餘保留策略:
RMAN>CONFIGURE RETENTION POLICY TO REDUNDANCY <副本數>;
其中,「<副本數>」是知足策略所需的副本數量。能夠使用下列命令禁用保留策略:
RMAN>CONFIGURE RETENTION POLICY TO NONE;
須要注意的是,能夠指定某個備份不聽從所定義的保留策略,這稱爲歸檔備份。若是DBA不打算恢復到自執行該備份之後的某一時間點,只是但願可以正好恢復到執行該備份的確切時間。此外,還須要維護保留策略以使備份區井井有理,所以沒法使備份恢復到兩年前,此時能夠使用歸檔備份。若是將某一備份標記爲歸檔備份,那麼該屬性將覆蓋爲此備份目的配置的全部保留策略。保留歸檔備份時,可將其指定爲僅在某一特定時間過期,也能夠將其指定爲永不過期。若是要指定後者,那麼須要使用恢復目錄。KEEP子句會建立一個歸檔備份,此備份是某個時間點的數據庫快照。能夠使用RMAN經過如下語法建立歸檔備份:
BACKUP...KEEP {FOREVER|UNTIL TIME 'SYSDATE + <n>' } RESTORE POINT <restore_point_name>
使用UNTIL TIME子句可指定保留策略對歸檔備份失效的時間。也可指定FOREVER,這意味着歸檔備份始終保持不變,除非執行其它操做進行更改。此外,還能夠使用RESTORE POINT子句指定要與此備份關聯的還原點的名稱。