RMAN的基本知识及使用技巧

RMAN是 ORACLE提供的一个备份与恢复的工具,可以用来备份和还原数据库文件、 归档日志和控制文件。它也可以用来执行完全或不完全的数据库恢复。


一,RMAN的组件、概念
1,RMAN  主要包括以下组件:
Target Database: (目标数据库)
就是需要 RMAN 对其进行备份与恢复的数据库,RMAN 可以备份数据文件,控制文件,归档日志,spfile。(注意:RMAN不能用于备份联机日志、初始化参数文

件和口令文件)

Server Session:    (服务器会话)
RMAN启动数据库上的 Oracle服务器进程,将建立一个与目标数据库的会话。由目标数据库上的服务器进程进行备份,还原,恢复的实际操作。

 
(Server Process)服务器进程
RMAN 的服务进程是一个后台进程,用于与 RMAN工具与数据库之间的通信,也用于 RMAN 工具与磁盘/磁带等  I/O  设置之间的通信,服务进程负责备份与恢复

的所有工作,在如下情况将产生一个服务进程:
当连接到目标数据库
分配一个新的通道

Channel:    (通道)
一个通道是 RMAN和目标数据库之间的一个连接,"allocate channel"命令在目标数据库启动一个服务器进程,同时必须定义服务器进程执行备份或者恢复操作使

用的 I/O类型。

通道控制命令可以用来:
a,控制 RMAN使用的 O/S资源,影响并行度
b,指定 I/O带宽的限制值(设置 limit read rate 参数)
c,定义备份片大小的限制(设置 limit kbytes)
d,指定当前打开文件的限制值(设置 limit maxopenfiles)

 
recovery catalog: (恢复目录)
用来保存备份与恢复信息的一个数据库,不建议创建在目标数据库上。RMAN 利用恢复目录记载的信息去判断如何执行需要的备份恢复操作。如果不采用恢复目

录,备份信息可以存在于目标数据库的 control file 中。如果存放在目标数据库的  control  file  中,控件文件会不断增长,他不能保存RMAN  的Script。
其中参数CONTROL_FILE_RECORD_KEEP_TIME  (default=7)设置了控件文件中RMAN  信息保存的最短时间。使用恢复目录的优势:可以存储脚本,记载较长时

间的备份恢复操作。

RMAN Repository:    (RMAN恢复目录数据库)
存放 recovery catalog(恢复目录)的数据库。建议为恢复目录数据库创建一个单独的数据库。

MML: (媒体管理库)
Media Management Layer (MML)是第三方工具或软件,用于管理对磁带的读写与文件的 跟踪管理。如果你想直接通过RMAN 备份到磁带上,就必须配置媒体管理

层,媒体管理层的工具如备份软件可以调用 RMAN来进行备份与恢复。

 
二,概念述语
Backup Sets (备份集合)
备份集合的特性:包括一个或多个数据文件或归档日志,以 oracle专有的格式保存,有一个完全的所有的备份片集合构成,构成一个完全备份或增量备份。
Backup Pieces (备份片)
一个备份集由若干个备份片组成。每个备份片是一个单独的输出文件。一个备份片的大小是有限制的;如果没有大小的限制,备份集就只由一个备份片构成。备份

片的大小不能大于使用的文件系统所支持的文件长度的最大值。
Image Copies 镜像备份
镜像备份是独立文件(数据文件、归档日志、控制文件)的备份.它很类似操作系统级的文件备份.它不是备份集或备份片,也没有被压缩。
Full backup Sets 全备份集合
全备份是一个或多个数据文件中使用过的数据块的的备份。没有使用过的数据块是不被备份的,也就是说,oracle进行备份集合的压缩。
Incremental backup sets 增量备份集合
增量备份是指备份一个或多个数据文件的自从上一次同一级别的或更低级别的备份以来被修改过的数据块.与完全备份相同,增量备份也进行压缩。
File multiplexing
多个数据文件可以在一个备份集中。

