恢復目錄資料庫(Recovery Catalog)作用及演示例項

gholay發表於2014-02-02
當沒有恢復目錄時,RMAN相關的備份資訊,比如歸檔檔案路徑、備份集路徑等均儲存在目標資料庫的控制檔案中,不過考慮到控制檔案並不能無限增長,而且控制檔案也不僅僅是用來儲存與備份相關的資訊,因此RMAN也有一個專門的備份資訊儲存地,這就是恢復目錄了。當待備份的資料庫註冊到恢復目錄之後,RMAN相關的資訊除了儲存在控制檔案中外(控制檔案實際上只儲存一部分),更加詳細的資訊就都被儲存在恢復目錄中。


(1)建立一個獨立的表空間:

    SQL>CREATE TABLESPACE RMANTBS DATAFILE 'f:\oracle\oradata\bakdb\rmantbs01.dbf'  size 50m;

    Tablespace created.

  注意千萬不要將恢復目錄建立在要備份的目錄資料庫。

  由於恢復目錄通常不會太大,這裡資料檔案僅分配了50MB的空間。

  (2)建立一個獨立的 SCHEMA ,用來記錄備份資訊,並授予相關許可權:

    SQL>GRANT CONNECT,RESOURCE,RECOVERY_CATALOG_OWNER TO RMANCT IDENTIFIED BY RMANCT;

    Grant succeeded.

  (3)通過RMAN連線到新建立的恢復目錄中:

    F:\oracle>RMAN CATALOG RMANCT/RMANCT

    Recovery Manager: Release 10.2.0.1.0 - Production on Fri Apr 24 11:11:06 2009

    Copyright (c) 1982, 2007, Oracle.  All rights reserved.

    connected to recovery catalog database

  (4)在RMAN中建立 CATALOG :

    RMAN>CREATE CATALOG TABLESPACE RMANTBS;

    recovery catalog created

  這樣恢復目錄就算建立完了,一個恢復目錄資料庫可以同時為多個目標資料庫提供服務,不過要使用恢復目錄執行備份操作前,首先需要在恢復目錄中註冊該資料庫,註冊也非常簡單,一條命令即可,步驟如下:

  首先以CATALOG模式連線到目標資料庫和恢復目錄(連線恢復目錄只需要在連線時指定CATALOG引數即可):

    F:\oracle>RMAN TARGET / CATALOG RMANCT/RMANCT@BAKDB

    Recovery Manager: Release 10.2.0.1.0 - Production on Fri Apr 24 11:16:36 2009

    Copyright (c) 1982, 2007, Oracle.  All rights reserved.

    connected to target database: JSSBOOK (DBID=1419729528)

    connected to recovery catalog database

  可以通過如下命令註冊資料庫:

    RMAN> REGISTER DATABASE;

    database registered in recovery catalog

    starting full resync of recovery catalog

    full resync complete

  這之後進行的操作,比如建立備份等操作資訊都會存入恢復目錄中。

  對於註冊到恢復目錄,是否就必須或者只能以CATALOG模式進行備份或恢復操作了呢?當然不是,恢復目錄只是RMAN中的一個可選項,而不是必選項,備份資訊是否記入CATALOG取決於執行RMAN操作時是否連線到了CATALOG,也就是說,即使目標資料庫已經註冊到恢復目錄中,但連線時沒有以CATALOG模式連線,則備份資訊仍然是隻存入目標端資料庫的控制檔案,相當於NOCATALOG模式。

  另外,已經註冊到 CATALOG 中的資料庫希望取消註冊怎麼辦呢?使用U NREGISTER 命令即可:

    RMAN>UNREGISTER DATABASE;

    database name is "JSSBOOK" and DBID is 1419729528

    Do you really want to unregister the database (enter YES or NO)? yes

    database unregistered from the recovery catalog

  如果DBA要管理的Oracle資料庫較多,那麼對於這些資料庫的備份,建議使用恢復目錄統一管理,這樣既方便備份和恢復操作,而且安全性也相對比較高(執行完備份操作後,單獨備份恢復目錄資料庫即可,無須擔心被備份的資料庫控制檔案丟失可能造成的影響)。不過如果DBA僅管理一個或者數個Oracle資料庫,那麼我想NOCATALOG模式操作起來會更加方便。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29196873/viewspace-1076805/,如需轉載,請註明出處,否則將追究法律責任。

相關文章