当前位置:  数据库>oracle

普通索引转HASH分区索引报ORA-01408

    来源: 互联网  发布时间:2017-06-24

    本文导语: ORA-01408:such column list already indexed问题的原因是当新建一个索引时,索引对应的字段和字段顺序和已经存在的索引相同。 最近一个需求,是将主键索引转成HASH分区的主键索引,需要新建一个索引,然后将现有的主键索引去掉。...

ORA-01408:such column list already indexed问题的原因是当新建一个索引时,索引对应的字段和字段顺序和已经存在的索引相同。

最近一个需求,是将主键索引转成HASH分区的主键索引,需要新建一个索引,然后将现有的主键索引去掉。如果直接新建一个字段相同且字段顺序相同的索引,就会报ORA-01408。当然,可以将现有的主键索引先删掉,但这样在新索引建立之前,无法保证数据的唯一性,并且按主键的更新删除操作会因为无索引而变的很慢。

我们可以通过建一个中间索引,来保证新建索引前数据的唯一性及按索引更新删除操作的性能。

以下测试:
db:Oracle 11.2.0.4

#新建测试表
--DROP TABLE SCOTT.TB_SJ01;
CREATE TABLE SCOTT.TB_SJ01
AS SELECT * FROM DBA_OBJECTS WHERE OBJECT_ID IS NOT NULL;

#为测试表增加主键索引
ALTER TABLE SCOTT.TB_SJ01 ADD CONSTRAINT PK_TB_SJ01 PRIMARY KEY (OBJECT_ID);

#如果直接新建一个索引,报ORA-01408
CREATE UNIQUE INDEX SCOTT.IDX_TB_SJ01 ON SCOTT.TB_SJ01(OBJECT_ID)
GLOBAL PARTITION BY HASH(OBJECT_ID) PARTITIONS 8 ONLINE;
/*
ORA-01408:such column list already indexed
*/

#先新建一个中间索引
CREATE UNIQUE INDEX SCOTT.IDX_TB_SJ01 ON SCOTT.TB_SJ01(OBJECT_ID,1) ONLINE;

#删除原有的主键索引
ALTER TABLE SCOTT.TB_SJ01 DROP CONSTRAINT PK_TB_SJ01 CASCADE;

#新建HASH分区的唯一索引
CREATE UNIQUE INDEX SCOTT.PK_TB_SJ01 ON SCOTT.TB_SJ01(OBJECT_ID)
GLOBAL PARTITION BY HASH(OBJECT_ID) PARTITIONS 8 ONLINE;

#添加新的主键
ALTER TABLE SCOTT.TB_SJ01 ADD CONSTRAINT PK_TB_SJ01 PRIMARY KEY (OBJECT_ID) USING INDEX ;

#删除中间索引
DROP INDEX SCOTT.IDX_TB_SJ01;


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Strings(字符串) 成员 at():按给定索引值返回字符
  • mysql 添加索引 mysql 如何创建索引
  • Mysql索引类型:B-Tree索引介绍
  • MYSQL索引无效和索引有效的详细介绍
  • Mysql索引类型:Hash索引介绍及举例说明
  • mysql下普通索引和唯一索引的效率对比
  • NET c#索引器(indexer)介绍及代码示例
  • 在线等待:如何把vector清空,再用该清空vector是,索引是从0开始,而不是紧接着上次清空是的索引?
  • MySQL索引基本知识
  • MySQL Hash索引和B-Tree索引的区别
  • sqlserver 聚集索引和非聚集索引实例
  • SQL Server 索引结构及其使用(一)--深入浅出理解索引结构第1/4页
  • MySQ索引操作命令总结(创建、重建、查询和删除索引命令详解)
  • MYSQL索引建立需要注意以下几点细节
  • bitmap 索引和 B-tree 索引在使用中如何选择
  • Mysql索引会失效的几种情况分析
  • 数据收集和索引系统 Moloch
  • 文件索引
  • mysql 表索引的一些要点
  • bitmap索引压缩处理 FastBit
  • 从Oracle的约束到索引


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3