Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11590469
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-07-16 14:12:33

恢复管理器(Recovery Manager,通常简称为Rman)是由甲骨文公司提供的专门用于Oracle备份与恢复的工具。它是一个独立的应用程序,通过建立到Oracle数据库的客户端连接,以访问数据库内部的备份和恢复数据包。Rman的核心是命令解释程序,命令解释程序接受所输入的命令,并将这些命令转化为在数据库上执行的远程过程调用以执行具体的备份恢复工作。
使用Rman的backup(备份)命令所做的备份可以写到磁盘磁带上(Rman还专门提供了操作磁带机的API接口SBT)上,而不论写到磁盘还是磁带上必须用Rman进行还原。使用Rman的copy命令所做的备份则只能写到磁盘上,可以用Rman进行恢复也可以进行人工恢复。
Rman相关术语介绍:
(1). Backup sets 备份集
备份集顾名思义就是一次备份的集合,它包含本次备份的所有备份片,以Oracle专有
的格式保存。一个备份集根据备份的类型不同,可能构成一个完全备份或增量备份。
(2). Backup pieces 备份片
一个备份集由若干个备份片组成,每个备份片都是一个单独的输出文件。一个备份片的大小是有限制的,备份片的大小不能大于你的文件系统所支持的文件长度的最大值。
  (3). Image copies 映像备份
映像备份不压缩、不打包,直接copy 独立文件(数据文件、归档日志、控制文件),
类似操作系统级的文件备份。而且只能copy 到磁盘,不能copy到磁带。可以作为增量备份的0级,一般用来备份控制文件。
  (4). Full backup 全备份
  全备份是指对数据文件中使用过的数据块进行备份,没有使用过的数据块是不做备份的,也就是说,Rman 进行备份是进行压缩的。
  (5). Incremental backup 增量备份
  增量备份是指备份数据文件中自上一次备份以来被修改过的数据块。增量备份虽然思想和概念都非常的好,备份也很简单,但在具体实践中却发现恢复起来不仅麻烦而且容易出错,所以在实际中越来越少使用,以后可能会逐渐取消对增量备份的支持。
  (6). Recovery catalog 恢复目录
  如果用户希望管理分布在企业网上的产品数据库,就最好使用恢复目录运行恢复管理器以完成备份恢复操作,恢复目录用于记录Rman 使用过程中的控制信息,包括数据文件、归档重做日志备份集和备份片信息以及用户创建的Rman和SQL命令脚本信息等。尽管我们可以使用nocatalog 方式来使用Rman,此时控制信息记录在目标数据库的控制文件中,但这样意味着一旦目标数据库的控制文件损坏就意味着所有的Rman 备份失效。同样的道理恢复目录应该建立在另外一个数据库中。
下面介绍几种使用Rman进行数据库备份的例子。
(1). Rman脱机备份整个数据库
Shutdown;
Startup mount;
Rman> run
{
allocate channel c1 device type disk format ‘d:\backup\robt\robt_%U’;
allocate channel c2 device type disk format ‘d:\backup\robt\robt_%U’;
backup database;
backup current controlfile;
}
(2). Rman连机备份整个数据库
登录Rman后,运行  
Rman> run
{
allocate channel c1 type disk;
backup full tag ‘dbfull’ format ‘d:\backup\full%u_%s_%p’ database include current
controlfile;
sql ‘alter system archive log current’;
release channel c1;
}
(3). 表空间备份
登录Rman后,运行 Rman>backup tablespace users;
(4). 数据文件备份
登录Rman后,运行 Rman>backup datafile 8;
(5). 归档重做日志备份
登录Rman后,运行 Rman>backup archivelog all;
(6). 控制文件和服务器参数文件备份
登录Rman后,运行
Rman>run
{
backup current controlfile;
sql“alter database backup controlfile to ‘d:\backup\robot\contf_back.ctl’”;
backup controlfilecopy ‘d:\backup\robt\contf_backu.ctl’;
}
(7). 增量备份
登录Rman后,运行
Rman>backup incremental level=0 database plus archivelog delete input;
   backup incremental level=2 database plus archivelog delete input;

Rman的功能相当强大,因此各大数据库备份软件都是借助Rman来完成实际的备份恢复工作的。因为Rman有如下优点:
(1). Rman会检测和报告损坏的数据块。
(2). 不需要将表空间置于热备份模式,Rman就可以联机备份数据库。因此,热备份期
间额外生成的重做会减少。
(3). Rman会自动跟踪新的数据文件和表空间,这样就不再需要在脚本中添加新的表空
间和数据文件。
(4). Rman只备份使用过的数据块,这样Rman备份映像通常小于联机备份脚本的备份
映像,节省空间。
(5). Rman提供自动、方便的备份、还原和恢复操作。Rman跟踪还原数据库所需的所
有备份,在要求还原操作时需要使用这些备份,并且只还原必需的对象。
(6). Rman可以与第三方介质管理产品一起无缝的工作。
(7). Rman支持增量备份策略。
(8). 可以使用Rman来测试备份而不需要实际还原它们,使用备份脚本无法实现此功
能。如果使用存储库,Rman会提供一个不错的集中化报告工具。
阅读(403) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~