日期:2014-05-16  浏览次数:20432 次

RMAN参考使用手册(转)
RMAN的概念与体系结构
Oracle 9i RMAN的配置
运用RMAN进行备份
运用RMAN进行还原与恢复
RMAN的日常管理
RMAN的恢复目录
一、RMAN的概念与体系结构
Recovery Manager(RMAN)是一种用于备份(backup)、还原(restore)和恢复(recover)
数据库的 Oracle 工具。RMAN只能用于ORACLE8或更高的版本中。它能够备份整个数据
库或数据库部件,如表空间、数据文件、控制文件、归档文件以及Spfile参数文件。RMAN
也允许您进行增量数据块级别的备份,增量RMAN备份是时间和空间有效的,因为他们只备
份自上次备份以来有变化的那些数据块。而且,通过RMAN提供的接口,第三方的备份与恢
复软件如veritas将提供更强大的备份与恢复的管理功能。
通过RMAN,也提供了其它更多功能,如数据库的克隆、采用RMAN建立备用数据库、
利用RMAN备份与移动裸设备(RAW)上的文件等工作将变得更方便简单。9i的RMAN通过
增强的自动配置与管理功能,以及特有的块级别的恢复,将使备份与恢复工作变得更加快捷
与完美。9i的RMAN有如下特征特性:
·自动的备份与恢复
·方便的备份归档日志
·自动检测新的数据文件
·支持增量备份
·最大限度的减少备份与恢复的错误
·减少恢复的时间
·在热备份中不会产生额外的redo日志
·腐烂数据块的自动检测
3
·并行的备份与恢复操作
·在线备份时,表空间不用置于备份模式
可以看到,在以上的一些特性中,显示了RMAN强大的功能与好处,以上功能的实现,
是因为RMAN是块级别的备份与恢复,备份与恢复发生在数据库块级别,可以通过比较数据
块而获得一致性的数据块,可以避免备份没有用过的块,可以检验块是否腐烂等块级别的问
题。
RMAN的体系结构可以用如下图表示:
RMAN 的体系结构
对于组成以上RMAN 的结构,说明如下:
1、RMAN 工具
也就是RMAN 命令,起源于Oracle 版本8,一般位于$ORACLE_HOME/bin 目录下,
可以通过运行rman这个命令来启动RMAN 工具,用于备份与恢复的接口。
2、服务进程
RMAN 的服务进程是一个后台进程,用于与RMAN工具与数据库之间的通信,也用于
RMAN 工具与磁盘/磁带等I/O 设置之间的通信,服务进程负责备份与恢复的所有工作,在
如下情况将产生一个服务进程
·当连接到目标数据库
·分配一个新的通道
3、通道
通道是服务进程与I/O 设备之前读写的途径,一个通道将对应一个服务进程,在分配通
道时,需要考虑I/O 设备的类型,I/O 并发处理的能力,I/O 设备能创建的文件的大小,数据
库文件最大的读速率,最大的打开文件数目等因素
4、目标数据库
就是RMAN 进行备份与恢复的数据库,RMAN 可以备份除了联机日志,pfile,密码文
件之外的数据文件,控制文件,归档日志,spfile
4
5、恢复目录
用来保存备份与恢复信息的一个数据库,不建议创建在目标数据库上,利用恢复目录可
以同时管理多个目标数据库,存储更多的备份信息,可以存储备份脚本。如果不采用恢复目
录,可以采用控制文件来代替恢复目录,oracle 9i因为控制文件自动备份的功能,利用控制
文件很大程度上可以取代恢复目录。
6、媒体管理层
Media Management Layer (MML)是第三方工具或软件,用于管理对磁带的读写与文件的
跟踪管理。如果你想直接通过RMAN 备份到磁带上,就必须配置媒体管理层,媒体管理层
的工具如备份软件可以调用RMAN 来进行备份与恢复。
7、备份,备份集与备份片
当发出backup命令的时候,RMAN 将创建一个完成的备份,包含一个到多个备份集,
备份集是一个逻辑结构,包含一组的物理文件。这些物理文件就是对应的备份片。备份片是
最基本的物理结构,可以产生在磁盘或者磁带上,可以包含目标数据库的数据文件,控制文
件,归档日志与spfile文件。
备份集与备份片有如下规定
一个数据文件不能跨越一个备份集,但是能跨越备份片
数据文件,控制文件能保存在同样的备份集上,但是不能与归档日志保存在同样的备份集上
二、启动与运行RMAN
2.1 运行要求
1、进程与内存要求
更多的进程的需要
大池的分配
2、基本环境变量需求
ORACLE_SID, ORACLE_HOME, PATH, NLS_LANG, 如果用到了基于时间的备份与恢
复,需要另外设置NLS_DATE_FORMAT
3、权限要求
需要SYSDBA系统权限
如果是本地,可以采用OS认证,远程需要采用密码文件认证
4、版本要求
RMAN 工具版本与目标数据库必须是同一个版本,如果使用了恢复目录,还需要注意
·创建RMAN 恢复目录的脚本版本必须等于或大于恢复目录所在数据库的版本
·创建RMAN 恢复目录的脚本版本必须等于或大于目标数据库的版本
2.2 基本运行方法
9i默认是nocatalog,不使用恢复目录,使用命令rman即可进入RMAN 的命令行界面,

[oracle@db oracle]$ $ORACLE_HOME/bin/rman
5
Recovery Manager: Release 9.2.0.4.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
RMAN>
连接目标数据库,可以用如下类似命令
RMAN>Connect target /
2.3怎么样运行RMAN 命令
1、单个执行
RMAN>backup database;
2、运行一个命令块
RMAN> run {
2> copy datafile 10 to
3> '/oracle/prod/backup/prod_10.dbf';
4> }
3、运行脚本
$ rman TARGET / @backup_db.rman
RMAN> @backup_db.rman
RMAN> RUN { @backup_db.rman }
运行存储在恢复目录中的脚本
RMAN> RUN { EXECUTE SCRIPT backup_whole_db };
4、SHELL脚本,如果在cron中执行,注意设置正确的环境变量在脚本中
[oracle@db worksh]$ more rmanback.sh
#!/bin/ksh
#set env
export ORACLE_HOME=/opt/oracle/product/9.2
export ORACLE_SID=test
export NLS_LANG="AMERICAN_AMERICA.zhs16gbk"
export PATH=$PATH:$ORACLE_HOME/bin
echo "-----------------------------start-----------------------------";date
#backup start
$ORACLE_HOME/bin/rman <<EOF
connect target
delete noprompt obsolete;
backup database format '/netappdata1/rmanback/tbdb2/%U_%s.bak' filesperset = 2;
exit;
EOF
echo "------------------------------end------------------------------";date
6
三、RMAN的自动配置
Oracle 9i可以配置一些参数如通道,备份保持策略等信息,通过一次设定可以多次使用,
而且,设置中的信息不影响脚本中的重新设置。RMAN 默认的配置参数,通过show all 就
可以看出来。
RMAN>