
环境说明:
数据库版本: Oracle 11.2.0.1.0
数据库服务器操作系统: Windows server 2012
问题现象:
业务人员在前台执行某些查询操作时, ORA-07445: 出现异常错误 : 核心转储 [kkqtutlSetViewCols()+250] [ACCESS_VIOLATION] [ADDR:0x8] [PC:0x3DC175C] [UNABLE_TO_READ] [];
解决方案:
查看 alert 警告日志,查找对应的 trace 文件 ;
找到触发此 bug 的 sql 语句如下:
----- Current SQL Statement for this session (sql_id=......) -----
SELECT DISTINCT col_1 col_1_a
FROM (SELECT col_1, col_2, col_3, concat(col_4, col_5) col_6
FROM tab_1
WHERE col_7 IN ('0', '1')
AND col_8 = 0
AND nvl(col_9, 5) <> '3') tab_2
LEFT outer JOIN (SELECT sum(col_1),
sum(col_2),
col_3,
concat(col_4, col_5) col_6
FROM tab_6
WHERE useflag = 1
GROUP BY col_1, col_2)
ON tab_1.col1 = tab_2.col2
根据 MOS 查看,和 Bug 9577499 比较匹配,当优化器为了提高查询性能,选择 SQL 进行查询重写 query rewrite 时,会触发此 BUG ;
ORA-7445 [kkqtutlsetviewcols] ( 文档 ID 1085948.1)
解决方案:
可以禁用 query rewrite 临时解决此问题,或者 升级数据库跳过此 BUG ;
禁用 query rewrite 语句如下:
alter system set query_rewrite_enabled=false scope=both;---(动态参数)
欢迎关注我的微信公众号"IT小Chen"
29

被折叠的 条评论
为什么被折叠?



