設置恢復目錄:
1. 創建一個數據庫catdb作爲恢復目錄的數據庫。一個恢復目錄可服務於多個數據庫,所以您可以選擇創建一個恢復目錄數據庫可以服務於要進行備份的所有數據庫。
2. 在恢復目錄數據庫中,創建一個將擁有恢復目錄數據的用戶。例如,假定catdb 是目錄數據庫的名稱,rcat_ts 是您所創建的表空間的名稱,該表空間用於存儲目錄數據。
$ sqlplus sys/password@catdb as sysdba
SQL> CREATE TABLESPACE rcat_ts datafile '...' size 5M;
SQL> CREATE USER rman IDENTIFIED BY cat TEMPORARY TABLESPACE temp DEFAULT TABLESPACE rcat_ts QUOTA UNLIMITED ON rcat_ts;
3. 將RECOVERY_CATALOG_OWNER 角色授予目錄所有者。該角色將爲用戶提供維護和查詢恢復目錄所需的所有權限。
GRANT connect,resource,RECOVERY_CATALOG_OWNER TO rman;
4. 啓動RMAN,並以目錄所有者身份登錄。
$ rman catalog rman/cat@catdb
RMAN> CREATE CATALOG TABLESPACE rcat_ts;
5. 使用RMAN 連接到目標數據庫,並在新創建的恢復目錄中註冊該目標數據庫。
$ rman target sys/oracle@orcl catalog rman/cat@catdb
RMAN> register database;
RMAN> resync catalog;
注意:Oracle 10g中,連接到恢復目錄通過一條簡單的命令RMAN>unregister database orcl; 就可以將恢復目錄中已註冊的數據庫註銷。該命令不會刪除該數據庫的備份文件,而只是刪除這些備份文件的恢復目錄引用。
數據庫的遷移和升級問題
升級數據庫時,必須同時升級恢復目錄,因爲數據庫版本, RMAN 版本和恢復目錄版本之間存在嚴格的格則。
連接到恢復目錄用戶數據庫,然後查詢rcver表,就可以看到恢復目錄的版本:
SQL> conn rman/cat@catdb;
SQL> select version from rcver;
VERSION
------------
11.02.00.01
只要恢復目錄的版本不低於數據庫的版本,就能夠執行各種操作。 因此,如果在同一個恢復目錄中存儲多個數據庫,只要升級這個恢復目錄中的一個數據庫。
升級恢復目錄很簡單,只需要在RMAN 裏執行upgrade catalog命令即可。 RMAN 會提示用戶再次輸入upgrade catalog命令,隨後將升級恢復目錄。
$ rman target /@orcl catalog rman/cat@catdb;
RMAN> upgrade catalog;
恢復目錄所有者是RMAN
再輸入一次 UPGRADE CATALOG 命令來確認目錄升級
RMAN> upgrade catalog;
恢復目錄已升級到版本11.02.00.01
DBMS_RCVMAN 程序包升級爲 11.02.00.01 版
DBMS_RCVCAT 程序包升級爲 11.02.00.01 版