环境信息:
oracle 11.2.0.4.0 rac 双节点
1、故障现象
某业务用户执行某个操作导致ORA-03113连接断开
db后台日志:
2、故障排查
根据db后台日志查询出相关sql
测试故障
按照导致故障的sql进行故障复现。
3、故障原因
由于oracle11g 的bug导致,oracle 11g优化器对相关条件有限制,具体bug信息未记录
11.2.0.4里面对create tablexxx as select …. From …的限制比较严格(或者也许就是真的一个bug?),
意味着在不知道后面的select … from …的总体数量的情况下或者数量已经超过了oracle的默认值比如1000这样
4、解决办法
打相关的补丁或者对sql进行优化整改
4.1 临时解决办法1
优化器设置为10.2.0.1的版本,可以解决以上问题,但是此方法不可取。
alter session set optimizer_features_enable=‘10.2.0.1’;
4.2 解决办法2
设置隐含参数:
alter sesseion set “_pred_move_around”=false;
详见官方文档:Doc ID 1943615.1
4.3 解决办法3
建议使用此方法解决
Sql添加and rownum>-1或者and rownum<100000限制条件
sql整改后业务运行正常。
给我点个赞。[1]
来源于[https://www.modb.pro/](墨天轮 ↩︎
最后修改时间:2022-11-08 22:22:24
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。