2013/12/23

Published 12月 23, 2013 by

建立Recovery Catalog的步驟&RMAN指令

建立Recovery Catalog的步驟(11gAW2_Chapter3,4)
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才能看到.而且只能看到非預設值的相關設定