《Oracle中Catalog和nocatalog的區別》要點:
本文介紹了Oracle中Catalog和nocatalog的區別,希望對您有用。如果有疑問,可以聯系我們。
nocatalog方式:用control file作為catalog,每一次備份都要往控制文件里面寫好多備份信息,控制文件里面會有越來越多的備份信息,即RMAN的備份信息寫在本地控制文件里面.
catalog方式:必須要首先要創建目錄備份數據庫(catalog,也稱知識庫),建立恢復目錄,即數據庫的備份信息寫到恢復目錄里面.
當通過rman nocatalog方式備份Oracle數據庫,Oracle使用controlfile存放RMAN的備份信息.因此,當使用Rman nocatalog方式備份數據庫時,一定要記得備份controlfile.
初始化參數control_file__record_keep_time設置備份信息保存時間,到規定時間就自動清除以前的備份信息:
SQL> alter sysem set control_file_record_keep_time=7 scope=spfile;
注意:
當使用Rman nocatalog恢復時,數據庫至少是處于“mount”狀態的,即一定要先加載控制文件,不然RMAN找不到記錄的備份信息.而Oracle startup mount的前提條件是control必須存在.因此,你必須在恢復datafile之前先恢復controlfile.使用Rman catalog方式時,可以startup nomount然后restore controlfile;但使用Rman nocatalog時,必須先用文件方式恢復controlfile.
下面對比一下Rman nocatalog和Rman catalog的恢復時的步驟,以便建立正確的備份策略(以下的恢復都是在online狀態下的備份):
Rman nocatalog恢復:
1) 建立oracle運行環境(包括init或sp文件)
2) 文件方式恢復controlfile到init文件指定的位置(或者先啟動到NOMOUNT,在RMAN中restore controlfile from autobackup)
3) startup mount
4) Rman,restore datafile,recover datafile
5) alter database open resetlogs
Rman catalog恢復:
1) 建立oracle運行環境(包括init或sp文件)
2) Rman ,restore controfile
3) alter database mount
4) Rman, restore datafile,recover datafile
5) alter database open resetlogs
可以看出,Rman nocatalog備份時,必須用文件方式備份controlfile.
另外,由于nocatalog時利用controlfile存放備份信息,建議將Oracle參數文件中的CONTROL_FILE_RECORD_KEEP_TIME值加大(缺省為7天), 該參數在$ORACLE_HOME/dbs/initSID.ora中(9i后也可能在spfile中,只能通過Oracle語句更改).
恢復目錄(即catalog方式)支持如下的命令
{CREATE|UPGRADE|DROP} CATALOG
{CREATE|DELETE|REPLACE|PRINT} SCRIPT.
LIST INCARNATION
REGISTER DATABASE
REPORT SCHEMA AT TIME
RESET DATABASE
RESYNC CATALOG
1、Resync命令
Resync可以同步數據庫與恢復目錄之間的信息,在實際情況下,rman一般可以自動同步.
在如下情況下需要同步
·數據庫物理結構的改變
·數據文件增加或者是改變大小
·表空間刪除
·回滾段的創建與刪除
·每產生10個歸檔日志
2、Reset 命令
目標數據庫resetlogs 之后,需要重新設置恢復目錄.Reset命令就用來重新設置恢復目錄.
文章出處:http://blog.csdn.net/lenovouser/article/details/5142314
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/4688.html