ora 00955 名稱已由現有物件使用

2021-07-26 06:30:38 字數 3342 閱讀 7562

今天在啟用乙個約束的(命令如下)時候報錯:ora-00955 名稱已由現有物件使用

alter table us_aoi_token_0113 enable constraint pk_us_aoi_token_2 ;

發現原來該錶上有乙個同名 索引,將該索引刪掉之後,就能正常enable 該約束了 

當時的場景是這樣的 ,使用sqlldr 將6千多萬行的資料匯入到表(us_aoi_token_0113),建表的語句如下,由於表上有乙個主鍵約束,匯入資料的時候

很慢,就使用direct =y 這個特性(這種情況下約束會失效),但還是會在主鍵上建立索引。為了不在導資料的過程中建立索引,就禁用了約束

alter table us_aoi_token_011 idsable constraint pk_us_aoi_token_2 ;

資料匯入後建立索引:

create  index  pk_us_aoi_token_2 on us_aoi_token_0113 (token) tablespace tbs_mread_idx parallel 16

然後再啟動約束,就報了上面那個錯誤

alter table us_aoi_token_011 idsable constraint pk_us_aoi_token_2 ;

注意:禁用主鍵約束,對應的索引會變得不可用

-- create table

create table us_aoi_token_0113

( msisdn varchar2(11) not null,

token varchar2(1024) not null,

status varchar2(5),

clientversion varchar2(255),

channelcode varchar2(16),

terminaluniqueid varchar2(128),

updatetime date

)partition by hash (msisdn)

( partition partition_1

tablespace tbs_hash_dat,

partition partition_2

tablespace tbs_hash_dat,

partition partition_3

tablespace tbs_hash_dat,

partition partition_4

tablespace tbs_hash_dat,

partition partition_5

tablespace tbs_hash_dat,

partition partition_6

tablespace tbs_hash_dat,

partition partition_7

tablespace tbs_hash_dat,

partition partition_8

tablespace tbs_hash_dat,

partition partition_9

tablespace tbs_hash_dat,

partition partition_10

tablespace tbs_hash_dat,

partition partition_11

tablespace tbs_hash_dat,

partition partition_12

tablespace tbs_hash_dat,

partition partition_13

tablespace tbs_hash_dat,

partition partition_14

tablespace tbs_hash_dat,

partition partition_15

tablespace tbs_hash_dat,

partition partition_16

tablespace tbs_hash_dat,

partition partition_17

tablespace tbs_hash_dat,

partition partition_18

tablespace tbs_hash_dat,

partition partition_19

tablespace tbs_hash_dat,

partition partition_20

tablespace tbs_hash_dat,

partition partition_21

tablespace tbs_hash_dat,

partition partition_22

tablespace tbs_hash_dat,

partition partition_23

tablespace tbs_hash_dat,

partition partition_24

tablespace tbs_hash_dat,

partition partition_25

tablespace tbs_hash_dat,

partition partition_26

tablespace tbs_hash_dat,

partition partition_27

tablespace tbs_hash_dat,

partition partition_28

tablespace tbs_hash_dat,

partition partition_29

tablespace tbs_hash_dat,

partition partition_30

tablespace tbs_hash_dat,

partition partition_31

tablespace tbs_hash_dat,

partition partition_32

tablespace tbs_hash_dat

);-- create/recreate primary, unique and foreign key constraints

alter table us_aoi_token_0113

add constraint pk_us_aoi_token_2 primary key (token)

novalidate

disable;

-- grant/revoke object privileges

grant select on us_aoi_token_0113 to bi_query;

在主鍵中增加乙個字段出現ora 00955錯誤

將表mytable加上乙個id2欄位,並使其成為主鍵之一,原主鍵名為 mytable pk,欄位為 id 步驟如下 1.刪除主鍵 alter table mytable drop constraint mytable pk cascade 2.增加字段 alter table mytable add...

Go程式語言2 1 名稱

第2章 the go programming language 程 序 結 構 與其他程式語言一樣,go語言中的大程式都從小的基本元件構建而來 變數儲存值 簡單表示式通過加和減等操作合併成大的 基本型別通過陣列和結構體進行聚合 表示式通過if和for等控制語句來決定執行順序 語句被組織成函式用於隔離...

TNS 03505 名稱無法解析

tns 03505 名稱無法解析 oracle db01 admin tnsping pri tns ping utility for linux version 11.2.0.4.0 production on 15 jun 2015 21 57 52 used parameter files t...