ORA-16038的解决

下午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、解决办法:
清除非归档的日志。
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步骤后尝试连接,已经成功!此时如果是生产需赶紧对数据库做次全备。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17326462/viewspace-754594/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/17326462/viewspace-754594/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值