ORA-16038的解决

php中文网
发布: 2016-06-07 17:27:02
原创
1936人浏览过

ORA-16038: 日志 3 序列号xxxx无法归档,从这里我们可看出日志组4的数据文件损坏或丢失了,该错误信息指出的日志组和日志名为借鉴

下午15:33分突然接到测试组一个mm的电话说数据库无法连接,于是赶紧登录到数据库尝试登录,果然连接后 长时间处于等待状态。当时第一感觉是不是归档满了,于是查看了当前rac环境下每个节点的alert日志。结果其中一个节点日志在15:30分报错:

ORA-16038: 日志 3 序列号 5035 无法归档
ORA-19809: 超出了恢复文件数的限制
ORA-00312: 联机日志 3 线程 1:

第一时间做了日志的清理,,结果还是不行。于是又查看了ASM存储磁盘的剩余量发现也没问题。没法只能上网取经,有网友说是闪回区爆满,根据我当前环境的部署我觉得这点不可能,因为我的归档不放在这个位置所以不可能是闪回区不够。后来从一片国外网站上看到,该问题其实是redo 日志本身的问题。

1、查看alert告警日志:

ORA-16038: 日志 3 序列号xxxx无法归档

ORA-00313: open failed for members of log group 4 of thread 1
ORA-00312: online log 3 thread 2: '/opt/Oracle/db04/oradata/ORCL/redo03.log'
从这里我们可看出日志组4的数据文件损坏或丢失了,该错误信息指出的日志组和日志名为借鉴只用但是错误码一致。

2、查看文档:

该错误码英文为:The error produced as because it failed to archive online redolog due to a corruption in the online redo file. 大致意思就是说:当前归档失败的原因是因为在线日志中有脏数据。

3、解决办法:

清除非归档的日志。

Winston AI
Winston AI

强大的AI内容检测解决方案

Winston AI 28
查看详情 Winston AI

SQL>select group#,sequence#,archived,status from v$log;

该结果会显示哪些日志没有归档,结果显示第3组日志还没有归档。这有可能就是脏日志。我们可以清除掉这组日志。

4、清除

SQL>alter database clear unarchived logfile group 3;

5、执行完以上操作后尝试切换日志组

SQL>alter system switch logfile;

在经过第4步骤后尝试连接,已经成功!此时如果是生产需赶紧对数据库做次全备。

linux

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号