Oracle 11.2のデータベースでテーブルを作成中にRESULT_に遭遇しました.CACHE (MODE DEFAULT) ORA-00922: missing or invalid option
6217 ワード
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.この2つの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で作成されたかを表示する方法:
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.この2つの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>