千家信息网

oracle分区表全局唯一索引失效导致无法增删改怎么办

发表于:2024-10-14 作者:千家信息网编辑
千家信息网最后更新 2024年10月14日,这篇文章主要为大家展示了"oracle分区表全局唯一索引失效导致无法增删改怎么办",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"oracle分区表全局唯一索
千家信息网最后更新 2024年10月14日oracle分区表全局唯一索引失效导致无法增删改怎么办

这篇文章主要为大家展示了"oracle分区表全局唯一索引失效导致无法增删改怎么办",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"oracle分区表全局唯一索引失效导致无法增删改怎么办"这篇文章吧。

###建分区表
CREATE TABLE T_NEW (ID number, TIME date) PARTITION BY RANGE (TIME)
(PARTITION P1 VALUES LESS THAN (TO_DATE('2004-7-1', 'YYYY-MM-DD')),
PARTITION P2 VALUES LESS THAN (TO_DATE('2005-1-1', 'YYYY-MM-DD')),
PARTITION P3 VALUES LESS THAN (TO_DATE('2005-7-1', 'YYYY-MM-DD')),
PARTITION P4 VALUES LESS THAN (MAXVALUE));

##插入数据
insert into T_NEW values (1,to_date('2003-7-1','yyyy-mm-dd'));
insert into T_NEW values (1,to_date('2004-10-1','yyyy-mm-dd'));
insert into T_NEW values (1,to_date('2005-6-1','yyyy-mm-dd'));
commit;

##查看数据
select * from T_NEW;
select * from T_NEW partition(p1);
select * from T_NEW partition(p2);
select * from T_NEW partition(p3);
select * from T_NEW partition(p4);

##建全局唯一索引
create unique index i on T_NEW(TIME);

##删除分区但不更新全局索引
alter table t_new drop partition p1;

##插入数据报错
insert into T_NEW values (1,to_date('2011-6-1','yyyy-mm-dd')); #报错

##在线并行重建全局唯一索引
ALTER INDEX I REBUILD ONLINE PARALLEL 8;
alter index i noparallel;


##插入数据正常
insert into T_NEW values (1,to_date('2011-6-1','yyyy-mm-dd')); #不报错
commit;

##创建全局非唯一索引
drop index i;
create index i on T_NEW(TIME);

##删除分区但不更新全局索引
alter table t_new drop partition p2;

##插入数据不报错
insert into T_NEW values (1,to_date('2012-6-1','yyyy-mm-dd')); #不报错
commit;

##创建全局唯一索引
drop index i;
create unique index i on T_NEW(TIME);

##删除分区并更新全局索引
alter table t_new drop partition p3 update global indexes;

##插入数据不报错
insert into T_NEW values (1,to_date('2013-6-1','yyyy-mm-dd')); #不报错
commit;


结论:
1、分区表上若有【全局】【唯一】索引,如果drop分区没有【update global indexes】 则会导致该索引失效,所有的增删改(可以改非索引键)均会报错。
2、并行建索引之后,需要关闭并行:alter index i noparallel;
3、创建索引或重建索引建议如下sql:ALTER INDEX I REBUILD ONLINE PARALLEL 8;

以上是"oracle分区表全局唯一索引失效导致无法增删改怎么办"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

索引 全局 数据 分区表 怎么办 内容 篇文章 更新 学习 帮助 建议 易懂 更多 条理 知识 结论 编带 行业 资讯 资讯频道 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 招聘网络安全需要具备什么 程序员把数据库删了负法律责任吗 迈锐宝语音识别服务器异常 税务 网络安全宣传周 我们从自己做起网络安全宣传周 家庭宽带能带动服务器吗 天翼云如何进入服务器桌面 崩坏三游戏服务器地址 怎么给数据库的某个表增加字段 深圳工业软件开发要多少钱 网络安全周 综述 软件开发是什么部门 工信部是不是负责网络安全 数据库事物的并发操作 江西企业软件开发销售价格 软件开发方法的要素 北京光大科技软件开发怎么样 整机柜服务器维修时间 深圳软件开发有招聘员工 软件开发与实施待遇 招聘网络安全需要具备什么 网络安全审计设备6 安卓手机ap软件开发 nvl数据库中的数据类型 ktv服务器点歌系统 现代网络技术150字作文 传奇战舰怎么换服务器 国家网络安全宣传周策划案 护苗网络安全作文500 浪潮服务器管理平台
0