oracle创建主键开并行,Oracle并行添加主键
2.考慮先并行添加惟一性索引,再添加主鍵
SQL> create unique index pk_t on t(object_id) parallel 2 online; Index created
SQL> alter table t add constraint pk_t primary key (object_id); Table altered
SQL> alter index pk_t noparallel; Index altered
3.對比主鍵和惟一性索引的區別
SQL> desc t
Name Type Nullable Default Comments -------------- ------------- -------- ------- -------- OWNER VARCHAR2(30) Y
OBJECT_NAME VARCHAR2(128) Y
SUBOBJECT_NAME VARCHAR2(30) Y
OBJECT_ID NUMBER
DATA_OBJECT_ID NUMBER Y
OBJECT_TYPE VARCHAR2(19) Y
CREATED DATE Y
LAST_DDL_TIME DATE Y
TIMESTAMP VARCHAR2(19) Y
STATUS VARCHAR2(7) Y
TEMPORARY VARCHAR2(1) Y
GENERATED VARCHAR2(1) Y
SECONDARY VARCHAR2(1) Y
NAMESPACE NUMBER Y
EDITION_NAME VARCHAR2(30) Y
SQL> alter table t drop primary key; Table altered
SQL> desc t
Name Type Nullable Default Comments -------------- ------------- -------- ------- -------- OWNER VARCHAR2(30) Y
OBJECT_NAME VARCHAR2(128) Y
SUBOBJECT_NAME VARCHAR2(30) Y
OBJECT_ID NUMBER Y
DATA_OBJECT_ID NUMBER Y
OBJECT_TYPE VARCHAR2(19) Y
CREATED DATE Y
LAST_DDL_TIME DATE Y
TIMESTAMP VARCHAR2(19) Y
STATUS VARCHAR2(7) Y
TEMPORARY VARCHAR2(1) Y
GENERATED VARCHAR2(1) Y
SECONDARY VARCHAR2(1) Y
NAMESPACE NUMBER Y
EDITION_NAME VARCHAR2(30) Y
注意:
對于已有大量數據的表無法并行建立主鍵,可以先并行建立惟一性索引然后再加上主鍵。
主鍵不能為空,惟一性索引可以為空。
另外獲得的一個經驗教訓是:
我們知道oracle監聽關閉后新session無法連接,已經存在的session仍會繼續存活.當我關閉監聽要并行創建索引時提示有重復數據,于是去除重復數據。
納悶的是刪除完重復數據后即刻又出現了重復數據,只是數量較原來少.后來和同事溝通才恍然大悟。oracle監聽關閉原理都明白,真正應用到實踐中還是需要用心體察。最后,在關閉oracle監聽情況下重啟數據庫,再并行創建唯一索引,然后添加對應主鍵,問題終于得到解決.
最后,本案例過程中涉及到的刪除重復數據請參見:http://blog.itpub.net/29119536/viewspace-1661040/
主鍵與主鍵索引關系請參見:http://blog.itpub.net/29119536/viewspace-1661582/
總結
以上是生活随笔為你收集整理的oracle创建主键开并行,Oracle并行添加主键的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python time localtim
- 下一篇: SPI 读取不同长度 寄存器_[读书笔记