生产库中某些大表的分区异常,需要对现有表进行在线操作,以添加丢失分区,因为是生产库,还是谨慎点好,今天有空,针对add&split分区对global&local索引的影响进行了测试,测试版本为oracle11.2.0.4,过程如下:首先,创建分区表:CREATE TABLE TP1 ( C1 INT PRIMARY KEY, C2 VARCHAR2(10), C3 CHAR(10) ) partition by range (c1) ( partition p1 values less than(6), partition p2 values less than(11), partition p3 values less than(16), partition maxvalue values less than(maxvalue)); 但在add partition时遇到了问题,报错如下:ORA-14074: 分区界限必须调整为高于最后一个分区界限根本原因是存在最后maxvalue分区,于是,再创建一个不带maxvalue的分区表:CREATE TABLE TP2 ( C1 INT PRIMARY KEY, C2 VARCHAR2(10), C3 CHAR(10) ) partition by range (c1) ( partition p1 values less than(6), partition p2 values less than(11), partition p3 values less than(16));然后,创建local索引:create index idx_tp2_c2 on tp2(c2) local;因为主键就是个global索引,所以,不需要另外创建global index,我们insert数据:insert into tp2 values(1,'aaa','aaa'); insert into tp2 values(2,'aaa','aaa'); insert into tp2 values(3,'aaa','aaa'); insert into tp2 values(4,'aaa','aaa'); insert into tp2 values(5,'aaa','aaa'); insert into tp2 values(6,'aaa','aaa'); insert into tp2 values(7,'aaa','aaa'); insert into tp2 values(8,'aaa','aaa'); insert into tp2 values(9,'aaa','aaa'); insert into tp2 values(10,'aaa','aaa'); insert into tp2 values(11,'aaa','aaa'); insert into tp2 values(12,'aaa','aaa'); insert into tp2 values(13,'aaa','aaa'); insert into tp2 values(14,'aaa','aaa'); insert into tp2 values(15,'aaa','aaa'); commit;
我们add partition: ALTER TABLE tp2 add PARTITION p10 values less than(51);add partition成功,因为不存在maxvalue分区。检查主键和索引:select index_name,status from user_indexes where table_name='TP2';select index_name,partition_name,status from user_ind_partitions where index_name='IDX_TP2_C2' order by partition_name;经检查,add partition对global和local索引均无影响,如下图:
那么,split%20partition:ALTER%20TABLE%20tp2%20SPLIT%20PARTITION%20p1%20AT%20(3)%20INTO%20(PARTITION%20p1,%20PARTITION%20p13);发现split分区会导致golbal索引不可用,而local索引的相应分区也不可用,如下图:
编辑重建主键索引:ALTER%20INDEX%20SYS_C0027745%20REBUILD%20ONLINE;重建主键索引后,global索引及local索引状态如下:
编辑为split分区命令添加update%20indexes选项:ALTER%20TABLE%20tp2%20SPLIT%20PARTITION%20p2%20AT%20(8)%20INTO%20(PARTITION%20p2,%20PARTITION%20p28)%20update%20indexes;检查本次split分区对global&local索引均无影响,如下图:
编辑rebuild%20local索引不可用的分区:alter%20index%20idx_tp2_c2%20rebuild%20partition%20p1%20online;alter%20index%20idx_tp2_c2%20rebuild%20partition%20p13%20online;检查local索引状态如下:
以上为测试过程和结果,记录于此,以便今后其他同学和自己参考。
编辑推荐:
- oracle11.2中分区功能测试之add&split partition对global&local index的影响03-03
- 扒开Oracle数据块,探讨事物槽、UNDO等工作机制!03-03
- 修复被 fdisk 分区后的asm磁盘03-03
- 数据库管理-第216期 Oracle的高可用-01(20240703)03-03
- Oracle数据恢复—Oracle数据删除需要跑路吗?莫慌,恢复大招在此!03-03
- Oracle、MySQL 数据导出到CSV方法对比03-03
- 第5期 Oracle Linux 7和8如何禁用Transparent HugePages03-03
- 集合Robotaxi商业化所有想象,如祺出行登陆港交所,5年增值超60亿03-03
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- oracle11.2中分区功能测试之add&split partition对global&local index的影响
- 扒开Oracle数据块,探讨事物槽、UNDO等工作机制!
扒开Oracle数据块,探讨事物槽、UNDO等工作机制!
26-03-03 - 数据库管理-第216期 Oracle的高可用-01(20240703)
数据库管理-第216期 Oracle的高可用-01(20240703)
26-03-03 - Oracle、MySQL 数据导出到CSV方法对比
Oracle、MySQL 数据导出到CSV方法对比
26-03-03 - 集合Robotaxi商业化所有想象,如祺出行登陆港交所,5年增值超60亿
集合Robotaxi商业化所有想象,如祺出行登陆港交所,5年增值超60亿
26-03-03 - 【YashanDB知识库】YashanDB 开机自启
【YashanDB知识库】YashanDB 开机自启
26-03-03 - 好烦啊,1个SQL干崩核心系统长达12小时!
好烦啊,1个SQL干崩核心系统长达12小时!
26-03-03 - 数据库管理-第220期 Oracle的高可用-03(20240715)
数据库管理-第220期 Oracle的高可用-03(20240715)
26-03-03 - Hitachi Vantara 发布由 AMD 驱动的高性能混合云和数据库解决方案
- 数据库管理-第217期 Oracle的高可用-02(20240704)
数据库管理-第217期 Oracle的高可用-02(20240704)
26-03-03
