nocatalog 與catalog的區別

2021-08-31 04:17:59 字數 1435 閱讀 4662

區別:

(1) nocatalog方式就是用control file作為catalog,每一次備份都要往控制檔案裡面寫好多備份資訊,控制檔案裡面會有越來越多的備份資訊,即rman的備份資訊寫在本地控制檔案裡面。

(2)若為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;

注意:

(1)當使用rman nocatalog恢復時,資料庫必須是處於「mount」狀態的,即一定要先載入控制檔案,不然rman找不到記錄的備份資訊。而oracle startup mount的前提條件是control必須存在。因此,你必須在恢復datafile之前先恢復controlfile。

(2)使用rman catalog方式時,可以startup nomount然後restore controlfile;但使用rman nocatalog時,必須先用檔案方式恢復controlfile。

恢復步驟:

下面對比一下rman nocatalog和rman catalog的恢復時的步驟,以便建立正確的備份策略(以下的恢復都是在online狀態下的備份):

rman nocatalog恢復:

1) 建立oracle執行環境(包括init或sp檔案)

2) 檔案方式恢復controlfile到init檔案指定的位置

3) startup mount

4) rman,恢復datafile

5) alter database open resetlogs

rman catalog

1) 建立oracle執行環境(包括init或sp檔案)

2) rman,restore controfile

3) alter database mount

4) rman, restore 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語句更改)。

RMAN中nocatalog與catalog的區別

nocatalog方式 用control file作為catalog,每一次備份都要往控制檔案裡面寫好多備份資訊,控制檔案裡面會有越來越多的備份資訊,即rman的備份資訊寫在本地控制檔案裡面。catalog方式 必須要首先要建立目錄備份資料庫 catalog,也稱知識庫 建立恢復目錄,即資料庫的備份...

SQL與NoSQL MySQL與NoSQL的融合

寫這一篇內容的原因是mysql5.6.2突然推出了memcached的功能。nosql to innodb with memcached的出現,可以看出nosql對關聯式資料庫的確產生了巨大的影響,個人覺得這是乙個非常大的進步,可以讓開發人員更加方便的使用nosql和關聯式資料庫。nosql一般被認...

指標與陣列 a與 a區別

假設宣告了乙個陣列a,則 a表示陣列a的首位址,a與 a 0 表示陣列a首元素的首位址,那麼 a 1與a 1有哪些區別呢?通過下面的實驗來說明。int i 0 int a 5 int p int a 1 for i 0 i 5 i printf a 0x p,a 0x p,a 1 0x p n a,...