RMAN系列(四)RMAN备份

本文详细介绍了Oracle的RMAN(恢复管理器)在数据库备份中的优势,如自动检测损坏块、无需热备份模式等,并讨论了RMAN的兼容性问题、监控备份、脱机和联机备份的执行方式。文章还涵盖了备份选项如压缩、标记、限制备份影响、验证和错误检查,以及如何使用set命令。最后,文章讲解了增量备份的概念,包括差异备份和累积备份,以及如何进行增量备份更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原 RMAN 系列(四) ---- RMAN 备份https://blog.youkuaiyun.com/tianlesoftware/article/details/5687938版权声明: https://blog.youkuaiyun.com/tianlesoftware/article/details/5687938
一. RMAN 备份的一些优点
1. RMAN 会检测和报告损坏的数据块。
2. 不需要将表空间置入热备份模式,RMAN 就可以连接备份数据库。 热备份期间会额外的生成重做日志。
3. RMAN 会自动跟踪新的数据文件和表空间,这样就不再需要在脚本中添加新的表空间和数据文件。
4. RMAN 只备份使用过的数据库(直至最高使用标记(High wate mark)),这样RMAN 备份映像通常小于联机备份的备份脚本。
5. RMAN 提供备份映像的实际压缩。
6. RMAN 提供自动且方便的备份,还原和恢复操作。 RMAN 跟踪恢复数据库所需要的所有备份,在要求还原操作时需要使用这些备份,并且只还原必要的对象。
7. RMAN 可以与第三方介质管理产品一起无缝的工作。
8. RMAN 支持增量备份策略。
9. 可以使用RMAN 来测试备份而不要实际还原他们。
二. RMAN 兼容性问题
在启动备份操作之前,需要考虑一些兼容性问题。在一个企业中,可能会运行不同的Oracle 版本,因此我们在设计备份策略时必须考虑RMAN 的兼容性问题。 
原因可以参考: RMAN 系列(一)---- RMAN 体系结构概述
http://www.cndba.cn/Dave/article/1165
下表是Oracle 兼容性的一个参照表:
RMAN 目标数据库版本
(应用补丁)
RMAN 客户端版本
(应用补丁)
RMAN 目录数据库版本
(应用补丁)
RMAN 目录模式版本
(应用补丁)
9.0.1
9.0.1
>=8.1.7
>=RMAN 客户端
9.2.0
>=9.0.1.3 并且<= 目录数据库可执行文件版本
>=8.1.7
>=RMAN 客户端
10.1.0
>=9.0.1.3 并且<=目录数据库可执行文件版本
>=9.0.1
>=RMAN 客户端
10.2.0
>=9.0.1.3 并且<=目录数据库可执行文件版本
>=9.0.1
>=RMAN 客户端
表中的 目录模式版本 可以从RCVER 表中查看:
SQL> conn rman/rman@orcl; -- 用catalog 用户登录
已连接。
SQL> select * from rcver;
VERSION
------------
11.02.00.01
三. 监控RMAN 备份情况
RMAN 在备份期间产生输出,如果在启动RMAN 时启用登录,则取消该输出。可以通过查看生成的日志文件来监控RMAN 操作,或者通过V$RMAN_OUTPUT 视图来查看。
SQL> conn /@orcl as sysdba;
已连接。
SQL> select output from v$rman_output order by stamp;
四. 脱机RMAN 数据库备份
4.1 使用默认的设置执行备份操作:
RMAN 会有一些参数有默认值,在没有更改这些参数的情况下,我们也可以进行备份。 此时备份集将会备份到闪回区中。我们可以用catalog 模式或者是非catalog 模式来连接RMAN。 如果采用catalog 模式,只需在连接的时候加上catalog 参数即可。 不过要注意的是,一般建议在服务器本地直接连接RMAN,然后通过网络连接来连接catalog目录。
执行脱机备份操作时,数据库必须处于mount 状态。 一些命令如下:
Shutdown immediate
Startup mount
Backup database
或者
Backup as compressed backupset database  -- 将数据库作为压缩的备份集来备份
C:/Users/Administrator.DavidDai>rman target '/@orcl as sysdba'; 
恢复管理器: Release 11.2.0.1.0 - Production on 星期一 6月 21 23:24:47 2010
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
连接到目标数据库: ORCL (DBID=1247395743)
RMAN> 
C:/Users/Administrator.DavidDai>rman target '/@orcl as sysdba' catalog 'rman/rman@orcl';
恢复管理器: Release 11.2.0.1.0 - Production on 星期一 6月 21 23:25:24 2010
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
连接到目标数据库: ORCL (DBID=1247395743)
连接到恢复目录数据库
RMAN>
4.2 不使用默认参数执行脱机备份操作
先来看一段脚本:
Shutdown immediate
Startup mount
Run
{
Allocate channel c1 device type disk format 'D:/backup/sid_%U';
Allocate channel c2 device type disk format 'E:/backup/sid_%U';
Backup as compressed backupset database;
Backup current controlfile;
}
相关说明如下:
4.2.1 将数据库启动到mount 模式
在前面也说了,脱机备份,数据库必须启动到mount 状态。
4.2.2 运行Oracle
执行run 代码块。 在完整的语句块输入之前,Oracle 不会运行任何语句。
4.2.3 分配通道
先看一下 备份集 和 备份片。 通常情况下,每次创建一个通道时,都会创建一个或者多个备份集。
备份集(backup set): 逻辑实体,我们会为每个定义的通道创建一个或多个备份集(通常为每个通道创建一个备份集)。
备份片(backup piece):驻留备份数据的实际物理文件。 每个备份集可以关联一个或多个备份片。
可以使用backup 命令(或配置一个默认值)来控制整个备份集的大小,也可以使用allocate channel 命令(或在配置默认通道时配置一个默认值)来控制整个备份片的大小。
Allocate channel 命令定义给定通道(进而是一个备份集)所分配到的设备。设备可以是磁盘(type disk),也可以是磁带驱动器(type sbt)。如果为磁带系统分配通道,可能要在这条命令中加入MML 供应商所要求的特定参数设置。 比如Veritas Netbackup 为磁带分配通道的allocate channel 命令:
Allocate channel t1 type sbt parms='ENV=(NB_ORA_CLASS=RMAN_DB01');
执行这条命令可以为磁带分配一个通道。 为备份分配完两个通道后,RMAN 会在这两个通道间自动并行处理备份流。 由于分配了两个通道,因此会创建两个备份集,并且每个备份集拥有一个备份片。 备份片的大小按字节计算,不过也可以根据需要使用K,M或者G 占位符来分来表示。 如:
Allocate channel t1 type disk maxpiecesize=100M;
在这个示例中,我们限定了通道t1 通道创建备份集中每个备份片的大小不能超过100M。 这样能够最好的保证所创建的单个备份片大小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值