RMAN catalog 的创建和使用

RMAN备份与恢复

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

-- 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 备份与恢复

三、更多参考

有关基于用户管理的备份和备份恢复的概念请参考:

Oracle 冷备份

Oracle 热备份

Oracle 备份恢复概念

Oracle 实例恢复

Oracle 基于用户管理恢复的处理(详细描述了介质恢复及其处理)

有关RMAN的恢复与管理请参考:

RMAN 概述及其体系结构

RMAN 配置、监控与管理

RMAN 备份详解

RMAN 还原与恢复

有关Oracle体系结构请参考:

Oracle 实例和Oracle数据库(Oracle体系结构)

Oracle 表空间与数据文件

Oracle 密码文件

Oracle 参数文件

Oracle 数据库实例启动关闭过程

Oracle 联机重做日志文件(ONLINE LOG FILE)

Oracle 控制文件(CONTROLFILE)

Oracle 归档日志

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值