rman备份数据库加上plus archivelog报错未找到预期的存档日志该怎么解决,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
用rman备份数据库加上plus archivelog 备份归档日志 报这个错误RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: failure of backup plus archivelog command at 05/05/2014 01:00:04RMAN-06059: expected archived log not found, loss of archived log compromises recoverabilityORA-19625: error identifying file /oracle/PRD/oraarch/PRDarch2_16336_840558852.dbfORA-27037: unable to obtain file statusIBM AIX RISC System/6000 Error: 2: No such file or directoryAdditional information: 31.原因 :归档日志会用 rm 命令定期清除2.原理(从网上查的资料) :2.1在controlfile中记录着每一个archivelog的相关信息,当我们在OS下把这些物理文件delete掉或异常变动后,在controlfile中仍然记录着这些archivelog的信息,当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,也就是oracle并不知道这些文件已经不存在了!这时候我们要做手工的清除。 crosscheck archivelog all;的作用就是检查控制文件和实际物理文件的差别。delete expired archivelog all;就是同步控制文件的信息和实际物理文件的信息。 如果单独执行crosscheck而没有执行delete那么备份还是失败的,原因是那些控制文件的信息和实际的信息还是不同。 crosscheck backupset crosscheck backupset 是检查备份集和实际的文件 1 备份集有两种状态A(Available,RMAN认为该项存在于备份介质上)X(Expired,备份存在于控制文件或恢复目录中,但是并没有物理存在于备份介质上)2.2 crosscheck 的目的是检查RMAN 的目录以及物理文件,如果物理文件不存在于介质上,将标记为Expired。如果物理文件存在,将维持Available。如果原先标记为Expired的备份集再次存在于备份介质上(如恢复了损坏的磁盘驱动器后),crosscheck将把状态重新从Expired标记回Available。3.解决方法:在脚本中加入RMAN> crosscheck archivelog all;RMAN> delete expired archivelog all;
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
PHP-AJAX 与 MySQL
深入理解PHP+Mysql分布式事务与解决方案
PHP中的PDO学习(一)初始化PDO及原始SQL语句操作
PDO已经是PHP中操作数据库事实上的标准。包括现在的框架和各种类库,都是以PDO作为数据库的连接方式。基本上只有我们自...
php开发 发表评论功能
PHP后台备份MySQL数据库的源码实例
PHP链接数据库操作教程
关于sql注入
第六天二次注入sqlmap简单参数
看了这篇MySQL,开发功力又升级
SQLite 数据库注入总结
用户名
密码
记住登录状态 忘记密码?
邮箱
确认密码
我已阅读并同意 用户协议