天天看點

RMAN catalog 的建立和使用

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

-- RMAN catalog 的建立和使用

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

一、建立恢複目錄

建立恢複目錄一般分為三大步驟

建立存放恢複目錄的資料庫(或使用已存在的資料庫)

建立恢複目錄的的所有者

建立恢複目錄

建立資料庫可以參考:Oralce 10g 使用DBCA建立資料庫

在存儲恢複目錄的資料庫建立表空間用于存儲恢複目錄schema及恢複目錄資料(本文使用已經建立好的資料庫catadb來存儲恢複目錄)

SQL> create tablespace tbs_rman datafile '/u01/app/oracle/oradata/catadb/tbs_rman01.dbf'--建立rman恢複目錄表空間

2 size 200m autoextend on;

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

2 temporary tablespace temp

3 default tablespace tbs_rman

4 quota 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

[oracle@oradb ~]$ rman target sys/redhat@orcl catalog rman/rman@catadb --連接配接到目标資料庫及恢複目錄

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 Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time

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

1 8 ORCL 1260850162 PARENT 1 30-JUN-05

1 2 ORCL 1260850162 CURRENT 446075 22-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 succeeded for archived log

archive log filename=/u01/app/oracle/oradata/orcl/arch/log_1_117_733069427.arc recid=111 stamp=733171369

Crosschecked 1 objects

RMAN> sql 'alter system switch logfile';

sql statement: alter system switch logfile

RMAN> sql 'alter system switch logfile';

sql statement: alter system switch logfile

RMAN> list archivelog all;

List of Archived Log Copies

Key Thrd Seq S Low Time Name

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

465 1 117 A 22-OCT-10 /u01/app/oracle/oradata/orcl/arch/log_1_117_733069427.arc

553 1 118 A 23-OCT-10 /u01/app/oracle/oradata/orcl/arch/log_1_118_733069427.arc

569 1 119 A 23-OCT-10 /u01/app/oracle/oradata/orcl/arch/log_1_119_733069427.arc

9.基于SCN來備份歸檔日志

RMAN> run{

2> allocate channel ch1 device type disk;

3> backup as compressed backupset

4> archivelog from scn 848043

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

6> tag='arc';

7> release channel ch1;

8> }

10.鏡像備份

RMAN> run{

2> allocate channel ch1 device type disk;

3> backup as copy datafile 1,4

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

5> tag 'copybak';

6> release channel ch1;}

11.其它

RMAN> crosscheck backupset;

RMAN> change backupset 1

RMAN> validate backupset

RMAN> validate backupset 635;

12.基于catalog的資料庫恢複請參考:基于catalog 的RMAN 備份與恢複