RMAN备份databse、tablespaces、datafiles、control files、archive logs,经常的工作做成脚本,可执行块级别block-level增量备份,跳过unused blocks,指定备份limits(数据库边工作边备份),备份时检测损坏的block,通过自动并发parallelization、减少redo、限制I/O、tape streaming磁带流来增加备份性能
RMAN体系结构
target database目标数据库,要备份的数据库,RMAN通过网络链接连上去
备份信息、脚本存储在目标数据库控制文件里或recovery catalog目录数据库
channel通道就是一个链接,RMAN连上去进行备份,可以分配任意个链接,会有server process和RMAN连接
有的server process读数据写到disk,有的写到tape
还有2个 polling链接 备用 default链接 缺省 和目录数据库有rcvcat链接
RMAN也能集成在OEM上
rman target sys/oracle@orcl nocatalog
orcl在tnsnames.ora中设置,缺省在$ORACLE_HOME/network/admin
nocatalog不使用目录数据库
RMAN repository仓库有2个,一个是目标数据库,一个是目录数据库。元数据会始终记录在目标数据库control file
control_file_record_keep_time决定记录被覆盖前在控制文件最小保存天数,如果没到时间,有新数据要用,控制文件会grow in size
SBT:System Back to Tape往磁带上进行系统备份,把数据写到磁带上
channel分两种:自动分配、手动分配
自动分配channel使用configure进行配置
连上查看配置信息,从连接数据库control file读取
修改缺省设备类型为tape
清除变成缺省值
RMAN>configure default device type to sbt;配置缺省设备类型,自动分配通道,隐式的看不到
RMAN>configure device type disk parallelism 3; 指定并发度3参数
RMAN>configure channel device type disk 指定目录,格式
2>format = ‘/backup/rman/%u’;
RMAN>configure channel device type disk
2>maxpiecesize 2G;
RMAN>configure retention policy to recovery 指定恢复窗口
2>window of 7 days;
RMAN>configure retention policy to redundancy 2 冗余为2
RMAN>configure controlfile autobackup on;
手动分配channel, backup、copy、restore命令至少需要一个channel,RMAN连上来server process与之对应,相当于dedicated server模式,能指定并发度,写到不同media介质上,设置读写速度,避免对系统造成冲击
RMAN>run {
2>allocate channel c1 type disk 分配c1 channel进行备份
3> format = ‘/db01/backup/user0520.bak’;
4>backup datafile ‘/db01/ORADATA/users01.dbf’;} 备份指令
RMAN>run {
backup
incremental level 0
format ‘/u01/db01/backup/%d_%s_%p’
fileperset 5
(database include current controlfile);
sql ‘alter database archive log current’;
}
介质管理 磁带库、光盘塔等存储设备要支持RMAN,配置好*.iso/*.dio动态库,RMAN、oracle就能操纵存储设备了
RMAN connection类型
target db
recovery catalog db 备份很多数据库,易于维护
auxiliary辅助 db:standby db、duplicate复制 db、TSPITR instance(TableSpace Point In Time
Recovery表空间时间点恢复)
rman target / as sysdba 连接到本地
rman target / nocatalog
log 写RMAN输出结果追加到log里
@ 执行命令脚本
inactive mode 分析时多用analysis
batch mode自动工作
使用here document参考 http://zh.wikipedia.org/wiki/Here_document
一个简单的脚本 vi rman.sh
#!/bin/bash
rman target sys/oracle@orcl nocatalog <<!
show all;
exit;
!
sh rman.sh 执行
RMAN常用命令
RMAN>report schema; target db表空间情况
RMAN>list backup of database;
RMAN>list backup of datafile “/db01/ORADATA/u03/users01.dbf”;
RMAN>list copy of tablespace “system”;
RMAN>list backup of tablespace “SYSTEM”;
RMAN>report need backup increamental 3; 增量备份
RMAN>report need backup days 3;
RMAN>report need backup redundancy 2;
RMAN>report need backup recovery window of 3 days;
RMAN占用很多资源、内存,使用show parameter process命令查看,必要时使用alter system set 。。 scope=spfile;分配合适资源
连接需要sysdba权限,OS能访问存储设备,remote操作设置口令文件,确保口令文件备份了