某政务系统Oracle生产库ORA-00600一级故障恢复处理

事由:

 

2020年8月 现场数据库开发工程师反馈说发现XX政务系统oracle生产数据库频繁自动关闭,启动之后不到半小时又关闭

,连续3次都是如此现象。需要技术支持。        

故障排查:

 

      通过对接向日葵登录到服务器后,第一时间查看Oracle告警日志,发现ORA-00600重大BUG 一级故障。

 

Alter 告警日志很明显的显示ORA-00600: internal error code, arguments: [ktbsdp2], [18446744073709551615], [], [], [], [], [], [], [], [], [], [],

然后Oracle Instance Jkqrh (pid - 14)

–Error 600 encountered while recoverylog transaction(5,5) on object 92887.

 

看到这个错误,我们可以看出 发生ORA-00600 BUG在对象 92887上,无法恢复性的致命错误事务位置(5,5).

由此可以看出这个对象92887对应的表发生了损坏的现象。

 

解决过程

  经过检查后发现92887对象ID 对应的表lgl_comp_base_info。

select object_name,owner from dba_objects where object_id=’92887’ ; --LGL_COMP_BASE_INFO

对应方法:因表LGL_COMP_BASE_INFO损坏将此表进行重建,然后将数据插入。

 

数据库恢复正常,目前没有发现数据库不间断重启的现象。

后续会进行跟踪几天确保运行状况。

 

 

总结与建议

1、现场要定期检查热点表或者热块的SQL语句是否走了有效索引检查表生成数据的逻辑是否在sql写法上导致表没有走索引或者没有有效索引,

   从而导致热点表IO 读写过大,当IO读写达到零界点的时候是可能导致表损坏的。如果热点SQL或热点表没有索引,这是大忌,一般情况需要创建索引,

   会影响性能不说,严重时会导致数据库宕机或者损坏。

2、定期进行打补丁升级修复漏洞

   导致表损坏还有一个原因是数据库存在BUG ORA-00600,导致这个是很多零零散散的问题,比如当IO达到零界点时候,不会自动调整IO性能,平衡负载。

   当这个修复了,可能就发生这种问题的概率会大幅度的降低。

以上就是本次故障排查与修复的全过程。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fashion186

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值