1,rman备份文件失踪之谜

备份文件消失了,每天自动备份后,会删除前一天的备份文件,如下所示,这是怎么回事呢?

2,查看备份任务

[root@earth_dbm1data]# more/tmp/oracle_fullback.log

蛮简单的自动备份脚本,每天晚上10点22分开始执行的:

[root@earth_dbm1 data]# crontab -l

10 22 * * */data/backup/scripts/rman_full_backup.sh>> /tmp/oracle_fullback.log 2>&1

[root@earth_dbm1 data]#

查看备份的日志,没有异常信息:

RMAN> 2> 3> 4> 5> 6>7> RMAN> RMAN> RMAN> RMAN> RMAN> RMAN> begin to copy thebackup to pd servers.

end to copy the backup to pd server.

RMAN> 2> 3> 4> 5> 6>7> RMAN> RMAN> RMAN> RMAN> RMAN> RMAN> begin to copy thebackup to pd servers.

end to copy the backup to pd server.

RMAN> 2> 3> 4> 5> 6>7> RMAN> RMAN> RMAN> RMAN> RMAN> RMAN> begin to copy thebackup to pd servers.

end to copy the backup to pd server.

RMAN> 2> 3> 4> 5> 6>7> RMAN> RMAN> RMAN> RMAN> RMAN> RMAN> begin to copy thebackup to pd servers.

end to copy the backup to pd server.

RMAN> 2> 3> 4> 5> 6>7> RMAN> RMAN> RMAN> RMAN> RMAN> RMAN> begin to copy thebackup to pd servers.

end to copy the backup to pd server.

[root@earth_dbm1data]#

3,查看备份脚本日志

去查看备份脚本/data/backup/scripts/rman_full_backup.sh里面的日志rman_backup.log,然后看到如下记录:

从日志文件看到如下信息:

……

Deleting the following obsoletebackups and copies:

……

backup piecehandle=/data/backup/data/2016-06-30/full_POWERDES_20160630_164.bak RECID=164STAMP=915919808

deleted backup piece

……

表明说在备份的过程中,会删除掉以前的备份记录,那么这个是rman的机制造成的,其策略是啥?

4,问题分析

查询到rman有一个备份管理器,RMAN提供了CONFIGURERETENTION POLICY命令设置备份保存策略,即设置备份文件保留多长时间。RMAN会将超出时间的备份文件标识为废弃(obsolete)。命令REPORT OBSOLETE和DELETE OBSOLETE分别用来查看废弃的文件和删除废弃的文件。RMAN跟踪备份的数据文件、控制文件、归档日志文件,并确定哪些需要保存,哪些需要标记为废弃。但RMAN不自动删除废弃的备份文件。

然后再去看备份脚本,有delete noprompt obsolete;如下所示:

[root@earth_dbm1data]# crontab -l

10 22 * * * /data/backup/scripts/rman_full_backup.sh >> /tmp/oracle_fullback.log 2>&1

[root@earth_dbm1data]# more /data/backup/scripts/rman_full_backup.sh

#!/bin/sh

export DATE=`date +%F`

export BACK_DIR='/data/backup/data'

su - oracle -c "

mkdir -p $BACK_DIR/$DATE

rman log=$BACK_DIR/$DATE/rman_backup.log target / <

run{

backup as compressed backupset database

format '$BACK_DIR/$DATE/full_%d_%T_%s.bak'

plus archivelog

format '$BACK_DIR/$DATE/arch_%d_%T_%s.bak' delete input;

sql 'alter system archive log current';

}

crosscheck backup;

crosscheck archivelog all;

delete noprompt expired backup;

delete noprompt expired archivelog all;

delete noprompt obsolete; #删除过期的所有备份记录

exit

EOF

"

su - oracle -c "

