RMAN備份概念 (手冊學習整理)

一、RMAN備份概述
RMAN>backup database;
使用這個命令時,RMAN會通過使用控制文件馬上把此動作記錄在RMAN信息庫中,因此數據庫至少爲mounted狀態時運行;


持續的備份:數據庫正常關閉是執行的備份所得到
非持續的備份:數據庫運行時執行的備份所得到,備份策略中比較多使用。


RMAN可備份:datafile,controlfile,archived redolog,使用中的spfile,backup pice
RMAN不可備份的:網絡配置文件,密碼文件,ORACLE_HOME下的其他內容


RMAN的備份模式:鏡像拷貝、備份集
一、鏡像拷貝:
1、位到位的文件拷貝
2、與OS的拷貝命令的執行效果相同(RMAN會將信息庫中記錄鏡像拷貝,OS不會)
3、RMAN不會被用到鏡像拷貝來還原數據文件
4、backup ... as copy即可讓RMAN創建鏡像拷貝
5、可創建爲鏡像拷貝的有:datafile,datafile copy,controlfile,controlfile copy,archived redolog,backup pice
6、RMAN只支持DISK上的鏡像拷貝,其他介質的鏡像拷貝不支持
二、備份集
1、一個備份集可包含n個datafile|archived redolog|controlfile|spfile
2、datafile和archived logfile不可混合在同一個備份集中
3、已有的備份集可備份到另一個備份集中
4、備份集只有RMAN才能創建和還原
5、多個文件備份到一個備份集時,這些文件會同時被讀取,數據會混合在一起


備份集註意情況:
1、默認情況下,一個備份集包含一個備份片。例如,可將10個數據文件備份到一個備份集中,這個備份集只包含1個備份片。
2、也可以一個備份集包含多個備份片。
3、1個文件不可被分割到多個備份集中
4、備份集是介質管理器上RMAN唯一所支持的備份類型,這些介質有如DISK和TAPE等
5、RMAN默認在DISK和TAPE上以備份集的形式創建備份


備份集的壓縮功能:
1、備份集中沒有使用的數據塊的壓縮
此功能不能取消,即數據文件中從沒有使用過的數據塊不會被拷貝到備份集中
2、備份集的二進制壓縮
backup ... as compressed backupset即可
當空間比備份/還原的時間更重要時
壓縮的對象是歸檔日誌和數據文件
使用ORACLE服務器中的壓縮算法


數據文件的全備份和增量備份
全備份:備份每個已被使用的塊
對於備份集,會使用塊的壓縮功能來忽略未使用過的數據塊
對於鏡像拷貝,整個文件的內容會完全被重新生成
增量備份:只能爲數據文件做增量備份
在塊到塊的基礎上獲得哪些數據文件發生了變化
介質恢復期間,RMAN檢查還原文件來決定是否可用增量備份來恢復還原,如果可以,那麼RMAN會繞過歸檔日誌去選擇使用增量備份來還原,因爲重做日誌的重新應用到每個塊的改變所用的時間比直接應用所有塊的改變來得慢。


RMAN備份和標籤
RMAN支持一個備份貼上一個標籤來識別。
recover和restore命令時可以通過指定標籤來精準還原。
實踐過程中,標籤通常多用於識別不同的備份策略,特別是增量備份策略。
==========================================================================








二、使用RMAN來備份數據文件和歸檔日誌
持續的備份
1、打開RMAN
rman target /
2、乾淨地關閉RMAN
shutdown immediate
3、掛起但不打開數據庫
startup mount
4、備份數據庫,得到的就是持續的備份
backup database --根據實際情況加其他選項
通過RMAN備份全庫
非持續的備份
在數據庫運行期間所創建的備份都是非持續的備份,使用得較多。

RMAN會將備份存儲在一個默認的備份存放目錄下,並自動生成一個文件。這個目錄與生成的文件名可通過configure命令來用戶自定義的。
1、如果配置爲DISK通道,那麼就使用DISK通道作爲默認目錄;
2、否則,如果使用了flash recovery area,就使用flash recovery area作爲默認目錄;
3、如果以上兩者都不是,則默認的目錄和文件名格式就有平臺指定的。

RMAN>backup database
通過這個命令RMAN會以配置好的格式與目錄存放備份集,此命令後會在ORACLE默認的數據存放路徑上更新數據文件、控制文件和日誌文件。路徑是/u01/app/oracle/oradata/huatest/
RMAN>sql 'alter system archive log current';
備份完數據庫後,立即執行日誌歸檔操作,以確保在全庫備份過程中的所有歸檔日誌就都保存了。

