一.Nocatalog
Nocatalog方式 就是用control file作爲catalog,每一次備份都要往控制文件裏面寫好多備份信息,控制文件裏面會有越來越多的備份信息。因此,當使用rman nocatalog方式備份時,備份controlfile是非常重要的。
由於nocatalog時利用controlfile存放備份信息,建議將Oracle參數文件中的CONTROL_FILE_RECORD_KEEP_TIME值加大(缺省爲7天), 參數在$ORACLE_HOME/dbs/initSID.ora中,該參數control_file__record_keep_time設置備份信息保存時間,到規定時間就自動清除以前的備份信息。
SQL> show parameter control
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string D:/APP/ADMINISTRATOR/ORADATA/O
control_management_pack_access string DIAGNOSTIC+TUNING
SQL> alter system set control_file_record_keep_time=14 scope=both;
系統已更改。
SQL> select name,value,issys_modifiable from v$parameter where name='control_file_record_keep_time';
NAME VALUE ISSYS_MOD
--------------- ---------- ---------
control_file_re 14 IMMEDIATE
二.Catalog
Catalog 則必須要首先要創建目錄備份數據庫,建立恢復目錄。示例如下:
1.創建Catalog所需要的表空間
SQL>create tablespace rman_ts datafile '/u01/oracle/oradata/ora10g/rmants.dbf' size 20M;
2.創建RMAN用戶並授權
SQL>create user rman identified by rman default tablespace rman_ts quota unlimited on rman_ts;
SQL>grant recovery_catalog_owner to rman;(grant connect to rman)
查看角色所擁有的權限: select * from dba_sys_privs where grantee='RECOVERY_CATALOG_OWNER';
(RECOVER_CATALOG_OWNER,CONNECT,RESOURCE)
3.創建恢復目錄
oracle>rman catalog rman/rman
RMAN>create catalog tablespace rman_ts;
RMAN>exit;
oracle>rman target / catalog rman/rman; (重新登錄到rman ,第一斜槓表示target數據庫,catalog表示catalog目錄 rman/rman表示catalog用戶名和密碼)
RMAN>register database; ( 註冊數據庫到rman 的catalog目錄,database是target database)
database registered in recovery catalog
starting full resync of recovery catalog
full resync complete
以後要使用備份和恢復,需要連接到兩個數據庫中,命令:
oracle>rman target / catalog rman/rman (第一斜槓表示target數據庫,catalog表示catalog目錄 rman/rman表示catalog用戶名和密碼)
命令執行後顯示:
Recovery Manager: Release 10.2.0.1.0 - Production on Wed Dec 10 15:00:42 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: ORA10G (DBID=3988862108)
connected to recovery catalog database
命令解釋:
Report schema Report shema是指在數據庫中需找schema
List backup 從control讀取信息
Crosscheck backup 看一下backup的文件,檢查controlfile中的目錄或文件是否真正在磁盤上
Delete backupset 24 24代表backupset 的編號, 既delete目錄,也delete你的文件
RMAN 備份與恢復 實例
http://blog.csdn.net/tianlesoftware/archive/2009/10/20/4699320.aspx
Oracle Rman 命令詳解(List report backup configure)
http://blog.csdn.net/tianlesoftware/archive/2009/12/13/4976998.aspx
注意,當使用rman nocatalog恢復時,數據庫必須是處於“mount”狀態的。而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文件指定的位置
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。
注:整理自網絡
------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
網上資源: http://tianlesoftware.download.csdn.net
相關視頻:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
DBA1 羣:62697716(滿); DBA2 羣:62697977