RMAN备份databse、tablespaces、datafiles、control files、archive logs,经常的工作做成脚本,可执行块级别block-level增量备份,跳过unused blocks,指定备份limits(数据库边工作边备份),备份时检测损坏的block,通过自动并发parallelization、减少redo、限制I/O、tape streaming磁带流来增加备份性能

RMAN概述_第1张图片


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

RMAN概述_第2张图片


SBT:System Back to Tape往磁带上进行系统备份,把数据写到磁带上

channel分两种:自动分配、手动分配


自动分配channel使用configure进行配置

RMAN概述_第3张图片

连上查看配置信息,从连接数据库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概述_第4张图片

rman target / as sysdba 连接到本地

rman target / nocatalog

RMAN概述_第5张图片

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概述_第6张图片RMAN占用很多资源、内存,使用show parameter process命令查看,必要时使用alter system set 。。 scope=spfile;分配合适资源

连接需要sysdba权限,OS能访问存储设备,remote操作设置口令文件,确保口令文件备份了