RMAN catalog 的创建和使用(一)

2014-11-24 17:47:36 · 作者: · 浏览: 2

--==========================


-- RMAN catalog 的创建和使用


--==========================



一、创建恢复目录


创建恢复目录一般分为三大步骤


创建存放恢复目录的数据库(或使用已存在的数据库)


创建恢复目录的的所有者


创建恢复目录




在存储恢复目录的数据库创建表空间用于存储恢复目录schema及恢复目录数据(本文使用已经创建好的数据库catadb来存储恢复目录)



2size 200m autoextend on;



SQL> create user rman identified by rman--创建rman schema


2temporary tablespace temp


3default tablespace tbs_rman


4quota unlimited on tbs_rman;



SQL> grant recovery_catalog_owner to rman;--角色授予



SQL> conn rman/rman



SQL> select * from session_privs;



PRIVILEGE


----------------------------------------


CREATE SESSION


ALTER SESSION


CREATE TABLE


CREATE CLUSTER


CREATE SYNONYM


CREATE VIEW


CREATE SEQUENCE


CREATE DATABASE LINK


CREATE PROCEDURE


CREATE TRIGGER


CREATE TYPE


SQL> select * from session_roles;



ROLE


------------------------------


RECOVERY_CATALOG_OWNER



RMAN> connect catalog rman/rman@catadb--连接到恢复目录



connected to recovery catalog database



RMAN> create catalog tablespace tbs_rman;--创建恢复目录



recovery catalog created




connected to target database: ORCL (DBID=1260850162)


connected to recovery catalog database



RMAN> register database;--将目标数据库注册到恢复目录



database registered in recovery catalog


starting full resync of recovery catalog


full resync complete



二、基于恢复目录的备份



1.查看相关信息


RMAN> list incarnation;



List of Database Incarnations


DB KeyInc Key DB NameDB IDSTATUSReset SCNReset Time


------- ------- -------- ---------------- --- ---------- ----------


18ORCL1260850162PARENT130-JUN-05


12ORCL1260850162CURRENT 44607522-OCT-10



----------------------------------------------------------------------------------------------------



RMAN> crosscheck copy;--校验copy


RMAN> delete expired copy;--删除过期的copy



2.全备


RMAN> run{


2> allocate channel ch1 device type disk;


3>backup as compressed backupset


4> database plus archivelog delete input


5> format='/u01/app/oracle/bk/rmbk/Whole_%d_%U'


6>tag='Whole_bak';


7> release channel ch1;}



3.增量备份(0)


RMAN> run{


2> allocate channel ch1 device type disk;


3> allocate channel ch2 device type disk;


4> backup as compressed backupset


5> incremental level 0


6> database plus archivelog delete input


7> format='/u01/app/oracle/bk/rmbk/Inc_0_%d_%U'


8> tag='Inc_0';


9> release channel ch1;


10> release channel ch2;}



RMAN> list backup summary;



4.增量备份(1)


RMAN> run{


2> allocate channel ch1 device type disk;


3> allocate channel ch2 device type disk;


4> backup as compressed backupset


5> incremental level 1 database


6> format='/u01/app/oracle/bk/rmbk/Inc_1_%d_%U'


7> tag='Inc_1';


8> release channel ch1;


9> release channel ch2;}



RMAN> list backup by file;



5.累计增量备份(1)


RMAN> run{


2> allocate channel ch1 device type disk;


3> backup as compressed backupset


4> incremental level 1 cumulative database


5> format '/u01/app/oracle/bk/rmbk/Cum_1_%d_%U'


6> tag='Cum_1';


7> release channel ch1;}



6.备份表空间


RMAN> run{


2> allocate channel ch1 device type disk;


3> backup as compressed backupset


4> tablespace users,example


5> format='/u01/app/oracle/bk/rmbk/tbs_%d_%U'


6> tag='tbs';



RMAN> list backupset tag=tbs;



7.备份数据文件


RMAN> run{


2> allocate channel ch1 device type disk;


3> backup as compressed backupset


4> datafile 3


5> format='/u01/app/oracle/bk/rmbk/df_%d_%U'


6> tag='df';


7> release channel ch1;}



8.备份归档日志


备份归档日志前,建议先使用crosscheck校验一下


crosscheck通常用于检查备份是否被删除,如果删除将会打上删除标签


RMAN> crosscheck archivelog all;



allocated channel: ORA_DISK_1


channel ORA_DISK_1: sid=148 devtype=DISK


validation succe