也可通過指定格式的方式來將數據庫備份以非默認路徑和格式的方式備份出來
RMAN>backup database format '/tmp2/%U';

備份時可指定標籤
RMAN>backup database tag='test_backup';
會在配置好的路徑和命名模式備份,也會在ORACLE默認的數據存放路徑中備份,2份備份,會在RMAN信息庫中爲此次的備份打上一個TAG。

RMAN>list backup summary;
可通過list命令查看不同備份的不同標識


通過RMAN備份獨立表空間
RMAN>backup device type disk maxsetsize = 10M tablespace users;
將表空間users備份到磁盤中,備份集的大小不能超過10M


通過RMAN備份datafile和datafile copy
備份datafile
RMAN>bakcup device type disk datafile 1,2,3,4,5;
可通過指定數據文件的名字|號碼來備份數據文件
如果RMAN開啓controlfile autobackup功能,那麼RMAN地將當前的控制文件及SPFILE寫到一個單獨的自動備份片中。
如果RMAN沒有開啓controlfile autobackup功能,那麼控制文件和SPFILE會自動包含到datafile 1的備份集中。
備份datafile copy
RMAN>backup as copy datafile 1; --備份好後,記得記錄下來備份片的名字,因爲下面的備份會用到
RMAN>backup device type disk datafilecopy '/backupoforacle/ora_joshua851601382_s46_s1';
到此數據文件的拷貝也做了一個備份,記錄下的備份片的名字爲handle=/backupoforacle/ora_joshua851602667_s51_s1


通過RMAN備份控制文件
RMAN使用一個快照控制文件,來確保有一個可持續讀的版本。

如果控制文件自動備份功能打開,那麼RMAN會在每次備份以及數據庫結構發生改變時,自動備份控制文件及SPFILE到默認路徑。
控制文件自動備份的數據中包含了以前備份的元數據,元數據對災難恢復非常關鍵。

如果控制文件自動備份功能沒有打開,那麼需要手動備份控制文件,有以下方法
1、使用backup current controlfile
RMAN>backup current controlfile tag = 'testbackupofcontrolfile';
2、在備份其他文件時,在backup命令後使用include current controlfile
RMAN>backup device type disk tablespace include current controlfile;
3、備份datafile 1

注意,手動備份控制文件時,只有當前RMAN會話的RMAN信息庫數據會包含到控制文件備份中
手動備份控制文件不可自動還原


通過RMAN備份SPFILE
1、備份datafile 1會同時備份SPFILE
2、使用backup ... spfile命令,只在當前實例是用SPFILE開啓時,纔會備份SPFILE
3、如果實例使用一個客戶端的初始化參數文件啓動的話,那麼RMAN的這個備份命令不會備份任何東西
RMAN>backup device type disk spfile;


通過RMAN備份歸檔重做日誌
1、backup archivelog
RMAN>backup archivelog all;
將所有歸檔重做日誌的每個日誌序列號的一個拷貝,備份到配置好的備份集存放位置。

即使重做日誌多路複用,使用RMAN去備份歸檔重做日誌時RMAN只選擇其中一個拷貝包含到備份集中,因爲這些日誌都有一個相同的序號去標識。

RMAN>backup archivelog from time 'sysdate - 2' until time 'sysdate - 1'; 
可通過指定時間|SCN|日誌號的方式來歸檔備份歸檔日誌的範圍。

兩點注意:
A、備份歸檔日誌期間,在線重做日誌自動切換
當備份一個包含了最新日誌的歸檔重做日誌時,數據庫如果是OPEN狀態,那麼在開始備份前RMAN會關閉當前在線重做日誌組以及所有在線重做日誌。
這樣是爲了確保備份能包含所有在備份命令開始應用前所產生的重做信息。
B、backup archivelog命令中使用delete input或delete all input
delete input:RMAN只刪除爲備份集所選擇的指定的歸檔重做日誌的拷貝
delete all input:RMAN會刪除所有日誌歸檔目的地裏的每一個備份歸檔重做日誌

假如/arc_dest1,/arc_dest2和/arc_dest3是不同的歸檔位置,三者是歸檔日誌的多路複用目錄。假如使用/arc_dest1爲備份的源,那麼備份完後RMAN會刪除/arc_dest1目錄中的歸檔重做日誌文件,而/arc_dest2和/arc_dest3裏的內容會保持完整。

2、backup ... plus archivelog
此命令,RMAN會做以下工作:
A、運行alter system archive log current;
B、運行backup archivelog all;
C、備份backup命令指定的備份工作;
D、運行alter system archive log current;
E、備份在備份過程中產生的剩餘的歸檔日誌。

RMAN>backup device type disk database plus archivelog;
這個命令運行後,產生了3個備份集:
歸檔日誌備份集1、數據文件備份集、歸檔日誌備份集2。
因開啓了flash recovery area,所以在flash recovery area中產生了2個歸檔日誌備份。


使用壓縮備份集
backup as compressed backupset ...
RMAN>backup as compressed backupset database plus archivelog;
RMAN>backup as compressed backupset datafile 1,2,4;
注意:還原或產生壓縮備份集時會額外的CPU開銷,引起備份進程減慢。因此CPU是瓶頸。
===================================================================






三、RMAN增量備份
增量備份目的:只備份那些與之前備份相比有變化的數據塊。

增量備份的對象:數據庫、表空間、數據文件

數據庫處於歸檔模式時,數據庫爲OPEN時可做增量備份;
數據庫處於非歸檔模式時,數據庫只有在CLOSED時纔可做增量備份。

增量備份算法:
每個數據塊都有一個SCN,代表數據塊最新的變化。RMAN會使用輸入文件的每個數據塊的SCN與父增量備份檢查點的SCN比較,如果前者大小或等於後者的SCN,那麼RMAN會拷貝這個塊。

激活了塊變化跟蹤功能後,RMAN不需要掃描全部數據文件的內容,只需要跟蹤有變化的文件來識別數據文件中有變化的塊。

增量備份會在0級和1級中選擇其一。

0級備份,作爲隨後增量備份的基礎,是拷貝了所有包含了數據的塊。
全備份與0級增量備份的差別是:全備份不會包含在一個增量備份策略中
1級增量備份分爲:差異備份、累積備份
差異備份,備份在多數1級或0級增量備份之後所有已更改的塊
累積備份,備份在最近的0級增量備份之後所有已更改的塊

差異備份
RMAN會備份自最近的一次累積備份/差異備份以來,有更改的所有數據塊。
如果沒有可用的1級備份,RMAN會拷貝所有自0級備份以來的更改過後塊
累積備份
備份在最近的0級增量備份之後所有已更改的塊

基本的增量備份算法
選擇一個三級的備份模式,即每月全備或0級備份,每週一個1級累積備份,每天一個1級差異備份。利用這些備份以及重做日誌,你可以恢復到保留策略內的任何一個時間點的數據。當然要知道時間點或者SCN號。
當50%或更多的數據有變化時,做一個新的0級備份。

RMAN>backup incremental level 0 database;
全庫的0級備份
RMAN>backup incremental level 1 tablespace system datafile '/XXX/xxx.dbf';
表空間system,數據文件xxx.dbf的1級增量備份。
只會對與最近一次1級或0級備份相比有更改的數據塊做備份。
RMAN>backup incremental level = 1 cumulative tablespace users;
表空間users做1級累積備份,備份自上一次0級備份以來所有更改過的數據塊。

增量更新備份:對鏡像拷貝應用增量備份做前滾操作。
功能:創建一個數據文件的鏡像拷貝,然後定期創建數據庫的增量備份,並將增量備份應用到這個鏡像拷貝中。定期更新鏡像拷貝。
使用增量更新備份功能,卻不需要每天去做全鏡像拷貝。
基於增量更新備份的備份策略,可使數據庫的介質恢復花最少的時間,每日使用腳本去實施此策略,那麼在恢復的時間中,你就不需要應用超過一天的重做日誌。

RMAN>run { recover copy of database with tag 'incr_update';backup incremental level 1 for recover of copy with tag 'incr_update' database;}
上面有2條命令:
第一條:
1,第一次運行run腳本時,由於沒有0級以及1級增量備份,因此此命令沒有起任何作用;
2,第二次運行run腳本時,只有一個0級備份但沒有1級增量備份,因此此命令還是沒有起作用;
3,第三次以及後面的運行中,會將1級增量備份應用到數據文件拷貝中。
第二條:
1,第一次運行run腳本時,會創建數據文件的一個0級增量備份,作爲以後增量更新備份的基礎;
2,在第二次以及後面所有的子運行當中,都會創建數據文件的1級增量備份。

注意的地方:
1,數據庫新增一個datafile時,在新增了一個datafile後run腳本時會創建此新datafile的鏡像拷貝;
2,具胡不同的增量備份策略時,針對各個策略要有不同的tag,否則RMAN會無法確定。

