CATALOG用法

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命令就用來重新設置恢復目錄。

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