catalog恢復目錄介紹和配置

2.一、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';sql


2.二、catalog介紹
catalog恢復目錄存儲的是與rman 備份有關的元數據。在某種意義上,恢復目錄能夠看作是保存rman備份和恢復所需的相關信息的副本。
咱們能夠在oracle 數據庫中在用戶模式下建立恢復目錄,這個恢復目錄僅僅是一些數據包,表,索引和視圖。
rman中的再同步命令會使得目標數據庫控制文件中的內容刷新這些表中的數據。固然,區別在於恢復目錄能夠包含企業中全部數據庫的信息,而控制文件只包含關於它本身的數據庫的信息。
2.三、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讀取信息
0七、在恢復目錄中添加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 .
0八、升級的問題
upgrade catalog
0九、關於數據庫對應物
在打開數據庫時,若是使用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 行。
十、手工同步恢復目錄
十、手工再同步恢復目錄(resync catalog)
RMAN使用恢復目錄時,它會使用在同步進程來確保恢復目錄和目標數據庫的控制文件一致。一般,Oracle在RMAN操做(備份和恢復)後會再同步數據庫,這樣就沒必要常常再同步恢復目錄。須要再同步恢復目錄的一個實例是有時使用恢復目錄,有時不使用恢復目錄,此時,可使用resync catalog命令手工使Oracle 再同步恢復目錄。
Rman>resync catalog;
Oracle 同步恢復目錄時,它首先會建立一個快照控制文件,並比較這個文件和恢復目錄。 完成比較後,Oracle更新恢復目錄,是恢復目錄與數據庫控制文件同步。
十一、恢復目錄的備份
RMAN
exp/export
十二、取消數據庫的註冊 10
unregister database
unregister database itpuxdb
1三、恢復目錄的刪除
drop catalog;數據庫

相關文章
相關標籤/搜索