由于笔者的生产环境下使用了DSG的数据同步工具,像Veritas,DSG这样的备份软件由于归档日志的异常导致归档日志备份失败大例子屡见不鲜,这里笔者提供个思路,也希望大家如果有更好的解决方式可以和笔者交流。
1. $rman
2. connect target /
3. crosscheck archivelog all;
4. delete expired archivelog all;
===========================
原理
在controlfile中记录着每一个archivelog的相关信息,当我们在OS下把这些物理文件delete掉或异常变动后,在controlfile中仍然记录着这些archivelog的信息,当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,也就是oracle并不知道这些文件已经不存在了!这时候我们要做手工的清除。 crosscheck archivelog all;的作用就是检查控制文件和实际物理文件的差别。
delete expired archivelog all;就是同步控制文件的信息和实际物理文件的信息。如果单独执行crosscheck而没有执行delete那么备份还是失败的,原因是那些控制文件的信息和实际的信息还是不同。crosscheck backupset 是检查备份集和实际的文件。
1、备份集有两种状态A(Available,RMAN认为该项存在于备份介质上)X(Expired,备份存在于控制文件或恢复目录中,但是并没有物理存在于备份介质上)
2、 crosscheck 的目的是检查RMAN 的目录以及物理文件,如果物理文件不存在于介质上,将标记为Expired。如果物理文件存在,将维持Available。如果原先标记为Expired的备份集再次存在于备份介质上(如恢复了损坏的磁盘驱动器后),
crosscheck将把状态重新从Expired标记回Available。
3、 crosscheck 输出分两部分。第一部分列出确定存在于备份介质上的所有备份集片,第二部分列出不存在于备份介质上的备份集片,并将其标记为Expired。当设置备份保存策略后,一个备份过期,crosscheck之后标记为丢弃的备份状态依旧为available,要删除丢弃备份delete obsolete。
crosscheck archivelog all和crosscheck backup of archivelog all的区别
crosscheck archivelog all; 验证的是DB的归档日志即log_archive_dest参数指定位置的文件,当手工删除了归档日志以后,Rman备份会检测到日志缺失,从而无法进一步继续执行。所以此时需要手工执行crosscheck过程,之后Rman备份可以恢复正常。
RMAN> crosscheck archivelog all;
crosscheck backup of archivelog all;验证的是用rman 备份归档日志的备份文件,执行完这个命令后可用delete expired archivelog;删除状态为expired的备份文件
RMAN> crosscheck backup of archivelog all;
参考至:http://blog.sina.com.cn/s/blog_54eeb5d90100kqf4.html
http://space.itpub.net/12131609/viewspace-702155
本文原创,转载请注明出处、作者
如有错误,欢迎指正
邮箱:czmcj@163.com
分享到:
相关推荐
Oracle数据库中的RMAN(Recovery Manager)是一个常用的数据库备份和恢复管理工具,可以用来删除指定天数前的归档日志文件。 首先,我们需要了解归档日志的作用。在Oracle数据库中,当数据库处于归档模式时,所有对...
本文主要描述Oracle DB 在使用rman进行恢复时,如何利用rman注册备份集的方式达到主库和目标库数据一致的目的。当然Oracle数据库的话使用DG或ADG技术、或者rman的duplicate技术都是非常好的选择。
RMAN 提供了多种类型的备份,包括全备份、增量备份和归档日志备份。RMAN 还提供了恢复数据库的功能,可以从备份中恢复数据库。 为什么需要删除归档日志文件? RMAN 在执行备份操作时,会生成大量的归档日志文件,...
6. 配置 RMAN 归档日志文件备份副本数:CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; 7. 配置 RMAN 通道设备类型:CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/u01/app/oracle/rmanbak/df_%d_%...
### Oracle归档日志配置与RMAN备份策略详解 #### 一、Oracle归档日志配置步骤 在Oracle数据库管理中,归档日志模式是非常重要的一个环节,它能够确保数据库在发生故障后能够恢复到最新的状态。下面将详细介绍如何...
编写rman批处理文件,实现每天夜间1点执行、数据库全备、备份控制文件及归档日志文件、备份文件保存至PC2\RMAN目录下,并在完成归档日志文件备份后自动删除已备份的归档日志。 知识点五:备份保留策略 备份保留7天...
以下是对"RMAN备份脚本(详细)"的详细说明,以及如何在实际生产环境中应用这些脚本。 首先,了解RMAN的基本概念: 1. **通道(Channels)**:RMAN通过通道来执行备份和恢复任务,每个通道可以连接到一个设备,如...
RMAN备份命令详解 RMAN(Recovery Manager)是Oracle数据库备份和恢复的工具,提供了多种备份方式和恢复选项。下面是RMAN备份命令的详细解释: 一、切换服务器归档模式 在开始备份之前,需要切换服务器到归档模式...
RMAN备份与恢复步骤 RMAN(Recovery Manager)是Oracle数据库的备份和恢复工具,它提供了强大的备份和恢复功能。在本文中,我们将详细介绍RMAN的备份和恢复步骤。 切换服务器归档模式 在开始备份之前,我们需要将...
4. 删除归档日志:使用 RMAN 工具删除归档日志文件,释放存储空间。 三、裸设备上的备份与恢复 在裸设备上,备份和恢复的操作需要考虑到归档日志的存储问题。裸设备上无法存储归档日志文件,因此需要将归档日志...
总而言之,文档中的内容强调了RMAN备份技术的灵活性和强大功能,包括备份控制文件、数据库、归档日志的压缩备份,以及增量备份的能力。此外,还演示了如何利用Cron作业来自动化备份流程,并确保备份操作的定时和高效...
归档日志设置完成后,你可以使用RMAN进行数据库备份和恢复。RMAN是Oracle提供的强大工具,它支持多种备份类型,包括完整备份、增量备份和差异备份。在恢复过程中,RMAN可以用来恢复到特定时间点,这对于处理灾难性...
以下是Oracle RMAN备份与恢复的相关知识点: 备份恢复概述 备份恢复是DBA管理员的基本技能之一,旨在保护数据库中的数据免受意外损坏或丢失。 Oracle RMAN提供了强大的备份和恢复功能,帮助DBA管理员快速恢复...
* 归档备份:每天一次,备份数据库的归档日志 * 增量备份:每天一次,备份数据库的增量变化 五、备份脚本 本方案提供了以下备份脚本: * 全库备份脚本:用于备份整个数据库 * 归档备份脚本:用于备份数据库的归档...
- RMAN备份内容广泛,涵盖整个数据库、单个或多个表空间、数据文件、控制文件、归档日志文件以及参数文件。 2. **RMAN备份的类型** - **完整备份(full)**:包含所有数据块的副本,是恢复的基础。 - **增量...
RMAN备份的优势在于其自动化程度高,可以灵活地配置备份策略,并且能够充分利用Oracle的闪回技术和归档日志实现高效的恢复。 1. 完整数据库备份:RMAN可以创建整个数据库的备份,包括数据文件、控制文件、重做日志...
2. 脚本方式:在提供的文件列表中,`del_stdby_archivelog_rman.sh` 和 `tmp_delete_archive_rman.sh` 可能是自定义的shell脚本,用于调用RMAN命令来删除特定条件的归档日志。这些脚本可能包含逻辑,如检查备库的...
### Oracle数据库Rman备份方案详解 #### 一、概述 Oracle RMAN(Recovery Manager)是一种功能强大的工具,用于管理Oracle数据库的备份、恢复及灾难恢复。本文将详细介绍如何使用RMAN来制定Oracle数据库的备份策略...
1. **备份的重要性**:在删除归档日志之前,最好先进行一次完整的数据库备份,以防万一删除过程中出现问题,可以快速恢复。 2. **保留策略**:根据具体情况设定归档日志的保留策略,例如保留最近7天的日志等。 3. **...
此命令备份所有数据文件和归档日志,并删除归档日志。 **3.4 备份表空间** 可以单独备份某个表空间或一组表空间。例如: ``` backup tablespace users; ``` 此命令备份名为`users`的表空间。 **3.5 备份指定...