catalog恢復目錄介紹和配置

2.1、nocatalog介紹
nocatalog方式 就是用control file作爲catalog,每一次備份都要往控制文件裏面寫好多備份信息,控制文件裏面會有越來越多的備份信息。因此,當使用rman nocatalog方式備份時,備份controlfile是非常重要的。
由於nocatalog時利用controlfile存放備份信息,建議將oracle參數文件中的control_file_record_keep_time值加大(缺省爲7天), 參數在$oracle_home/dbs/initsid.ora中,該參數control_file__record_keep_time設置備份信息保存時間,到規定時間就自動清除以前的備份信息。
sql> show parameter control
sql> select name,value,issys_modifiable from v$parameter where name='control_file_record_keep_time';


2.2、catalog介紹
catalog恢復目錄存儲的是與rman 備份有關的元數據。在某種意義上,恢復目錄可以看做是保存rman備份和恢復所需的相關信息的副本。
我們可以在oracle 數據庫中在用戶模式下創建恢復目錄,這個恢復目錄僅僅是一些數據包,表,索引和視圖。
rman中的再同步命令會使得目標數據庫控制文件中的內容刷新這些表中的數據。當然,區別在於恢復目錄可以包含企業中所有數據庫的信息,而控制文件只包含關於它自己的數據庫的信息。
2.3、catalog恢復目錄的配置過程
詳見演示
01.創建catalog所需要的表空間
sql>create tablespace tbs_rman datafile '/oradata/ocm/tbs_rman01.dbf' size 20m;

02.創建rman用戶並授權
sql>create user rman identified by rman default tablespace tbs_rman quota unlimited on tbs_rman;
sql>grant connect,resource,recovery_catalog_owner to rman;
03.創建恢復目錄
oracle>rman catalog rman/rman
rman>create catalog tablespace tbs_rman;
04.配置目標數據庫的tnsnames.ora
rman =
(description =
(address_list =
(address = (protocol = tcp)(host = 10.53.110.181)(port = 1521))
)
(connect_data =
(sid = ocm)
)
)
05.註冊目標數據庫
$rman target / catalog rman/rman@itpuxdb
rman>register database;
06.檢查catalog恢復目錄
顯示目標數據庫註冊信息
rman> report schema ;

顯示備份信息
rman>list backup;
命令解釋:
report schema report shema是指在數據庫中需找schema
list backup 從control讀取信息
07、在恢復目錄中添加rman 備份
如果已經在沒有恢復目錄的情況下執行了rman備份,並且希望在後面將這些備份添加到恢復目錄,則可以使用catalog命令。可以將數據文件副本,備份集片,歸檔日誌備份,甚至整個備份目錄添加到目錄中。 示例如下:
rman>catalog datafilecopy '/ggs/arch_log/system01.dbf';
rman>catalog archivelog '/ggs/arch_log/arch_20.arc';
rman>catalog backuppiece '/ggs/arch_log/backup_031.bkp';
rman>catalog start with '/ggs/arch_log/';
rman>catalog recovery area;
注意: 要謹慎使用catalog start with 命令,必須在目錄路徑結尾加上反斜槓後綴,如果不加將遍歷目錄下的所有組合. 如:/oradata/ocm/ocm-old .
08、升級的問題
upgrade catalog
09、關於數據庫對應物
在打開數據庫時,如果使用resetlogs參數,就會創建一個新對應物。 如果這個操作是在RMAN 中進行,則會正確的更新恢復目錄,但是,如果手工執行resetlogs命令(比如:sqlplus),就必須在恢復目錄中重置數據庫對應物。
Rman>reset database to incarnation 5;

恢復目錄記錄的刪除
只有很少的記錄會從恢復目錄中被刪除,如果不加以維護,狀態爲deleted的就備份會一直駐留在恢復目錄中。爲了解決這個問題,Oracle提供了$ORACLE_HOME/rdbms/admin/prgmanc.sql 腳本來刪除恢復目錄中狀態爲deleted的所有記錄。 建議定期執行這個腳本,以控制文件恢復目錄的大小。
如果要從恢復目錄中刪除舊的對應物記錄,就必須從DBINC表中刪除這些對應物。可以使用RC_DATABASE_INCARNATION 視圖來確定要刪除的對應物,記錄想刪除的每個對應物的DBINC_KEY值。然後在sqlplus中執行delete 命令,如:
SQL> select * from rc_database_incarnation;
SQL> delete from dbinc where dbinc_key=4;
已刪除 1 行。
10、手工同步恢復目錄
10、手工再同步恢復目錄(resync catalog)
RMAN使用恢復目錄時,它會使用在同步進程來確保恢復目錄和目標數據庫的控制文件一致。通常,Oracle在RMAN操作(備份和恢復)後會再同步數據庫,這樣就不必經常再同步恢復目錄。需要再同步恢復目錄的一個實例是有時使用恢復目錄,有時不使用恢復目錄,此時,可以使用resync catalog命令手工使Oracle 再同步恢復目錄。
Rman>resync catalog;
Oracle 同步恢復目錄時,它首先會創建一個快照控制文件,並比較這個文件和恢復目錄。 完成比較後,Oracle更新恢復目錄,是恢復目錄與數據庫控制文件同步。
11、恢復目錄的備份
RMAN
exp/export
12、取消數據庫的註冊 10
unregister database
unregister database itpuxdb
13、恢復目錄的刪除
drop catalog;

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