chmod 775 $BACK_DIR/$DATE/*

"

#cd /home/pdbcakup/

echo "begin to copy the backup to pd servers." >> /tmp/oracle_fullback.log

#cp -r $BACK_DIR/$DATE /home/pdbcakup

echo "end to copy the backup to pd server." >> /tmp/oracle_fullback.log

[root@earth_dbm1data]#

果然是delete noprompt obsolete;引起的,到此问题已经知道是怎么回事了,设置delete noprompt obsolete;了导致rman备份完后会删除超出失效日期的备份文件,而oracle默认的有效rman备份文件就是一天,所以才会出现每天自动备份完后,以前的备份记录都失踪了。

5,解决问题

解决办法有以下途径:

(1)去掉delete noprompt obsolete;

(2)延长rman备份文件的有效期

这里采用第二种解决方案,设置rman备份保存时间为60天。

#新的RMAN配置参数

RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 60 DAYS;

using target database control file instead of recovery catalog

new RMAN configuration parameters:

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 60 DAYS;

new RMAN configuration parameters are successfully stored

RMAN>

#已成功存储新的RMAN配置参数

6,问题解决

第二天然后再等去看备份结果,就可以看到不会再删除昨天的备份了。

[root@earth_dbm1 data]# du -sh *

......

12K 2016-06-26

12K 2016-06-27

12K 2016-06-28

12K 2016-06-29

12K 2016-06-30

4.4G 2016-07-01

4.4G 2016-07-02

[root@earth_dbm1 data]#

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

oracle11 rman,oracle11g rman备份文件失踪之谜相关推荐

  1. 使用RMAN工具-RMAN详解

    <Oracle 11g 权威指南>  第21章 使用RMAN工具 21.2 RMAN资料档案库/恢复目录/控制文件 RMAN通过启用操作系统进程将数据备份到磁盘或者磁带上. 为了完成对目标 ...

  2. RMAN的rman: can't open target错误

    在Linux上,安装完成之后,在测试RMAN时可能会遇到如下错误: [oracle@smsdbrac1 oracle]$ rman target / rman: can't open target 这 ...

  3. 【RMAN】RMAN跨版本恢复(中)

    [RMAN]RMAN跨版本恢复(中)--大版本异机恢复 BLOG文档结构图 ORACLE_SID=jiagulun 原机:  OS:Linux x86 64-bit  IP:192.168.59.15 ...

  4. 【RMAN】RMAN脚本中使用替换变量

    [RMAN]RMAN脚本中使用替换变量--windows 下rman全备脚本 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也 ...

  5. Oracle 运维篇+RAC集群转单实例/RMAN异机恢复/RMAN迁移/RMAN备份恢复操作概要

    说明:本文为Oracle RAC集群转单实例/RMAN异机恢复/RMAN迁移/RMAN备份恢复操作概要方便用户查阅 温馨提示:如果您发现本文哪里写的有问题或者有更好的写法请留言或私信我进行修改优化 说 ...

  6. 【RMAN】RMAN脚本中使用替换变量--windows 下rman全备脚本

    [RMAN]RMAN脚本中使用替换变量--windows 下rman全备脚本 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也 ...

  7. oracle迁移 rman,ORACLE RMAN迁移

    1.进入RMAN rman target / 2.关闭目标数据库 shutdown immediate 3.创建原始参数文件  任意路径均可, 下面会用到 *.audit_file_dest='C:\ ...

  8. oracle如何检查rman,oracle RMAN检查命令

    1.crosscheck 校验备份文件与备份元数据信息之间的一致性: RMAN> crosscheck; RMAN-00571: ================================ ...

  9. oracle rman list,RMAN的list和report命令详解

    一.List命令 RMAN的list命令是一种在数据库控制文件或恢复目录中查询备份的历史信息的方法. 1.列出对应物 命令:list incarnation 作用:为用户提供目标数据库的每个数据库对应 ...

最新文章

  1. 在CentOS 6.9 x86_64的nginx 1.12.2上安装第三方模块set-misc-nginx-module实录
  2. Docker实战9 之Dockerfile深入实践
  3. 使用 Caddy 自动化发布 Web 应用
  4. 4、使用PreparedStatement接口实现增,删,改操作(常用)
  5. redis设置为前台运行的方式
  6. 重温“ Java Sucks”
  7. 基于BISS0001构成的热释电红外延时照明控制器电路图
  8. html调用接口_Spring 自调用事务失效,你是怎么解决的?
  9. 根据录入的计算公式计算_超全的铝材重量计算公式
  10. C# 集合类 :(Array、 Arraylist、List、Hashtable、Dictionary、Stack、Queue)
  11. BIM族库下载——Revit配景族
  12. 下载任意范围的DEM数据 国产谷歌地球统统满足你
  13. 基于SSM的高校学生宿舍报修管理系统
  14. Youtube内容正在失控
  15. Python——绑定与方法调用
  16. 法制日报:要在法律上“悉心关照”百度
  17. L3-008 喊山 (30 分)(bfs)
  18. TMF Open-API框架
  19. excel 运算十分缓慢和卡顿怎么办?
  20. kubelet源码 删除pod(一)

热门文章

  1. import关键字的使用
  2. 一篇文章快速搞懂十大排序算法(C++实现源码)
  3. Stanford机器学习---第九讲. 聚类
  4. 红米note3支持html,红米note3如何检测硬件信息?指令代码说明
  5. 06-列空间和零空间
  6. 07.计算Nova→2.nova组件详解→2.nova-scheduler
  7. 摆脱jquery,用自己的JS库实现ajax功能
  8. [下载]北京新版小学英语五年级上册mp3点读APP
  9. EasyUI中Datagrid列定位方法
  10. CCF201604-5 网络连接(募集解题代码)