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
 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM