数据库工作管理器用默认的深度并发创建了一个错误建表语句
适用于:
工作管理器版本:10gr2 to 11gr2,文档信息适用于任何操作系统平台。
症状表现:
当我们试图获取一个已经调整好的带有并行degree default参数去创建表,然后用户运行这DBMS_WM.BeginDDL将会报ORA-922错误
SQL> exec dbms_wm.beginddl('TEST');
BEGIN dbms_wm.beginddl('TEST'); END;
ERROR at line 1:
ORA-00922: missing or invalid option
ORA-06512: at "WMSYS.LT", line 12155
ORA-06512: at line 1
导致原因:
导致出现这个问题已经在Bug 9791312中被定义,她是由于错误的DDL语句对LTS表,并行中缺少了关键字degree
create table SCOTT.TEST_LTS(TEST1 NUMBER) parallel DEFAULT LOGGING PCTFREE 10 INITRANS 1 STORAGE( INITIAL 65536 MINEXTENTS 1 MAXEXTENTS 2147483645 BUFFER_POOL DEFAULT) TABLESPACE USERS
例如上面的创建表的语句,需要加上"parallel" 或者 "parallel (degree default)" 或则 "PARALLEL ( DEGREE DEFAULT INSTANCES DEFAULT )"
解决:
必要时,打成9051489这个补丁来解决这个问题