天天看点

在Oracle 11.2的数据库中建表时遇到 RESULT_CACHE (MODE DEFAULT) ORA-00922: missing or invalid option

在Oracle 11.2的数据库中建表时遇到 RESULT_CACHE (MODE DEFAULT)  ORA-00922: missing or invalid option

背景介绍:

此db是11.2.0.3.8的linux下的单机,是OGG的备库,OGG的主库是11.2.0.3.8下的linux下的rac。这两个db通过OGG进行灾备。最初发现“ORA-00922: missing or invalid option”错误,就是因为OGG备端上的rep进程abend,abend时的rpt(report)如下:

以下的报错忽略。

看到OGG的rep进程报错,一开始还以为是ogg的问题,后来就从上面单独截取出create 脚本,放在sqlplus里边跑,结果还是报错(就是本文一开始可以看到的),那就可以说是Oracle database 的问题了,不是OGG的问题。

后来仔细想了想ogg主库和ogg备库的差异,ogg主库是dbca新创建的,ogg备库是从10.2.0.5升级升上来的。想到这里,有经验的DBA就会立即去检查OGG备库的compatible参数,检查的结果是compatible参数值为10.2.0.5.于是就要求修改该参数,修改为11.2.0.0.0(跟主库一样),当然,修改此参数有几个注意点:

1. 修改compatible参数是重启数据库生效。

2. 一旦修改完成此参数后(指重启数据库后),就不能降低此参数到原来的值,否则实例到mount状态时会报如下的错误:

本案例的知识点:

1. 查看db是dbca新建的还是upgrade上来的方法: