在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

hostdr:[/home/oracle]$sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Thu Jul 9 12:52:11 2015

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>
SQL> CREATE TABLE USERA."TABLE_NAME_AA"
  2  (
  3    C1           CHAR(8 BYTE)              DEFAULT ' ',
  4    C2           CHAR(2 BYTE)              DEFAULT ' ',
  5    C3           NUMBER(12)                DEFAULT 0,
  6    C4           NUMBER(16)                DEFAULT 0,
  7    C5           NUMBER(16)                DEFAULT 0,
  8    C6           NUMBER(12)                DEFAULT 0,
  9    C7           NUMBER(16)                DEFAULT 0,
 10    C8           NUMBER(16)                DEFAULT 0,
 11    C9           NUMBER(12)                DEFAULT 0,
 12    C10          NUMBER(16)                DEFAULT 0,
 13    C11          NUMBER(16)                DEFAULT 0
 14  )
 15  TABLESPACE USERS
 16  RESULT_CACHE (MODE DEFAULT)
 17  PCTUSED    0
 18  PCTFREE    10
 19  INITRANS   1
 20  MAXTRANS   255
 21  STORAGE    (
 22              INITIAL          64K
 23              NEXT             1M
 24              MINEXTENTS       1
 25              MAXEXTENTS       UNLIMITED
 26              PCTINCREASE      0
 27              BUFFER_POOL      DEFAULT
 28              FLASH_CACHE      DEFAULT
 29              CELL_FLASH_CACHE DEFAULT
 30             )
 31  LOGGING
 32  NOCOMPRESS
 33  NOCACHE
 34  NOPARALLEL
 35  MONITORING
 36  /
RESULT_CACHE (MODE DEFAULT)
*
ERROR at line 16:
ORA-00922: missing or invalid option


SQL>


 

背景介绍:
此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)如下:

2015-05-18 10:14:14  INFO    OGG-01407  Setting current schema for DDL operation to [USERA].

2015-05-18 10:14:15  INFO    OGG-01408  Restoring current schema for DDL operation to [goldengate].

2015-05-18 10:15:30  INFO    OGG-01407  Setting current schema for DDL operation to [USERA].

Source Context :
  SourceModule            : [ggapp.ddl]
  SourceID                : [/scratch/mmar/view_storage/mmar_20199012/oggcore/OpenSys/src/gglib/ggapp/ddlrep.c]
  SourceFunction          : [DDLREP_handleDDLError(const UString &, const UString &, const UString &, UString &, int, RepConfig_t *, const UString &, const UString &, const UStr
ing &, CDBObjName<7> &, CDBObjName<1> &, long *)]
  SourceLine              : [684]

2015-05-18 10:15:30  ERROR   OGG-00519  Fatal error executing DDL replication: error 
[Error code [922], ORA-00922: ^Z^Z^Z^Z^Z^Z^Z SQL CREATE TABLE USERA."TABLE_NAME_AA"
(
  C1           CHAR(8 BYTE)              DEFAULT ' ',
  C2           CHAR(2 BYTE)              DEFAULT ' ',
  C3           NUMBER(12)                DEFAULT 0,
  C4           NUMBER(16)                DEFAULT 0,
  C5           NUMBER(16)                DEFAULT 0,
  C6           NUMBER(12)                DEFAULT 0,
  C7           NUMBER(16)                DEFAULT 0,
  C8           NUMBER(16)                DEFAULT 0,
  C9           NUMBER(12)                DEFAULT 0,
  C10          NUMBER(16)                DEFAULT 0,
  C11          NUMBER(16)                DEFAULT 0
)
TABLESPACE USERS
RESULT_CACHE (MODE DEFAULT)
PCTUSED    0
PCTFREE    10
INITRANS   1
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            NEXT             1M
            MINEXTENTS       1
            MAXEXTENTS       UNLIMITED
            PCTINCREASE      0
            BUFFER_POOL      DEFAULT
            FLASH_CACHE      DEFAULT
            CELL_FLASH_CACHE DEFAULT
           )
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING   /* GOLDENGATE_DDL_REPLICATION */], no error handler present.

***********************************************************************
*                   ** Run Time Statistics **                         *
***********************************************************************


 

以下的报错忽略。

看到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状态时会报如下的错误:

ORA-00201: control file version 11.2.0.0.0 incompatible with ORACLE version 10.2.0.5
ORA-00202: control file: 'D:\IM\CONTROLFILE\CONTROL01.CTL'

本案例的知识点:

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

SQL> set pages 100 lines 120
SQL> col action format a16
SQL> col namespace format a10
SQL> col version format a10
SQL> col comments format a26
SQL> col action_time format a30
SQL> col bundle_series format a15
SQL> set line 200
SQL> alter session set nls_timestamp_format = 'yyyy-mm-dd hh24:mi:ss.ff';
SQL> select * from dba_registry_history;

ACTION_TIME                    ACTION           NAMESPACE  VERSION            ID BUNDLE_SERIES   COMMENTS
------------------------------ ---------------- ---------- ---------- ---------- --------------- --------------------------
2015-01-03 12:15:56.136897     VIEW INVALIDATE                           8289601                 view invalidation
2015-01-03 12:16:30.178980     UPGRADE          SERVER     11.2.0.3.0                            Upgraded from 10.2.0.5.0
2015-01-03 12:16:39.788907     APPLY            SERVER     11.2.0.3            8 PSU             PSU 11.2.0.3.8

SQL> 


 

你可能感兴趣的:(Oracle,GoldenGate,Oracle,DB)