Recovery catalog resyncing  恢复目录同步
使用恢复管理器执行 backup、copy、restore 或者 switch 命令时,恢复目录自动进行更 新,但是有关日志与归档日志信息没有自动记入恢复目录。需要进行目录

同步。使用 resync catalog命令进行同步。
RMAN> resync catalog;

Incarnation  对应物
在不完全恢复完成之后,通常需要使用resetlogs选项来打开数据库。resetlogs表示一个数据库逻辑生存期的结束和另一个数据库逻辑生存期的开始。数据库的逻辑

生存期也被称为一个对应物(incarnation)。每次使用resetlogs选项来打开数据库后都会创建一个新的数据库对应物。


三,命令行接口
1、单个执行
RMAN> backup database;

2、运行一个命令块
RMAN> RUN {copy datafile 4 to '/u01/backup/prod_4.dbf';}

3、运行存储在恢复目录中的脚本:
RMAN> RUN    { EXECUTE SCRIPT bck_whole_db };


4.  RMAN使用脚本
创建脚本
RMAN> create script bck_db_level0{
2> backup as backupset incremental level=0 format '/u01/backup/%d_%s_%p' database;
3> sql 'alter system archive log current';
4> }

修改RMAN脚本
RMAN> replace script bck_db_level0{
2> backup as backupset incremental level=0 format '/u01/backup/%d_%s_%p' database;
3> sql 'alter system archive log current';
4> }

显示RMAN脚本
RMAN> print script bck_db_level0;
printing stored script: bck_db_level0
 {backup as backupset incremental level=0 format '/u01/backup/%d_%s_%p' database;
sql 'alter system archive log current';
}

删除RMAN脚本
RMAN> delete script bck_db_level0;

执行RMAN脚本
RMAN> run {execute script bck_db_level0;}

 
5.  运行OS命令
RMAN支持通过执行host命令暂时退出 RMAN的命令提示符而进入到操作系统的命令环境。

 
6.  执行SQL语句
在RMAN的命令提示符后输入SQL命令,然后在一对单引号(双引号亦可)中输入要
执行的  SQL  语句,例如:
RMAN> sql 'alter system switch logfile';
对于 SELECT语句,无法得到结果。可以先执行 host再用 SQLPLUS。


四,查看RMAN的默认设置SHOW命令
必须连接目标数据库
RMAN> show all
RMAN> show channel;                      //  通道分配
RMAN> show device type;                 // IO 设备类型
RMAN> show retention policy;            //  保存策略
RMAN> show datafile backup copies;     //  多个备份的拷贝数目
RMAN> show maxsetsize;                //  备份集大小的最大值
RMAN> show exclude;                  //  不必备份的表空间
RMAN> show backup optimization;     //  备份的优化

 

五,配置RMAN的默认设置
1.  配置备份集文件的格式  (format)
RMAN> configure channel device type disk format '/u01/oracle/rmanback/%U';

备份文件可以自定义各种各样的格式,如下
%c  备份片的拷贝数
%d  数据库名称
%D  位于该月中的第几天  (DD)
%M  位于该年中的第几月  (MM)
%F  一个基于  DBID  唯一的名称,这个格式的形式为  c-IIIIIIIIII-YYYYMMDD-SS,

其中 IIIIIIIIII  为该数据库的 DBID,YYYYMMDD  为日期, SS 是一个  1-256  的序列
%n  数据库名称,向右填补到最大八个字符
%u  一个八个字符的名称代表备份集与创建时间
%p  该备份集中的备份片号,从1开始到创建的文件数
%U  一个唯一的文件名,代表%u_%p_%c
%s  备份集的号
%t  备份集时间戳
%T  年月日格式(YYYYMMDD)

 

Redundancy可以理解为是物理上的策略,这个好理解,设置成几就有几份备份
Recovery Window可以理解为是逻辑上的策略,设置成7天,就保证为了恢复到7天的任意一个时间点需要的备份都在
具体的效果还得看你的具体备份策略,比如你一天备一次,那么Redundancy=7也正好能恢复到7天内的时间点了

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值