在使用RMAN备份数据库归档日志时,出现这样的错误,"RMAN-8137: WARNING: archived log not deleted as it is still needed"。
这是备份归档日志后跟着删除已备份的归档文件操作时失败的提示。
RMAN备份删除归档日志文件的脚本如下所示:
backup archivelog all format '/rman_bak/archivelog_%U.%T' delete all input;
这里数据库系统为oracle 10.2.0.3,配置了两个standby库,组成一对二的data guard环境。
(miki西游 @mikixiyou 文档,原文链接: http://mikixiyou.iteye.com/blog/1553055
)
分析问题
这种RMAN-8137错误是指归档日志在RMAN试图删除它们时,提示该归档日志文件在standby库还没有应用,所以不能删除。这是保护data guard的机制。
使用下列SQL检查归档日志文件是否应用。
select thread#, sequence#, completion_time,APPLIED
from v$archived_log
where dest_id = 2
and applied = 'NO'
and completion_time>sysdate-2
ORDER BY THREAD#,SEQUENCE#, COMPLETION_TIME;
结果显示,最近两天确实有很多归档日志没有应用。
在检查v$archive_gap时,没有发现任何记录。
检查data guard的配置环境时,没有发现什么错误。在该环境最初运行时,也出现过该错误,那是由于standby的初始化参数配置不正确导致。
在
Oracle Data Guard 10g 简要配置
http://mikixiyou.iteye.com/blog/1489087
一文中,我描述了该错误信息。
Oracle的metalink提示,这可能是一种bug,参见文档Archive Log not Getting Deleted Using Rman With Rman-08137 [ID 964522.1]
给出了解决方法,强制删除已经备份过的归档日志文件。
delete force archivelog until time 'trunc(sysdate-4)' backed up 1 times to device type disk;
但我又发现一个现象,使用这个SQL查询归档日志的应用情况时,
select thread#, sequence#, completion_time,APPLIED
from v$archived_log
where dest_id = 2
-- and applied = 'NO'
and completion_time>sysdate-2
ORDER BY THREAD#,SEQUENCE#, COMPLETION_TIME;
THREAD# SEQUENCE# COMPLETION_TIME APPLIED
1 1 81516 2012-6-4 11:17:11 NO
2 1 81517 2012-6-4 11:18:12 YES
3 1 81518 2012-6-4 11:19:15 YES
4 1 81519 2012-6-4 11:20:15 NO
--------------------------------------------------------
6 1 81521 2012-6-4 11:22:21 YES
--------------------------------------------------------
8 1 81523 2012-6-4 11:24:25 YES
9 1 81524 2012-6-4 11:25:25 NO
--------------------------------------------------------
19 1 81534 2012-6-4 11:35:44 YES
结果显示,有的日志文件的applied是YES,有的是NO。
这下无解了。有成功也有失败的apply。
分享到:
相关推荐
RMAN通过与数据库服务器和控制文件进行交互,实现对数据库的数据文件、归档日志、控制文件等组件的备份与恢复操作,为数据库的安全运行提供了坚实的保障。而XTTConvert则是RMAN的一个扩展,它主要用于处理XML表空间...
2. **备份阶段**:使用RMAN对源数据库进行完整的备份,这可能包括数据文件、控制文件、归档日志等。 3. **转换阶段**:运行XTTConvert脚本来转换备份集,使其适应目标数据库的格式和结构。 4. **恢复阶段**:在目标...
6. **归档日志管理**:RMAN可以管理归档日志,包括备份、恢复和删除。 7. **数据库克隆**:RMAN可用来创建数据库的物理或逻辑副本,用于测试或开发环境。 ### 开始使用RMAN 1. **安装与配置**:在Oracle环境中,...
Oracle RMAN 删除归档脚本 for Windows Oracle RMAN(Recovery Manager)是一款强大的备份和恢复工具,用于管理 Oracle 数据库的备份和恢复。然而,RMAN 占用的磁盘空间可能会变得越来越大,从而影响数据库的性能...
Oracle数据库中的RMAN(Recovery Manager)是一个常用的数据库备份和恢复管理工具,可以用来删除指定天数前的归档日志文件。 首先,我们需要了解归档日志的作用。在Oracle数据库中,当数据库处于归档模式时,所有对...
RMAN提供了一种全面的解决方案,可以执行完整数据库备份、增量备份以及表空间级别的备份。它能够直接与数据库服务器通信,从而在不中断服务的情况下进行在线热备份。这意味着数据库在运行时就可以进行备份,减少了...
rman 清理过期归档日志,oracleg归档日志满了,可以使用的
Oracle 11g R2 RMAN(Recovery Manager,恢复管理器)是Oracle公司为其数据库产品开发的一个功能强大的备份和恢复解决方案。它通过自动化备份、恢复以及数据传输等任务,从而简化数据库管理员(DBA)的工作。RMAN在...
归档模式的启用能够确保即使在系统崩溃时也能通过归档日志恢复数据库至最新状态,而RMAN的自动备份则进一步保障了数据的安全性和完整性。 综上所述,在Oracle数据库管理中,合理配置归档日志和RMAN备份是非常重要的...
《rman_xttconvert 资源大全》 在Oracle数据库管理中,RMAN(Recovery Manager)是一个强大的工具,用于备份、恢复和管理数据库。而`rman_xttconvert`则是RMAN的一个扩展,主要用于处理XTTS(XML Table Type Set)...
### RMAN 设置归档模式详解 #### 一、前言 在数据库管理中,归档模式的设置至关重要,它不仅关系到数据的安全性,还直接影响到数据库的备份与恢复策略。本文将根据提供的文件信息“rman设置归档模式.txt”,详细...
归档模式下,数据库可以进行完整的时间点恢复,而非归档模式则仅能恢复到最近的备份点。 2. **更改数据库运行方式**: - 将数据库从非归档模式更改为归档模式,首先需要关闭数据库并备份现有数据,随后修改初始化...
VEEAM Rman Plugin for Oracle是VEEAM公司开发的一款插件,旨在为Oracle RAC数据库提供备份和恢复解决方案。该插件可以与VEEAM Backup & Replication集成,提供了一个全面的数据保护解决方案。 RMAN插件介绍 RMAN...
解决方案:删除部分归档日志** 如果回闪日志已满,需要清理一部分旧的归档日志文件来释放空间。这可以通过以下步骤实现: - **进入RMAN环境:** ```bash RMAN> connect target / ``` - **列出所有归档日志...
### Oracle RMAN 命令详解 #### 一、RMAN 概述 ...无论是简单的备份任务还是复杂的备份策略,RMAN 都能提供强大的支持。在实际操作中,合理地运用这些命令和子句可以帮助 DBA 更高效地完成日常维护工作。
在恢复过程中,RMAN可以用来恢复到特定时间点,这对于处理灾难性故障或误删除数据的情况非常有用。 要进行RMAN恢复,首先需要确保有有效的备份集。使用RMAN的`backup`命令创建备份,然后在需要恢复时,使用`restore...
本文主要描述Oracle DB 在使用rman进行恢复时,如何利用rman注册备份集的方式达到主库和目标库数据一致的目的。当然Oracle数据库的话使用DG或ADG技术、或者rman的duplicate技术都是非常好的选择。
`RMAN>backup database plus archivelog delete input`,备份整个数据库,包括控制文件、SPFILE和所有归档的重做日志,并删除旧的归档日志。 #### 表空间备份: `RMAN>backup tablespaces system plus archivelog ...
在进行数据库升级、灾难恢复或者跨系统数据迁移时,XTTS能显著提高效率并减少对业务的影响。 在描述中提到的"rman_xttconvert_v3.zip"是一个包含Oracle XTTS相关脚本的压缩包,这些脚本通常由Oracle支持文档库(MOS...