1.選擇reocvery catalog所在的database
2.建立獨立使用的tablespace(建議)
3.建立獨立的user(建議)
4.授權recovery_catalog_owner角色給step 3所建立的user
5.建立recovery catalog
6.註冊target database到recovery catalog(僅需一次)
7.RMAN常用指令
1.連結到Recovery catalog
[oracle@oracleDB ~]$ sqlplus sys/oracle@192.168.56.1:1521/orcl as sysdba
2:建立獨立的tablespace
SQL> create tablespace rmants datafile 'c:\app\administrator\oradata\orcl\rmants01.dbf' size 100M autoextend on next 10M maxsize 250M;
Tablespace created.
3:建立獨立的user
SQL> create user rmanuser identified by oracle
2 default tablespace rmants
3 quota unlimited on rmants; --或等會授予resource角色或unlimited tablespace權限
User created.
4:授予recovery_catalog_owner角色
SQL> grant recovery_catalog_owner,connect, resource to rmanuser; --一定要被授與recovery_catalog_owner才能建立RC
5:使用rman建立recovery catalog
[oracle@oracleDB ~]$ rman catalog rmanuser/oracle@uuuoracle:1521/orcl
connected to recovery catalog database
RMAN> create catalog; --catalog的table將建立在rmanuser的default tablespace(rmants)上
6:註冊target database,使用target指定target database
[oracle@oracleDB ~]$ export ORACLE_SID=orcl --如果target在rman client的本地端
[oracle@oracleDB ~]$ rman target / catalog rmanuser/oracle@uuuoracle:1521/orcl
RMAN> register database; --僅需要進行一次,之後除非被unregister database,不然不需要再次執行.
****************************常用指令介紹
查詢註冊的DB---在Catalog上查詢
SQL> select * from rc_database; --查詢向此RC註冊的target database
RMAN> show all; --相關設定記錄在target database controlfile與RC
RMAN> configure retention policy clear; --回復為預設值
RMAN> drop catalog;(需要重複兩次指令)
RMAN> upgrade catalog;(需要重複兩次指令)
RMAN> report schema; --顯示目前資料庫的實體結構
RMAN> list backup of database; --連線到RC後,所顯示的metadata來源為RC,
--此時同一個Backupset的BS Key將會與單獨連線到target database有所不同.因為RC裡的backupset key為bs.bs_key為自己的primary key值
--而來自於target database的backupset key記錄在bs.bs_recid
備份db Data
RMAN> backup database
備份tablespace
RMAN> backup tablespace users;
RMAN> backup archivelog all delete all input; --當備份完成後,將與所讀取的來源檔案內容相同的檔案一起刪除
查看註冊的db清單
RMAN> list db_unique_name all;
列出備份清單
RMAN> list backup of database;
列出所有的備份集
RMAN> list backupset
刪除主機註冊資訊
RMAN> UNREGISTER DATABASE;
刪除備份資訊
RMAN> delete backup;
顯示資料結構-備份的檔案
RMAN> report schema;
查看那一些tablespace是不能復原
RMAN>report unrecoverable
--管理RMAN所產生的備份
RMAN> report obsolete; --依照目前的retention policy決定那些備份已經過時,可以被刪除
備份Archivelog
RMAN> backup archivelog all;
**啟動controlfile自動備份
RMAN> configure controlfile autobackup on; --不管此次備份是否有備份到datafile 1或include current controfile.在備份完成後,將額外備份controlfile與spfile一次
--人工配置channel,將overwrite自動channel的設定
RMAN> run {
2> allocate channel c1 device type disk; --自行指定channel個數與型態(disk/tape)
-- allocate channel c2 device type disk;這樣就有2個channel可以同時進行操作
3> backup spfile;}
RMAN> run {
allocate channel c1 device type disk;
set limit channel c1 rate 500K; --限制此channel一秒鐘只讀500K
set limit channel c1 maxpiecesize 50M;
backup duration 00:01 tablespace users; --duration 時:分 {minimize time(預設值,盡快完成)|minimze load(盡量用完期限)}
--partial必須搭配duration,用來跳過無法在期限內完成的工作,但不會出現錯誤,讓整個job中斷
backup tablespace users;}
RMAN> drop catalog;
recovery catalog owner is RMANUSER
enter DROP CATALOG command again to confirm catalog removal --為避免意外刪除RC,此指令需要覆誦一次
查看非預設值的設定
[oracle@oracleDB ~]$ sqlplus / as sysdba
SQL> select * from v$rman_configuration; --V$開頭的view,必須連到target database才能看到.而且只能看到非預設值的相關設定