增量更改備份恢復時的三步:
1, 恢復指定時間的鏡像拷貝;
2, 恢復最後一次1級增量備份;
3, 應用redo日誌。


變化跟蹤增量備份功能
可避免掃描datafile的每個塊。
原理:在激活此功能之後,第一個0級增量備份仍然要掃描整個數據文件,往後的增量備份會使用此0級備份作爲你備份並利用變化跟蹤文件。
增量備份使用此文件去對比塊的變化,只備份追蹤的且有發生變化的塊,效率更高。
初始化配置之後就基本上不需要維護。
塊變化跟蹤文件爲整個數據庫而創建,存放在db_create_file_dest中,可手動地指定其名字和存放位置。
RMAN不支持對塊變化跟蹤文件有備份/恢復操作。
在還原/恢復後,塊變化跟蹤文件會被清除,要重新記錄塊的更改。

打開此功能:
1、數據庫要處於OPEN或MOUNTED狀態
2、SQL>ALTER DATABASE ENABLE BLOCK CHANGE TRACKING;

   SQL>ALTER DATABASE ENBALE BLOCK CHANGE TRACKING USING FILE ‘/mydir/rman_change_track.f’ REUSE;
REUSE選擇告訴ORACLE去覆蓋任何使用了此指定名字的文件。

關閉此功能:
SQL>ALTER DATABASE DISENABLE BLOCK CHANGE TRACKING;
如果跟蹤文件所在目錄是ORACLE管理目錄,那麼關閉的同時ORACLE會刪除跟蹤文件。

移動變化跟蹤文件
1、確定當前變化跟蹤文件的名字
2、關閉數據庫
3、使用操作系統命令,移動變化跟蹤文件到新的位置
4、掛載數據庫,並使數據庫認識到新的文件位置
5、打開數據庫
如果沒辦法關閉數據庫,那麼就必須先將變化跟蹤功能關閉,然後激活此功能時將文件位置指向新的位置,如下:
SQL>ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;
SQL>ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE ‘/new_location’;
===================================================================








四、備份到flash recovery area
備份到flash recovery area時,需要考慮以下兩個問題:

1、根據數據庫的保留策略及使用情況,來決定flash recovery area的配額


2、備份腳本
A、少量數據塊更改時,使用增量備份,每天備份一次
RMAN>RECOVER COPY OF DATABASE WITH TAG “whole_db_copy”;
RMAN>backup incremental level 1 for recover of copy with tag “whole_db_copy” database;

RMAN>RECOVER COPY OF DATABASE WITH TAG “whole_db_copy” UNTIL TIME ‘SYSDATE – 3’;
RMAN>backup incremental level 1 for recover of copy with tag “whole_db_copy” database;
腳本解釋:
腳本執行第一天,RECOVER語句沒有任何作用,backup .. for recover of copy語句會創建一個原始的0級數據庫拷貝;
腳本執行第二天,RECOVER語句仍然沒有任何作用,因爲沒有1級增量備份去應用到0級增量備份當中。BACKUP命令創建第一個1級增量備份;

之後的每天,腳本執行時,前一天的1級增量備份會應用到0級數據庫拷貝當中,以此前滾到前一天的1級增量備份的時間,同時新的1級增量備份會創建,包含了處前一天的1級增量備份以後的所有發生變化的數據塊。


B、多量數據塊更改時,使用週期性的全鏡像拷貝,每週執行一次
RMAN>BACKUP DATABASE TAG "weekly_full_bkup";


C、中等數量塊更改時,使用增量更新備份,每週執行一次

RMAN>RECOVER COPY OF DATABASE TAG "whole_db_cpy";
RMAN>BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG "whole_db_copy" DATABASE;
腳本解釋:
第一週,backup .. for recover of copy會創建一個0級增量放到flash recovery area中,這個備份將會作爲周策略的基礎;
以後每週的執行當中,這個拷貝會前滾到最近的增量備份檢查時間。
===================================================================








五、備份到flash recovery area和磁帶中
1、使用flash recovery area作爲日誌歸檔位置,以及所有磁盤備份的存放位置。
這樣flash recovery area沒有足夠空間去創建歸檔日誌或備份時,ORACLE會自動刪除歸檔日誌和廢棄的或已被移動到磁帶的備份。
2、移動flash recovery area裏的備份文件和歸檔重做日誌到磁帶中。
flash recovery area的磁盤分配建議較少。


