当前位置:Gxlcms > 数据库问题 > 在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

时间:2021-07-01 10:21:17 帮助过:5人阅读


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

  1. hostdr:[/home/oracle]$sqlplus / as sysdba
  2. SQL*Plus: Release 11.2.0.3.0 Production on Thu Jul 9 12:52:11 2015
  3. Copyright (c) 1982, 2011, Oracle. All rights reserved.
  4. Connected to:
  5. Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
  6. With the Partitioning, OLAP, Data Mining and Real Application Testing options
  7. SQL>
  8. SQL> CREATE TABLE USERA."TABLE_NAME_AA"
  9. 2 (
  10. 3 C1 CHAR(8 BYTE) DEFAULT ' ',
  11. 4 C2 CHAR(2 BYTE) DEFAULT ' ',
  12. 5 C3 NUMBER(12) DEFAULT 0,
  13. 6 C4 NUMBER(16) DEFAULT 0,
  14. 7 C5 NUMBER(16) DEFAULT 0,
  15. 8 C6 NUMBER(12) DEFAULT 0,
  16. 9 C7 NUMBER(16) DEFAULT 0,
  17. 10 C8 NUMBER(16) DEFAULT 0,
  18. 11 C9 NUMBER(12) DEFAULT 0,
  19. 12 C10 NUMBER(16) DEFAULT 0,
  20. 13 C11 NUMBER(16) DEFAULT 0
  21. 14 )
  22. 15 TABLESPACE USERS
  23. 16 RESULT_CACHE (MODE DEFAULT)
  24. 17 PCTUSED 0
  25. 18 PCTFREE 10
  26. 19 INITRANS 1
  27. 20 MAXTRANS 255
  28. 21 STORAGE (
  29. 22 INITIAL 64K
  30. 23 NEXT 1M
  31. 24 MINEXTENTS 1
  32. 25 MAXEXTENTS UNLIMITED
  33. 26 PCTINCREASE 0
  34. 27 BUFFER_POOL DEFAULT
  35. 28 FLASH_CACHE DEFAULT
  36. 29 CELL_FLASH_CACHE DEFAULT
  37. 30 )
  38. 31 LOGGING
  39. 32 NOCOMPRESS
  40. 33 NOCACHE
  41. 34 NOPARALLEL
  42. 35 MONITORING
  43. 36 /
  44. RESULT_CACHE (MODE DEFAULT)
  45. *
  46. ERROR at line 16:
  47. ORA-00922: missing or invalid option
  48. 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)如下:

  1. 2015-05-18 10:14:14 INFO OGG-01407 Setting current schema for DDL operation to [USERA].
  2. 2015-05-18 10:14:15 INFO OGG-01408 Restoring current schema for DDL operation to [goldengate].
  3. 2015-05-18 10:15:30 INFO OGG-01407 Setting current schema for DDL operation to [USERA].
  4. Source Context :
  5. SourceModule : [ggapp.ddl]
  6. SourceID : [/scratch/mmar/view_storage/mmar_20199012/oggcore/OpenSys/src/gglib/ggapp/ddlrep.c]
  7. SourceFunction : [DDLREP_handleDDLError(const UString &, const UString &, const UString &, UString &, int, RepConfig_t *, const UString &, const UString &, const UStr
  8. ing &, CDBObjName<7> &, CDBObjName<1> &, long *)]
  9. SourceLine : [684]
  10. 2015-05-18 10:15:30 ERROR OGG-00519 Fatal error executing DDL replication: error
  11. [Error code [922], ORA-00922: ^Z^Z^Z^Z^Z^Z^Z SQL CREATE TABLE USERA."TABLE_NAME_AA"
  12. (
  13. C1 CHAR(8 BYTE) DEFAULT ' ',
  14. C2 CHAR(2 BYTE) DEFAULT ' ',
  15. C3 NUMBER(12) DEFAULT 0,
  16. C4 NUMBER(16) DEFAULT 0,
  17. C5 NUMBER(16) DEFAULT 0,
  18. C6 NUMBER(12) DEFAULT 0,
  19. C7 NUMBER(16) DEFAULT 0,
  20. C8 NUMBER(16) DEFAULT 0,
  21. C9 NUMBER(12) DEFAULT 0,
  22. C10 NUMBER(16) DEFAULT 0,
  23. C11 NUMBER(16) DEFAULT 0
  24. )
  25. TABLESPACE USERS
  26. RESULT_CACHE (MODE DEFAULT)
  27. PCTUSED 0
  28. PCTFREE 10
  29. INITRANS 1
  30. MAXTRANS 255
  31. STORAGE (
  32. INITIAL 64K
  33. NEXT 1M
  34. MINEXTENTS 1
  35. MAXEXTENTS UNLIMITED
  36. PCTINCREASE 0
  37. BUFFER_POOL DEFAULT
  38. FLASH_CACHE DEFAULT
  39. CELL_FLASH_CACHE DEFAULT
  40. )
  41. LOGGING
  42. NOCOMPRESS
  43. NOCACHE
  44. NOPARALLEL
  45. MONITORING /* GOLDENGATE_DDL_REPLICATION */], no error handler present.
  46. ***********************************************************************
  47. * ** Run Time Statistics ** *
  48. ***********************************************************************


 

以下的报错忽略。

看到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. ORA-00201: control file version 11.2.0.0.0 incompatible with ORACLE version 10.2.0.5
  2. ORA-00202: control file: 'D:\IM\CONTROLFILE\CONTROL01.CTL'

本案例的知识点:

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

  1. SQL> set pages 100 lines 120
  2. SQL> col action format a16
  3. SQL> col namespace format a10
  4. SQL> col version format a10
  5. SQL> col comments format a26
  6. SQL> col action_time format a30
  7. SQL> col bundle_series format a15
  8. SQL> set line 200
  9. SQL> alter session set nls_timestamp_format = 'yyyy-mm-dd hh24:mi:ss.ff';
  10. SQL> select * from dba_registry_history;
  11. ACTION_TIME ACTION NAMESPACE VERSION ID BUNDLE_SERIES COMMENTS
  12. ------------------------------ ---------------- ---------- ---------- ---------- --------------- --------------------------
  13. 2015-01-03 12:15:56.136897 VIEW INVALIDATE 8289601 view invalidation
  14. 2015-01-03 12:16:30.178980 UPGRADE SERVER 11.2.0.3.0 Upgraded from 10.2.0.5.0
  15. 2015-01-03 12:16:39.788907 APPLY SERVER 11.2.0.3 8 PSU PSU 11.2.0.3.8
  16. SQL>


 

版权声明:本文为博主原创文章,未经博主允许不得转载。

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

标签:

人气教程排行