HOW to rebuild indexes

Partitions:

set head off pagesize 0 linesize 100
select 'ALTER INDEX '|| a.index_name ||' rebuild partition ' || a.PARTITION_NAME ||' ONLINE;' 
from dba_IND_PARTITIONS a,dba_indexes b 
where a.index_name=b.index_name and b.table_name=upper('&table_name') and a.status <>'USABLE';

Subpartitions:

set head off pagesize 0 linesize 100
select 'ALTER INDEX ' || a.index_owner || '.' || a.index_name || ' REBUILD SUBPARTITION ' ||
a.subpartition_name || ' ONLINE;'
from dba_ind_subpartitions a, dba_indexes b
where a.index_name=b.index_name and  b.table_name=upper('&table_name') and a.status='UNUSABLE';

Leave Comment

Your email address will not be published. Required fields are marked *