操作兩步:
1、爲磁盤和磁帶備份配置RMAN環境
配置保留策略
configure retention policy to recovery window of 15 days;
打開備份優化
configure backup optimization on;
打開控制文件自動備份
configure controlfile autobackup on;
配置磁帶
configure device type sbt parms='...' parallelism 1;
2、備份腳本(根據不同的情況,決定flash recovery area的配額)
A、少量數據塊變化時的腳本,每天運行
RMAN>RECOVER COPY OF DATABASE WITH TAG "daily_backup";
--使用昨天的1級增量備份還原並前滾到最近的增量備份SCN號的狀態
RMAN>BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG "daily_backup" DATABASE;
--執行增量備份到flash recovery area中(使用默認的CHANNEL)
RMAN>BACKUP RECOVERY AREA;
--備份flash recovery area到磁帶中
RMAN>DELETE OBSOLETE DEVICE TYPE SBT;
--刪除磁帶上無效的備份

B、多數據塊變化時的備份腳本,周執行一次,每日執行一次
幾個關鍵:
a、重做日誌文件保存在flash recovery area中
b、每週一次將數據庫全備份放到flash recovery area中
c、每天,flash recovery area中所有的沒有存放到TAPE中的備份文件都備份到TAPE中,TAPE中廢棄的備份會刪除
周腳本:
RMAN>BACKUP AS COPY DATABASE; --備份數據庫拷貝到flash recovery area
RMAN>BACKUP RECOVERY AREA; --備份flash recovery area中的備份到TAPE
RMAN>DELETE OBSOLETE DEVICE TYPE SBT; --刪除TAPE中的廢棄備份
日腳本:
RMAN>BACKUP RECOVERY AREA; --將flash recovery area中的備份移動到TAPE中
RMAN>DELETE OBSOLETE DEVICE TYPE SBT; --刪除TAPE中廢棄的備份

C、中等數量數據塊變化的備份腳本,基於數據庫增量更新備份
策略:
基於數據庫的增量更新備份爲基礎的全備份,每週會有一次前滾操作
前滾後,flash recovery area中的內容會備份到TAPE中。
每天,flash recovery area中的歸檔重做日誌都會累積。
周腳本:
RMAN>RECOVER COPY OF DATABASE WITH TAG “whole_db_cpy”;
根據1級增量備份做前滾
RMAN>BACKUP DEVICE TYPE DISK INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG “whole_db_cpy” DATABASE;
備份一個1級增量備份到flash recovery area中
RMAN>BACKUP RECOVERY AREA;
將flash recovery area中的文件備份到TAPE中
RMAN>DELETE OBSOLETE DEVICE TYPE SBT;
刪除TAPE中廢棄的備份
日腳本:
RMAN>BACKUP RECOVERY AREA;
將flash recovery area中的文件備份到TAPE中
RMAN>DELETE OBSOLETE DEVICE TYPE SBT;
刪除TAPE中過期的備份

D、數據庫中沒有足夠磁盤空間的備份腳本
flash recovery area只會用於歸檔日誌的目的地
flash recovery area中不必要的日誌,會自動被刪除
每日備份歸檔日誌到TAPE中
flash recovery area要足夠大,用於存放最少2天的歸檔重做日誌以及1天的增量備份
周腳本:
RMAN>BACKUP DEVICE TYPE SBT INCREMENTAL LEVEL 0 DATABASE;
備份數據庫的0級增量備份到TAPE
RMAN>DELETE OBSOLETE BACKUPS ON TAPE;
刪除TAPE中廢棄的備份
RMAN>BACKUP RECOVERY AREA;
備份flash recovery area到TAPE
日腳本:
RMAN>BACKUP RECOVERY AREA;
備份flash recovery area到TAPE
RMAN>BACKUP DEVICE TYPE DISK INCREMENTAL LEVEL 1 DATABASE;
備份1級增量備份到flash recovery area中
===================================================================








六、驗證RMAN備份
backup validate ...
驗證對象:數據庫文件、歸檔日誌
檢查數據文件是否有物理和邏輯上的損壞,所有數據庫文件存在且位於正確的位置
RMAN不會產生備份集,但會掃描文件以決定他們是否已被備份且無損壞

如果發現損壞的塊,RMAN會更新視圖v$database_block_corruption來描述損壞,損壞的塊修復後視圖對應的記錄會刪除。

RMAN>backup validate database archivelog all;
===================================================================








七、查詢RMAN倉庫的概述
不需要catalog的命令
list
report
show
v$
需要catalog的命令
print script
固定視圖的恢復目錄

