How Do Indexes Become Unusable? (Doc ID 1054736.6)

How Do Indexes Become Unusable? (Doc ID 1054736.6)

Description of which operations mark index partitions as INDEX UNUSABLE.

CAUSE

There are six types of maintenance operations and adding a partition to a Hash-Partitioned Table that mark index partitions INDEX UNUSABLE (IU). In all cases, you must rebuild the index partitions when the operation is complete.

SOLUTION

NOTE: In the images and/or the document content below, the user information and data used represents fictitious data from the Oracle sample schema(s) or Public Documentation delivered with an Oracle database product. Any similarity to actual persons, living or dead, is purely coincidental and not intended in any manner.

Maintenance operations causing index partitions to become INDEX UNUSABLE (IU):

  1. IMPORT PARTITION or conventional path SQL*Loader.

  2. Direct-path SQL*Loader leaves affected local index partitions and global indexes in an IU state if it does not complete successfully.

  3. Partition maintenance operations like ALTER TABLE MOVE PARTITION.

  4. Partition maintenance operations like ALTER TABLE TRUNCATE PARTITION.

  5. Partition maintenance operations like ALTER TABLE SPLIT PARTITION.

  6. Index maintenance operations like ALTER INDEX SPLIT PARTITION.

  7. Adding a Partition to a Hash-Partitioned Table

Adding a Partition to a Hash-Partitioned Table

When you add a partition to a hash-partitioned table, the database populates the new partition with rows rehashed from an existing partition (selected by the database) as determined by the hash function. Consequently, if the table contains data, then it may take some time to add a hash partition.

The following statements show two ways of adding a hash partition to table <Table_Name>. Choosing the first statement adds a new hash partition whose partition name is system generated, and which is placed in the default tablespace. The second statement also adds a new hash partition, but that partition is explicitly named <Partition_Name> and is created in tablespace <Tablespace_Name>.

ALTER TABLE <Table_Name> ADD PARTITION;

ALTER TABLE <Table_Name> ADD PARTITION <Partition_Name> TABLESPACE <Tablespace_Name>;

Indexes may be marked UNUSABLE as explained in the following table:

Table Type Index Behavior

Regular (Heap) Unless you specify UPDATE INDEXES as part of the ALTER TABLE statement:

The local indexes for the new partition, and for the existing partition from which rows were redistributed, are marked UNUSABLE and must be rebuilt.

All global indexes, or all partitions of partitioned global indexes, are marked UNUSABLE and must be rebuilt.

Index-organized For local indexes, the behavior is identical to heap tables.

All global indexes remain usable.

Each of these operations may cause index partitions to be marked IU which will require the index partitions to be rebuilt.

Version 10.2 and later

By default, many table maintenance operations on partitioned tables invalidate (mark UNUSABLE) the corresponding indexes or index partitions. You must then rebuild the entire index or, in the case of a global index, each of its partitions. The database lets you override this default behavior if you specify UPDATE INDEXES in your ALTER TABLE statement for the maintenance operation. Specifying this clause tells the database to update the index at the time it executes the maintenance operation DDL statement.

The following operations support the UPDATE INDEXES clause:

* ADD PARTITION | SUBPARTITION

* COALESCE PARTITION | SUBPARTITION

* DROP PARTITION | SUBPARTITION

* EXCHANGE PARTITION | SUBPARTITION

* MERGE PARTITION | SUBPARTITION

* MOVE PARTITION | SUBPARTITION

* SPLIT PARTITION | SUBPARTITION

* TRUNCATE PARTITION | SUBPARTITION

Note:12c has come up with Optimized Global index maintenance during drop or truncate partition.Please refer the below note for more details:

12c Partitioning Enhancements, New Features (Doc ID 1568010.1)

REFERENCES

Database Administrator's Guide 10g Release 2 (10.2)

相关推荐
胖头鱼的鱼缸(尹海文)10 小时前
胖头鱼的技术专栏-482 Oracle AI DB 23.26.4新特性一览(20261027)
数据库·人工智能·oracle
欢醉12 小时前
Flink实时同步Oracle到StarRocks的几个踩坑经验分享
starrocks·oracle·flink
心静财富之门1 天前
Python 数据共享四种方案完整实例(同进程 / JSON / Redis / HTTP)
数据库·python·oracle
鸢尾掠地平1 天前
MySQL建库命令总结(含练习)
数据库·oracle
正在走向自律2 天前
数据集成产品的技术底座:从日志解析原理到 KFS 同步链路搭建(含建表与增删改查完整代码)
数据库·oracle·信创·数据集成·国产数据库·kingbasees·全量+增量同步
猫咪很可爱2 天前
Oracle ORA-4031 错误分析与处理:SGA 内存不足导致 update/exp/expdp 失败
数据库·oracle
xuefuhe2 天前
Oracle Process termination requested /usr/lib/systemd/systemd
oracle
啵啵啵鱼2 天前
Chrome 插件开发实战指南
oracle
cuijiecheng20183 天前
WeFlow 无法使用怎么办?一次数据库组件到期问题的排查与修复
数据库·oracle
从零数据分析4 天前
零基础学SQL 23:和上月比总对不上?LAG/LEAD 一步取出上一次(附 4 个模板)
java·数据库·sql·mysql·oracle·sqlite·database