1.问题描述:
在Oracle 12C,select查询的sql语句中视图过多时(目前只发现此情况),执行sql语句可能会报错:
ora-00600 [kpp_concatq:2]
在PLSQL上select偶尔会报;
BIEE的分析也出现此问题(分析加了过滤器之后,即使有数据,也可能会报错);
2.查错:
oracle关于此错误的官方回复是bug: bug ID:20985596
Bug 20985596 : ORA-00600[KPP_CONCATQ:2] OCCURS WHEN SQL EXECTING
官网:
oracle官网
删表重新建表,发现就不报此错。可是隔段时间还是会报错。
3.解决方法:
该bug由于result cache相关代码引起的,可以临时关闭result cache解决:
alter system set result_cache_mode=manual;
alter system set result_cache_max_size=0;
alter system set "_optimizer_ads_use_result_cache"=false;
解决方法来自:http://www.nianzhi.cc/weibo/3857612770907266
关于:_optimizer_ads_use_result_cache
http://www.dba-oracle.com/t_optimizer_ads_use_result_cache.htm