從RMAN界面中能夠獲得的關於RMAN的主要的信息源是REPORT和LIST命令。
===================================================================








八、列出RMAN備份,歸檔日誌以及數據庫替身
通過備份的方式列出備份文件
list backup;
list backupset;
list copy;
list expired backup;
通過文件的方式列出備份文件
list backup by file;
list copy by file;
list expired backup by file;
以總結的模式列出備份文件
list backup summary;
list expired backup summary;
列出受限制的備份
list backup of database;
list copy of datafile '/u01/.../xxx.dbf';
list backupset 29;
list datafilecopy '/u01/.../xxx.dbf';
list backupset tag 'xxx';
LIST COPY OF DATAFILE 'ORACLE_HOME/ORADATA/.../XXX.DBF' DEVICE TYPE SBT;
LIST BACKUP LIKE '/tmp/%';
LIST COPY OF DATAFILE 2 COMPLETED BETWEEN '10-DEC-2002' AND '17-DEC-2002';
LIST ARCHIVELOG ALL BACKED UP 2 TIMES TO DEVICE TYPE SBT;
list backup of datafile 1;
列出數據庫的替身
OPEN RESETLOGS操作的每一次執行都在一個數據庫上執行,這個操作創建一個數據庫的替身。
當執行增量備份時,RMAN會從一個前期的替身或一個當前的替身中使用一個備份作爲子級備份的基礎。
當執行還原和恢復時,RMAN會在還原和恢復操作時使用從前一個替身的備份,就像使用當前替身的備份,同時所有歸檔日誌都可用。
list incarnation;

使用恢復目錄且在同一個恢復目錄中註冊了多個目錄數據庫時,指定某個數據庫的替身
list incarnation of database prod3;
================================================================








九、 備份與數據庫模式的報告
REPORT命令可以查出:
1,哪些文件需要備份;
2,哪些文件已經有不可恢復的操作在這些文件上執行過了;
3,哪些備份已無效,哪些可以被刪除;
4,哪些文件最近還沒有備份
REPORT需要十分精確,因此RMAN信息庫必須與控制文件同步,同時必須在最近運行CHANGE,UNCATALOG和CROSSCHECK去更新所有備份在RMAN信息庫的狀態。

報告哪些對象需要執行備份
通過指定NEED BACKUP 關鍵詞,可以產生需要備份的文件的報告。
步驟:
1、報告前,要做一次交叉檢查,更新RMAN信息庫
allocate channel for maintenance device type disk; --配置RMAN維護通道
crosscheck backup|copy; --交叉檢查
2、確定好目前RMAN的保留策略,然後打出報告
report need backup
3、如果沒有激活保留策略或想更改保留策略,那麼運行report need backup days
report need backup days = 7 database;
report need backup days = 30 tablespace system;
report need backup days = 14 datafile '/u01/.../xxx.dbf';

報告哪些備份已經失效
通過指定關鍵OBSOLETE,報告哪些文件是多餘的。
REPORT OBSOLETE命令在命令行級別支持RECOVERY WINDOWS和REDUNDANCY選項。
步驟:
1、報告前,要做一次交叉檢查,更新RMAN信息庫
allocate channel for maintenance device type disk; --配置RMAN維護通道
crosscheck backup|copy; --交叉檢查
release channel; --釋放維護通道
2、使用OBSOLETE選項去識別哪些備份已經失效
report obsolete recovery window of 7 days;

report obsolete redundancy = 2 device type disk;
3、使用ORPHAN選項列出屬於一個替身不能用的備份
report obsolete orphan;
4、刪除備份
delete obsolete;
DELETE OBSOLETE RECOVERY WINDOW OF 7 DAYS;
DELETE OBSOLETE REDUNDANCY = 2;

報告數據庫模式
使用REPORT SCHEMA去列出數據庫文件。
如果你使用一個恢復目錄,那麼你也會產生一個過去一個時間的數據庫模式的歷史報告。
但是,報告一個當前的數據庫模式時,你是不需要一個恢復目錄的。
RMAN>report schema;

如果你有一個恢復目錄:
RMAN>REPORT SCHEMA AT TIME ‘SYSDATE -14’;
RMAN>REPORT SCHEMA SCN 1000;
RMAN>REPORT AT SEQUENCE 100 THREAD 1;






****************************************************************************

本文爲個人學習ORACLE用戶手冊整理而成,如有錯誤,實屬個人學習能力有限,請指正。

****************************************************************************

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章