Oracle12c创建分区表报ORA-00922错误需满足哪些前置条件?
Oracle 12.1.0.2.0创建分区表的前置条件及报错处理
你当前触发ORA-00922报错的直接原因是SQL语法书写错误:语句中partition by list (color) partitions (的partitions为多余关键字,正确语法直接接分区定义括号即可,同时需要调整主键规则,修正后的建表语句如下:
create table toys ( name varchar2(10), weight number, color varchar2(10), PRIMARY KEY (name, color) ) partition by list (color) ( partition p_green values ('green'), partition p_red values ('red') );
注:上述语句将主键调整为包含分区键color的联合主键,符合分区表约束创建规则
分区表创建的必要前置条件
- 版本与授权要求:Oracle Partitioning为企业版付费功能,12.1.0.2.0只有企业版激活该授权后才可使用分区表特性,标准版、标准版2均不支持分区功能
- 账号权限要求:执行建表操作的账号需要持有
CREATE TABLE系统权限,若建表指定了非默认表空间,还需要对应表空间的配额权限,或持有UNLIMITED TABLESPACE系统权限 - 约束规则要求:分区表的主键、唯一约束必须包含分区键列,否则约束创建失败
- 分区键类型要求:list分区的分区键不能为LONG、LOB、ROWID、UROWID等不支持分区的字段类型
内容的提问来源于stack exchange,提问作者duppydodah
相关产品推荐
相关产品推荐

