RMAN备份时RMAN-06059错误的处理

上周因为DATAGUARD系统空间满,导致紧急删除了部分未应用的归档日志,

事后通过RMAN提取主库中ASM的归档日志到本地磁盘,运行了如下命令:

RMAN> copy archivelog '+DATA/log/archivelog/rman2_5585_697238176.dbf' to '/u01/rman2_5585_697238176.dbf';

然后FTP到DATAGUARD服务器并激活日志应用,使得DATAGUARD系统日志得以完全恢复,

但后续在主库的RMAN备份中发现了归档日志备份错误,具体如下:

Starting backup at 02-JUN-11

current log archived

archived log /u01/rman/2_5585_697238176.dbf not found or out of sync with catalog

trying alternate file for archivelog thread 2, sequence 5585

released channel: d1

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03015: error occurred in stored script global_inc1

RMAN-03015: error occurred in stored script global_arch

RMAN-03002: failure of backup command at 06/02/2011 01:20:45

RMAN-06059: expected archived log not found, lost of archived log compromises recoverability

ORA-19625: error identifying file /u01/rman2_5585_697238176.dbf

ORA-27037: unable to obtain file status

Linux-x86_64 Error: 2: No such file or directory

Additional information: 3

分析:

显然是RMAN认为/u01/rman2_5585_697238176.dbf也需要备份,而该文件在我使用后被我从操作系统删除了,

如果通过RMAN删除显然不会出现该问题。

为了解决备份问题,采取如下两条命令解决问题:

1、crosscheck archivelog all;--检查控制文件和实际物理文件的差别

2、delete expired archivelog all;--同步控制文件的信息和实际物理文件的信息

理论支持:

在controlfile中记录着每一个archivelog的相关信息,当我们在OS下把这些物理文件delete掉或异常变动后,

在controlfile中仍然记录着这些archivelog的信息,当我们手工清除archive目录下的文件后,

这些记录并没有被我们从controlfile中清除掉,也就是oracle并不知道这些文件已经不存在了!

这时候我们要做手工的清除。

如果单独执行crosscheck而没有执行delete那么备份还是失败的,原因是那些控制文件的信息和实际的信息还是不同。

实际运行结果:

--检查控制文件和实际物理文件的差别

RMAN> crosscheck archivelog all;

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=956 instance=log1 devtype=DISK

validation succeeded for archived log

archive log filename=+DATA/log/archivelog/1_6677_697238176.dbf recid=17370 stamp=752462211

validation succeeded for archived log

……省略n行

时间: 2024-10-09 20:51:01

RMAN备份时RMAN-06059错误的处理的相关文章

rman备份时记录更多的log 或者trace信息

有时候,我们备份时会hang住,或出现莫名其妙的问题 有以下2种方法,可以多记录log 1: 分配通道时 RMAN> allocate channel t1 device type sbt PARMS='ENV=(NSR_SERVER=SHMT.US.ORACLE.COM, NSR_CLIENT=${THE_CLIENT}, NSR_GROUP=tape)' trace=2; 2:在rman命令 中指定 debug/trace %rman target /  log rman.log trace

RMAN 备份路径困惑(使用plus archivelog时)

--******************************************* -- RMAN 备份路径困惑(使用plus archivelog时) --*******************************************       最近RMAN备份时,碰到一点疑惑.即使用plus archivelog 时不管是使用format参数指定备份文件的路径还是使用configure配置RMAN备份路径,都不能 将数据文件和日志文件备份到同一路径.在因为以前使用RMAN备

Oracle RMAN备份(三)联机RMAN 数据库备份

七. 联机RMAN 数据库备份 7.1 联机数据库备份 要使用RMAN执行联机备份操作,数据库必须置于Archivelog 模式. 如果不在归档模式,则尝试联机备份时RMAN就会生成一个错误. Oracle 归档与非归档的切换 http://blog.csdn.net/tianlesoftware/archive/2009/10/19/4693470.aspx 连接备份示例: RMAN> Configure default device type to disk; RMAN> configur

Oracle RMAN备份(二)Backup 命令选项

五. Backup 命令选项 5.1 压缩 默认情况下,RMAN 执行NULL 数据块压缩. 5.1.1 NULL 控制压缩 使用这种形式的压缩时,Oracle不会备份未使用的数据块. 执行NULL 数据块压缩的情形有一下两种情况: (1)从未使用过的数据块不被压缩 (2)在给定的特定标准下,使用过一次的数据块也不被备份. 在第一种情况下,将不会备份其中一直没有数据的所有数据块,在第二种情况下,如果数据库和关联的数据库满足某种标准,空块将不被备份,即使 它在某个时刻包含数据. 下面是允许RMAN

oracle中RMAN备份和检查逻辑坏块

1. RMAN备份时是默认检查物理坏块. 2. 如果要检查逻辑坏块,可以用如下语句: $ rman target / RMAN> backup check logical validate database; 注上述语句,只是检查,不会备份的. 3. 如果要在备份的同时,进行逻辑坏块检查,可以用: $ rman target / RMAN> backup check logical database; 4.如果发现坏逻辑如何处理,下面补充一篇教程. 利用RMAN检测数据库坏块的脚本 虽然我们也

RMAN 系列(四) ---- RMAN 备份(引用)

原文转自:http://blog.csdn.net/tianlesoftware/article/details/5687938 一. RMAN 备份的一些优点 1. RMAN 会检测和报告损坏的数据块. 2. 不需要将表空间置入热备份模式,RMAN 就可以连接备份数据库. 热备份期间会额外的生成重做日志. 3. RMAN 会自动跟踪新的数据文件和表空间,这样就不再需要在脚本中添加新的表空间和数据文件. 4. RMAN 只备份使用过的数据库(直至最高使用标记(High wate mark)),这

[20121127]rman备份数据文件大小与truncate.txt

[20121127]rman备份数据文件大小与truncate.txt 记得以前看rman的书,rman仅仅备份已经格式话的块,如果这样一个表被truncate后,即使空间回收了.但是在rman备份时,备份大小不会变画太多,这些前面使用的块一定会备份. 自己做一个测试看看. 1.建立测试环境:SQL> select * from v$version where rownumBANNER--------------------------------------------------------

Oracle RMAN备份(一)脱机RMAN 数据库备份

一. RMAN 备份的一些优点 1. RMAN 会检测和报告损坏的数据块. 2. 不需要将表空间置入热备份模式,RMAN 就可以连接备份数据库. 热备份期间会额外的生成重做日志. 3. RMAN 会自动跟踪新的数据文件和表空间,这样就不再需要在脚本中添加新的表空间和数据文件. 4. RMAN 只备份使用过的数据库(直至最高使用标记(High wate mark)),这样RMAN 备份映像通常小于联机备份的备份脚本. 5. RMAN 提供备份映像的实际压缩. 6. RMAN 提供自动且方便的备份,

[20160524]rman备份与检查点4.txt

[20160524]rman备份与检查点4.txt --链接: http://blog.itpub.net/267265/viewspace-2105221/ http://blog.itpub.net/267265/viewspace-2105223/ --昨晚仔细思考,重复测试看看,使用新的控制文件是否可以恢复.感觉我的问题在于我做了catalog注册了备份文件时丢失某些信息.重新 --测试看看. 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING