在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 11.2的数据库中建表时遇到 RESULT_CACHE (MODE DEFAULT) ORA-00922: missing or invalid option的更多相关文章
- mysql创建表时,设置timestamp DEFAULT NULL报错1067 - Invalid default value for 'updated_at'
问题背景: 线上的linux服务器上的mysql服务器中导出数据库的结构.想要在本地创建一个测试版本 导出后再本地mysql上运行却报错 1067 - Invalid default value ...
- SpringBoot程序启动时在Oracle数据库中建表充值
例子工程下载链接:https://files.cnblogs.com/files/xiandedanteng/gatling20200428-1.zip 需求:在工程启动时在Oracle数据库中建表. ...
- [转帖]Oracle报错ORA-26563--当重命名表时碰到物化视图
Oracle报错ORA-26563--当重命名表时碰到物化视图 https://www.toutiao.com/i6739137279115133447/ 原创 波波说运维 2019-09-26 00 ...
- dedecms新建内容模型“把数据保存到数据库附加表时出错‘xxx’出错”错误的原因分析和解决方案(转)
把数据保存到数据库附加表 `bc_addonarticle17` 时出错,请把相关信息提交给DedeCms官方.INSERT INTO `bc_addonarticle17`(aid,typeid,r ...
- oracle 语句之对数据库的表名就行模糊查询,对查询结果进行遍历,依次获取每个表名结果中的每个字段(存储过程)
语句的执行环境是plsql的sql窗口, 语句的目的是从整个数据库中的所有表判断 不等于某个字段的记录数 . 代码如下: declare s_sql clob:=''; -- 声明一个变量,该变量用于 ...
- oracle登录管理员创建数据库和表空间
登录管理员最高权限账号 cmd输入sqlplus 回车,或者直接打开sqlplus 用户名:sys 密码:sys as sysdba 1.首先,创建(新)用户: create user usernam ...
- Oracle 数据库维护管理之--数据库基本信息表管理与优化参考1
1.查看当前系统中的会话(如果权限不足,请使用sys或者system用户登录): select * from v$session t; 2.查看此会话下正在执行的sql语句:select sql_te ...
- oracle数据库删除表时遇见需要解锁问题
今天在进行数据清空时,不注意把表锁住了,记录一下解锁过程. 第一步执行 select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked ...
- ORACLE比较两个数据库的表结构
create table ESPACE_TABLE( TABLE_NAME VARCHAR2(100) not null) create table ESPACE_COLUMN( TABLE_NAME ...
随机推荐
- mysql备份sql,脚本
MySQL 安装位置:/usr/local/mysq 论坛数据库名称为:bbs MySQL root 密码:123456 数据库备份目的地:/var/db_backup/ #! /bin/bash / ...
- hexdump——Linux系统的二进制文件查看工具
hexdump是Linux下的一个二进制文件查看工具,可以将二进制文件转换为ASCII.10进制.16进制或8进制进行查看. 首先我们准备一个测试用的文件test,十六进制如下: 00 01 02 0 ...
- 【关于php】Appserv中关于DW配置站点问题
用DW运行的话,还要配置下站点.或者你直接在浏览器地址栏上输入:http://localhost:8080/p5-1.php 或者是http://localhost/p5-1.php dreamwe ...
- golang入门-- 一个2D的图形库学习
此库叫gg,源码在github. 1.获取源码并安装到本地: 首先要安装git (传送门) : https://git-scm.com/download/ 然后就可以通过 go get 命令从 ...
- 随时可以给doT模板传任何你想要的值
我以前一直以为只有传给后台的数据才能用doT模板写入, 其实,随时可以把本地处理的数据,仅仅的一个变量,改头换面成一个it关键字下面的属性. 方法就是在tpl中给它赋值. 要注意的是,首先tpl中的属 ...
- Ubuntu版本介绍
转自Ubuntu版本介绍 经常有人问起Ubuntu的版本选择问题,论坛中虽有帖子提及,但不是很详细,不集中,我就尝试把Ubuntu上的这点东东翻译一下,供大家参考,水平有限,敬请包涵.指正. Ubu ...
- RSA算法原理(一)
如果你问我,哪一种算法最重要? 我可能会回答"公钥加密算法". 因为它是计算机通信安全的基石,保证了加密数据不会被破解.你可以想象一下,信用卡交易被破解的后果. 进入正题之前,我先 ...
- 从零开始制作jffs2文件系统
JFFS2 是一个开放源码的项目(www.infradead.org). 它是在闪存上使用非常广泛的读/写文件系统,在嵌入式系统中被普遍的应用. 1. 安装mkfs工具 MTD主页:htt ...
- 第k大数问题
解法1: 我们可以对这个乱序数组按照从大到小先行排序,然后取出前k大,总的时间复杂度为O(n*logn + k). 解法2: 利用选择排序或交互排序,K次选择后即可得到第k大的数.总的时间复杂度为O( ...
- Android入门-Service-start,end,bind,unbind之间的区别
写贴一段别人关于service中start与bind,end与unbind的分析了: Service创建有两种方法: startService或者bindService 服务不能自己运行,需要通过调 ...