Cher(è)s ami(e) en oracle
Un petit article de votre serviteur afin de parler des indexes inutilisables, qui peuvent affectés les performances des bases.
Les index Oracle peuvent entrer dans un état UNUSABLE après une opération de maintenance sur la table ou si l'index est marqué comme 'inutilisable' avec une commande ALTER INDEX. Un chargement de chemin direct sur une table ou une partition laissera également ses index inutilisables. Les requêtes et autres opérations sur une table avec des index non exploitables génèreront des erreurs.
ORA-01502: index ‘string.string’ or partition of such index is in unusable state
Vérification :
SELECT owner, index_name, tablespace_name FROM dba_indexes WHERE status = 'UNUSABLE'; Indexes partitionné:
SELECT index_owner, index_name, partition_name, tablespace_name
FROM dba_ind_PARTITIONS
WHERE status = 'UNUSABLE';
Solution :
SELECT 'alter index '||index_name||' rebuild tablespace '||tablespace_name ||';'
FROM dba_indexes
WHERE status = 'UNUSABLE';
Indexes partitionnés
SELECT 'alter index '||index_name ||' rebuild partition '||PARTITION_NAME||' TABLESPACE '||tablespace_name ||';' FROM dba_ind_partitions WHERE status = 'UNUSABLE';
OraclementVotre