RMAN not always use incremental backup if it has archivelog backup too

本文探讨了Oracle RMAN工具在存在归档日志备份集的情况下如何选择最优的恢复路径。RMAN会评估从最后一次0级增量备份恢复或直接使用归档日志的代价,并选择恢复时间最短的方式。
Refer to :metalink 134214.1

如果存在归档日志备份集的话、那么 RMAN 就不一定会选择增量备份集

让我们使用以下的 RECOVER 命令作为例子:


RMAN> run{

2> allocate channel x type disk;

3> restore datafile 7;

4> recover datafile 7;

5> }


首先、RMAN 将把从最后一次0级增量备份的数据文件 7 覆盖回去、接下来、RMAN 会有 2 条路:



① 把自最后一次0级备份以来、所有存在的增量备份全部覆盖回去

然后运用自最后一次增量备份到当前时间点以来的所有存在的归档日志

② 忽略增量备份集、选择运用自最后一次0级备份到当前时间点以来的所有归档日志


RMAN 会评估和选择最小恢复时间的那条路


Oracle 允许从最后一个增量备份时间点开始恢复、也允许从 0级备份开始应用所有归档日志

Oracle会评估两者的代价,选择恢复时间最小的一个来做


我个人的理解是 Oracle的这个评估是一个简单的计算

举个例子,Oracle发现最后一个增量备份和0级备份之间就没多少归档日志,干脆从0级开始应用归档日志恢复了就得了

<think>好的,我现在需要解决用户遇到的RMAN-06149错误,并且他们想在NOARCHIVELOG模式下备份数据库。首先,我要回忆一下RMAN备份的基本概念以及NOARCHIVELOG模式的特点。 我记得,当数据库处于NOARCHIVELOG模式时,不会自动归档重做日志,这意味着数据库只能恢复到最近一次备份的时间点,而无法进行时间点恢复。同时,RMAN在备份时可能需要数据库处于一致状态,否则会报错。RMAN-06149错误通常是因为在NOARCHIVELOG模式下尝试进行联机备份,而没有正确关闭数据库或使用适当选项。 接下来,用户的问题是如何在这种情况下进行备份。根据经验,正确的步骤应该是关闭数据库,以一致的状态进行冷备份,或者在备份前使用ALTER DATABASE BEGIN BACKUP命令,但可能在NOARCHIVELOG模式下这不可行。需要确认正确的步骤。 我需要验证正确的RMAN命令。可能需要在数据库mount状态下执行备份,使用`BACKUP DATABASE`命令,并且可能需要指定`COPY`或`AS COPY`来创建映像副本。同时,必须确保数据库在备份过程中处于一致状态,因此可能需要先干净地关闭数据库,然后启动到mount状态,再进行备份。 另外,用户可能需要了解如何配置控制文件和参数文件的自启动备份,以避免在恢复时出现问题。此外,备份后的验证步骤也很重要,比如使用`RESTORE VALIDATE DATABASE`来检查备份是否可用。 还要考虑到用户可能没有正确关闭数据库就直接运行备份,导致不一致的情况。因此,需要强调关闭数据库并启动到mount状态的重要性。同时,可能需要提到自动备份控制文件的功能,以简化恢复过程。 最后,需要生成相关问题,帮助用户扩展他们的知识,比如如何从这种备份中恢复,或者如何切换到ARCHIVELOG模式,以及两种模式的区别和优缺点。确保回答结构清晰,步骤明确,并且引用正确的Oracle文档或最佳实践。</think>### RMAN-06149错误解决方案 当在NOARCHIVELOG模式下使用RMAN备份数据库时,需遵循特定流程确保数据一致性。以下是详细步骤: #### 1. 关闭数据库并挂载 ```sql SHUTDOWN IMMEDIATE; STARTUP MOUNT; ``` 此操作使数据库处于一致状态,避免备份时出现"active redo log"错误[^1]。 #### 2. 执行全量备份 ```rman BACKUP AS COPY DATABASE FORMAT '/backup/db_%U'; BACKUP CURRENT CONTROLFILE; ``` 使用`AS COPY`创建镜像副本,比备份集更易恢复[^2]。 #### 3. 重新打开数据库 ```sql ALTER DATABASE OPEN; ``` #### 4. 验证备份有效性 ```rman VALIDATE BACKUPSET ALL; ``` #### 关键配置建议 ```rman CONFIGURE CONTROLFILE AUTOBACKUP ON; ``` 启用控制文件自动备份可简化恢复操作[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值