Rman的配置

来源:互联网 发布:npm install 淘宝镜像 编辑:程序博客网 时间:2024/04/29 07:35
RMAN(Recovery Manager)是DBA的一个重要工具,用于备份、还原和恢复oracle数据库。
一、RMAN 简介
RMAN 可以用来备份和恢复数据库文件、归档日志和控制文件,也可以用来执行完全或不完全的数据库恢复。RMAN有三种不同的用户接口:COMMAND LINE方式、GUI 方式(集成在OEM 中的备份管理器)、API 方式(用于集成到第三方的备份软件中)。具有如下特点:1)功能类似物理备份,但比物理备份强大N倍,从下面的特点可以看到;2)可以压缩空块;3)可以在块水平上实现增量;4)可以把备份的输出打包成备份集,也可以按固定大小分割备份集;5)备份与恢复的过程可以自动管理;6)可以使用脚本(存在Recovery catalog 中)7)可以做坏块监测
二、相关术语解释1)Backup sets 备份集备份集顾名思义就是一次备份的集合,它包含本次备份的所有备份片,以oracle专有的格式保存。一个备份集根据备份的类型不同,可能构成一个完全备份或增量备份。2)Backup pieces 备份片一个备份集由若干个备份片组成。每个备份片是一个单独的输出文件。一个备份片的大小是有限制的;如果没有大小的限制,备份集就只由一个备份片构成。备份片的大小不能大于你的文件系统所支持的文件长度的最大值。3)Image copies 映像备份映像备份不压缩、不打包、直接COPY 独立文件(数据文件、归档日志、控制文件),类似操作系统级的文件备份。而且只能COPY 到磁盘,不能到磁带。可以作为增量备份的0级,一般用来备份控制文件。4)Full backup 全备份全备份是指对数据文件中使用过的数据块进行备份,没有使用过的数据块是不做备份的,也就是说,RMAN 进行备份是进行压缩的。5)Incremental backup 增量备份增量备份是指备份数据文件中自从上一次同一级别的或更低级别的备份以来被修改过的数据块。与完全备份相同,增量备份也进行压缩。增量备份虽然概念很好,备份也很简单,但恢复起来却是另外一回事,不仅麻烦而且容易出错,所以实际中越来越少使用,到了Oracle 9i已经建议不再使用,以后版本会逐渐取消对增量备份的支持。6)Recovery catalog 恢复目录恢复目录用于记录RMAN 使用过程中的控制信息,恢复目录应该经常被同步(这在后面会讲到)。尽管我们可以使用nocatalog 方式来使用RMAN,此时控制信息记录在目标数据库的控制文件中,但这样毕竟不安全,因为一旦目标数据库的控制文件损坏就意味着所有的RMAN 备份失效。同样的道理恢复目录应该建立在另外一个数据库中,在下面的例子中我们称作“目录数据库”,即为catalog db,目标数据库即为需要备份的数据库。
 
三、rman的配置
1、在目录数据库catalog db中创建恢复目录所用表空间   create tablespace test01 logging   datafile '/oradata/data/test0101.dbf'   size 30m   autoextend on   next 30m maxsize 2048m  extent management local;  create user test01  identified by test01  default tablespace test01  temporary tablespace temp  quota unlimited on test01;   grant connect,resource,recovery_catalog_owner to antidb1; 
2、在目录数据库中创建目标数据库的rman用户并授权 :一般以目标数据库的instance name为名
3、在目录数据库中创建恢复目录
 >rman catalog test01/test01 
create catalog tablespace 'test01';
 
4、注册目标数据库到恢复目录(在目标数据库上进行)
建议将数据库运行在自动归档模式下
启动数据库实例
rman target / catalog test01/test01@catdbregister database;至此配置完成。5、测试全备份run {allocate channel dev1 type disk;backup format '/bakcup/bak_%d_%t_%U.dbf' (database);sql 'alter system archive log current';sql 'alter system switch logfile';backup format '/backup/bak_%d_%t_%U.arc' archivelog all ;delete force noprompt obsolete;resync catalog;release channel dev1;}6、其他      error: rman:can't open target.修正这个问题,我们只需要在Oracle用户的环境变量下,将$ORACLE_HOME/bin放在PATH变量前就可以了:

export PATH=$ORACLE_HOME/bin:${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin重新登录使环境变量生效,现在Oracle能找到正确的rman了: