rman备份之基本概念
Recovery Manager(RMAN)是一种用于备份(backup)、还原(restore)和恢复(recover) 数据库的Oracle 工具。
登录RMAN
shell>rman
rman>connect target / # connect 不能简写
rman target /
rman target sys/oracle@up @'/backup/rman_scrp.rcv' log /backup/rman_bk.log append
注意:rman对数据库的shutdown/startup操作都能传输给sqlplus
但sqlplus下的shutdown/startup的操作不通知rman,因此有时rman需重新登录才能操作
rman备份类型
镜像复制(Image Copies)。镜像复制实际上就是创建数据文件、控制文件或归档文件的备份文件,与用户通过操作系统命令创建的备份一样。只不过rman是利用目标数据库中的服务进程来完成文件复制,而用户则是用操作系统命令。
备份集(Backup Sets)。备份集是rman创建的具有特定格式的逻辑备份对象,备份集在逻辑上由一个或多个备份片(Backup Piece)组成,每个备份片在物理上对于一个备份的操作系统文件,一个备份片可能包含多个数据文件、控制文件或归档文件。
其中在进行控制文件备份以后,会出现一个独立备份集 。控制文件和数据文件不能放在同一个备份集里,因为数据文件所在的备份集以Oracle 数据块为最小单位,而控制文件所在备份集是以操作系统块作为最小单位。 同样的,归档日志文件所在的备份集也是以操作系统块为最小单位,所以归档日志文件备份集和数据文件备份集不能在同一个备份集里面。
目标数据库(Target Database)
就是需要RMAN对其进行备份与恢复的数据库,RMAN可以备份数据文件,控制文件,归档日志,spfile.(注意:RMAN不能用于备份联机日志、文本参数文件和口令文件及监听文件)
恢复目录(recovery catalog)
用来保存备份与恢复信息的一个数据库。默认这些信息是放在目标数据库的控制文件中。
备份设备:
sbt(磁带)
disk(磁盘),包含光盘、软盘、u盘等
通道:
rman通道实质上是一个到存储设备的数据流
# 通道都是基于设备的
rman 中执行的每一条backup、recover等命令都至少需要使用一个通道,通道数决定了这些操作执行的并行度。
手工分配通道
allocate channel,该命令可以(并且只能)在run块中出现
run {
allocate channel c1 device type disk format 'xxxxxx';
....
release channel c1; # rman在run块中任务执行完自动释放该块中所用的通道
}
自动分配通道
如果没有通过allocate channel命令手动分配通道,那么rman在执行backup等操作i/o的命令时将会使用预定义配置中的设置来自动分配通道
configure device type disk parallelism 10; # 指定设备及并行度
configure default device type disk to sbt/disk;
configure channel device type sbt/disk format 'xxxx';
configure channel 10 device type disk format '/tmp/%u.dbf'; # 并行度10
Rman的format格式中的%
%c 备份片的拷贝数
%d 数据库名称
%D 位于该月中的第几天 (DD)
%M 位于该年中的第几月 (MM)
%F 一个基于DBID唯一的名称,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII为该数据库的DBID,YYYYMMDD为
日期,QQ是一个1-256的序列
%n 数据库名称,向右填补到最大八个字符
%u 一个八个字符的名称代表备份集与创建时间
%p 该备份集中的备份片号,从1开始到创建的文件数
%U 一个唯一的文件名,代表%u_%p_%c
%s 备份集的号
%t 备份集时间戳
%T 年月日格式(YYYYMMDD)
复合备份:
在生成备份集的同时,向指定位置生成指定份数(最大不超过4份)的备份集复制文件。
a. backup copies 3 database;
b. run {
set backup copies 2;
backup device type disk format 'xxxx' tablespace users,example;
}
c. configure DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 2;
configure ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 2
RMAN-20039: format requires %c when duplexing
在并行模式下,建议总是使用%F
设置备份集属性:
a. 设置备份片段文件名
b. 设置备份集标签
默认 TAGyyyymmddThhmmss,TAG和T为固定字符,yyyymmddhhmmss对应执行备份操作的时间
backup tablespace users tag 'tbs_users xxxx'; # 不超过30个字符
设置备份片/备份集大小:
RMAN> run {
2> allocate channel c1 device type disk maxpiecesize=10m format '/tmp/sys_%U.dbf';
3> backup tablespace system;
4> }
backup database maxsetsize=100m; # 不能小于备份的数据文件
当一个数据库很大,有很多数据文件时,为了防止备份过程时出现异常问题导致备份失败,可用如下方法预防:
backup database format '/backup/%d_%t.bkp' filesperset=3;设置一个备份集备3个文件
backup database not backed up format '';查看哪些文件没有备份成功
备份优化:
指在备份过程中,如果满足待定条件,rman将自动跳过某些文件,而不会将它们包含在备份集中,已节省时间和空间。
启用备份优化的条件:
a. configure backup optimization on;
b. 执行的backup database 或 backup archivelog 命令中带有all或like参数
c. 分配的通道仅使用了一种设备类型
理论上备份优化仅对只读表空间或offline表空间起作用
控制文件自动备份:
configure controlfile autobackup on/off; # 带自动备份后,数据库的物理结构发生变化时都会自动
configure controlfile autobackup format for device type disk to 'xxxx';
在备份期间,将产生一个控制文件的快照,用于控制文件的读一致性
configure snapshot controlfile name to 'xxxx';
设置参数为默认值:
configure datafile backup copies for device type disk clear;
归档日志删除策略:
configure archivelog deletion policy to applied on standby;
会话级别设置(set)
常在run块中运行的set命令
a. set newname for datafile 4 to 'xxxx';
b. set until time to_timestamp(xxxxxxx);
c. set archivelog destination to 'xxxx';
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/203348/viewspace-1338883/,如需转载,请注明出处,否则将追究法律责任。