在使用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。
分享到:
相关推荐
6. **归档日志管理**:RMAN可以管理归档日志,包括备份、恢复和删除。 7. **数据库克隆**:RMAN可用来创建数据库的物理或逻辑副本,用于测试或开发环境。 ### 开始使用RMAN 1. **安装与配置**:在Oracle环境中,...
综合来看,"rman-xttconvert_2.0.zip" 提供了一套集成的解决方案,利用RMAN进行数据库备份和恢复,同时结合XTT处理XML数据的导入导出。这个工具集可以帮助数据库管理员更高效地管理和迁移XML格式的数据,同时确保...
Oracle数据库中的RMAN(Recovery Manager)是一个常用的数据库备份和恢复管理工具,可以用来删除指定天数前的归档日志文件。 首先,我们需要了解归档日志的作用。在Oracle数据库中,当数据库处于归档模式时,所有对...
RMAN提供了一种全面的解决方案,可以执行完整数据库备份、增量备份以及表空间级别的备份。它能够直接与数据库服务器通信,从而在不中断服务的情况下进行在线热备份。这意味着数据库在运行时就可以进行备份,减少了...
RMAN通过与数据库服务器和控制文件进行交互,实现对数据库的数据文件、归档日志、控制文件等组件的备份与恢复操作,为数据库的安全运行提供了坚实的保障。而XTTConvert则是RMAN的一个扩展,它主要用于处理XML表空间...
Oracle RMAN 删除归档脚本 for Windows Oracle RMAN(Recovery Manager)是一款强大的备份和恢复工具,用于管理 Oracle 数据库的备份和恢复。然而,RMAN 占用的磁盘空间可能会变得越来越大,从而影响数据库的性能...
rman 清理过期归档日志,oracleg归档日志满了,可以使用的
Oracle 11g R2 RMAN(Recovery Manager,恢复管理器)是Oracle公司为其数据库产品开发的一个功能强大的备份和恢复解决方案。它通过自动化备份、恢复以及数据传输等任务,从而简化数据库管理员(DBA)的工作。RMAN在...
归档模式的启用能够确保即使在系统崩溃时也能通过归档日志恢复数据库至最新状态,而RMAN的自动备份则进一步保障了数据的安全性和完整性。 综上所述,在Oracle数据库管理中,合理配置归档日志和RMAN备份是非常重要的...
### RMAN 设置归档模式详解 #### 一、前言 在数据库管理中,归档模式的设置至关重要,它不仅关系到数据的安全性,还直接影响到数据库的备份与恢复策略。本文将根据提供的文件信息“rman设置归档模式.txt”,详细...
解决方案:删除部分归档日志** 如果回闪日志已满,需要清理一部分旧的归档日志文件来释放空间。这可以通过以下步骤实现: - **进入RMAN环境:** ```bash RMAN> connect target / ``` - **列出所有归档日志...
在恢复过程中,RMAN可以用来恢复到特定时间点,这对于处理灾难性故障或误删除数据的情况非常有用。 要进行RMAN恢复,首先需要确保有有效的备份集。使用RMAN的`backup`命令创建备份,然后在需要恢复时,使用`restore...
VEEAM Rman Plugin for Oracle是VEEAM公司开发的一款插件,旨在为Oracle RAC数据库提供备份和恢复解决方案。该插件可以与VEEAM Backup & Replication集成,提供了一个全面的数据保护解决方案。 RMAN插件介绍 RMAN...
`RMAN>backup database plus archivelog delete input`,备份整个数据库,包括控制文件、SPFILE和所有归档的重做日志,并删除旧的归档日志。 #### 表空间备份: `RMAN>backup tablespaces system plus archivelog ...
本文主要描述Oracle DB 在使用rman进行恢复时,如何利用rman注册备份集的方式达到主库和目标库数据一致的目的。当然Oracle数据库的话使用DG或ADG技术、或者rman的duplicate技术都是非常好的选择。
`rman_xttconvert`工具就是为了解决这样的问题而设计的,它是Oracle数据库异构平台迁移的重要助手。下面将详细介绍`rman_xttconvert`及其在数据库迁移过程中的应用。 `rman_xttconvert`是基于RMAN(Recovery ...
[oracle@source]$ unzip rman_xttconvert_VER4.zip Archive: rman_xttconvert_v3.zip inflating: xtt.properties inflating: xttcnvrtbkupdest.sql inflating: xttdbopen.sql inflating: xttdriver.pl inflating: ...
### Oracle 10g启动后报ORA-16038错误的解决方法 #### 错误概述 在启动Oracle 10g数据库时遇到ORA-16038错误,该错误通常与归档日志操作有关。具体错误信息为: ``` ORA-16038: log 1 sequence #230 cannot be ...