最近一客户执行创建物化视图操作时报错如下:
ORA-600 [rwoirw: check ret val]
由于语句过长,就不再整个贴出,大体语句如下:
create materialized view xx.xxx
refresh force on demand
as
select ....;
我将此语句单独拎出来执行,可以执行成功,一般0600很大可能是bug,所以怀疑可能是bug,后来将此语句写成ctas形式,结果还是报痛痒 错误。
不多说了,MOS一查,果然有个bug与此问题相符(这个bug会在11.2.0.3/4出现):
Bug 14275161 - ORA-600 [rwoirw: check ret val] on CTAS with predicate move around (文档 ID 14275161.8)
Affects:
Product (Component) Oracle Server (Rdbms) Range of versions believed to be affected (Not specified) Versions confirmed as being affected Platforms affected Generic (all / most platforms affected)
Fixed:
The fix for 14275161 is first included in
描述如下:
A CTAS (Create table as select) operation undergoing predicate move around may fail during execution with an ORA-600 [rwoirw: check ret val] or an ORA-7445.
解决办法呢,有两种:
1、禁用导致问题相关的参数修改一下,可以在系统级别,也可以在session级别来修改(一般ctas操作都比较少,建议session级别修改)
alter session set "_pred_move_around"=FALSE;
2、使用Interim patches,没找到上传附件的。。。