ora-00955 名称已由现有对象使用

 

今天在启用一个约束的(命令如下)时候报错: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;

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

huangliang0703

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值