Oracle不能并行直接添加主键的方法:先建唯一索引后建主键

环境:Oracle 11.2.0.3 需求:生产一张表由于前期设计不当,没有主键。现需要添加主键,数据量很大,想并行建立。

1.直接添加,提示ora-3001:未实施的功能;只能单线程建立主键

SQL> alter table add constraint pk_t primary key (object_id) using index online parallel 2;

alter table add constraint pk_t primary key (object_id) using index online parallel 2
ORA-03001: 未实施的功能
 
SQL> alter table add constraint pk_t primary key (object_id) using index online;
Table altered
SQL> alter table drop primary key;
Table altered
 
2.先开并发创建唯一索引,再改成主键
SQL> create /* +parallel(8) +/ unique index pk_t on t(object_id) online;
Index created
SQL> alter table add constraint pk_t primary key (object_id);
Table altered
 
 
原文地址:https://www.cnblogs.com/zjpeng/p/10705729.html