恢复管理器(Recovery Manager, RMAN) 是 Oracle 的一个工具,该工具可以用来备份、还原、恢复 Oracle 数据库。用RMAN创建的备份可以存储在磁盘或者磁带介质上,备份的相关信息被记录在备份数据库(目标数据库)的控制文件和一个被称为恢复目录(Recovery Catalog)的可选存储区中。RMAN被称为服务器管理的恢复是因为它负责处理绝大多数备份、还原以及恢复的工作。
概念:
1) RMAN执行体:用于备份、还原和恢复数据库的命令行工具。
2) Recover.bsq:组成RMAN执行体的一个独立文件。存在于%ORACLE_HOME%RDBMSADMIN目录下,而且必须对RMAN可见。
3) 目标数据库:被备份、还原、恢复的数据库。
4) 目录数据库控制文件:只要在数据库上进行RMAN备份,备份的信息都要保存在目标数据库的控制文件中。过段时间会覆盖过时的备份目录。
5) 通道:允许RMAN执行体从目录数据库向备份介质传送数据的通信信道。当通道打开时,就创建一个到服务器的服务会话进程。
6) 恢复目录:可选,包含了RMAN信息但存储在其他的数据库(而不是目标数据库)。该目录是表、视图和PL/SQL包的集合,恢复目录可以保留一个RMAN的所有备份的历史资料库,可以存储RMAN脚本,提高对自动还原和RMAN恢复功能的利用率。
RMAN的重要特性:
1) 自动备份、还原与恢复:如果由增加数据文件、删除表空间或创建更多的归档日志文件等引起了物理数据结构的改变,RMAN将自动备份最新生成的结构。
2) 自动备份记录:RMAN自动将每次进行的备份都记录在目标数据库控制文件(记录次数受限制,过段时间会自动清理)和可选的恢复目录中。这就意味着,RMAN知道哪个备份需要还原以及在恢复时需要哪个日志文件。
3) 增量备份:用用户管理备份来备份数据文件,整个文件都必须拷贝到其他位置上,如200G的数据文件,备份也是200G的文件,由RMAN提供的增量备份可以只备份使用了的数据块,或者只备份上次增量备份以来被改变的数据块,这样就减少备份的数据量并提高恢复的性能。
4) 损坏检查:RMAN可以在备份期间检查每个数据块的损坏类型(介质损坏、校验和非法以及逻辑结构损坏)。这些损坏检查也可以在恢复过程中执行。任何在备份期间发现的损坏的块都将在目标数据库的alert.log中给出报告,也可以在目标数据库的v$backup_corruption & v$copy_corruption 视图中找到。
5) 智能的打开数据库备份:在打开的数据库备份期间,RMAN不需要每个表空间都被设置为热备份方式。因此,打开数据库备份不需要类似用户管理打开数据库备份那样增加重做生成的数量,这样RMAN打开数据库备份速度比较快,而且不需要额外的重做动作。
6) 性能调整提高:RMAN允许调整备份、还原和恢复操作的性能。可以并行踪式操作数据库、利用读写磁带或磁盘设备、限制备份文件的读取速度等方式减少I/O系统的工作。
7) 简易的归档日志备份:与数据文件类似,归档重做日志文件也可以通过RMAN轻松备份。没有必要手工生成一系列备份所需要的归档日志文件,而后又删除。RMAN能完成这一切工作。在恢复期间,RMAN检查需要哪个日志文件,然后还原并应用。
恢复管理器目录
对于数据库管理员而言,保护Oracle数据库是首要的工作,经常进行备份操作已经成为习惯。使用用户管理恢复,必须了解备份存储在什么位置及备份包含的内容。当需要恢复数据时,DBA必须迅速找到还原正确的备份、找到恢复所需要的归档日志文件。而使用服务器管理恢复的最大优点是,备份的记录被存放在控制文件(源数据库)或可选的恢复目录中(另外的数据库)。因此,在还原与恢复过程中,只要掌握了正确的RMAN命令,RMAN就能将这些命令解释执行为一系列数据库恢复所需要的数据文件和归档日志文件。
使用恢复管理器的优点:
只有控制文件 | 控制文件与恢复目录 |
如果所有的目标数据库控制文件都丢失了,可以恢复但非常困难。 | 只需要几个简单命令就可以恢复。最新的目录包含了控制文件备份的位置 |
控制文件包含的备份信息有时间限制(CONTROL_FILE_RECORD_KEEP_TIME参数决定) | 无限制 |
控制文件只保留了当前数据库结构方式信息 | 保持所有的,因为可以报告任何以前存在的结构信息 |
没有目录的情况,目标控制文件备份必须发生在每次RMAN备份以后(该控制文件目前包含了新的备份信息) | 目录包含了所有类似于包含在目标控制文件中的关于备份需要的信息,因此目录提供了一个备份记录保存功能并且可以被用于从RMAN备份还原控制文件。 |
使用RMAN部署一个恢复目录时,应该注意:
1) 将目录保存在与注册其中任何一个目标数据库不同的机器上,可以即做为目标数据库和目录。
2) 为了避免在不同目标数据库版本上使用不同的RMAN版本而引起的升级和兼容性问题,应该为每个准备使用RMAN的ORACLE数据库版本应用一个独立的目录所有者。
3) 应该确保备份目录数据库或至少目录数据库(使用导出功能)。在恢复目录中包含的信息对于管理大量的数据库备份是至关重要的。
[@more@]SYS@huiyi2>create tablespace cattbs 2 datafile '%oracle_home%oradatahuiyi2cattbs01.dbf' size 30M 3 extent management local autoallocate; Tablespace created. SYS@huiyi2>col name format a50; SYS@huiyi2>select t.name,f.name from v$tablespace t,v$datafile f where t.ts#=f.ts#; NAME NAME -------------------------------------------------- -------------------------------------------------- SYSTEM G:A9IORADATAHUIYI2SYSTEM01.DBF UNDOTBS1 G:A9IORADATAHUIYI2UNDOTBS01.DBF DRSYS G:A9IORADATAHUIYI2DRSYS01.DBF EXAMPLE G:A9IORADATAHUIYI2EXAMPLE01.DBF INDX G:A9IORADATAHUIYI2INDX01.DBF ODM G:A9IORADATAHUIYI2ODM01.DBF TOOLS G:A9IORADATAHUIYI2TOOLS01.DBF USERS G:A9IORADATAHUIYI2USERS01.DBF XDB G:A9IORADATAHUIYI2XDB01.DBF TBS01 G:A9IORADATAHUIYI2TBS01.DBF CATTBS G:A9IORADATAHUIYI2CATTBS01.DBF 11 rows selected. SYS@huiyi2>create user rman92 identified by rman 2 default tablespace cattbs 3 quota unlimited on cattbs 4 / User created. SYS@huiyi2>grant connect,recovery_catalog_owner to rman92; Grant succeeded.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8799875/viewspace-904921/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8799875/viewspace-904921/