Query INDICI INVALID Oracle

Pubblicato da Patrizia Gardis il

INDICI INVALID SCHEMA database Oracle

Con l’articolo Query INDICI INVALID Oracle, riusciamo ad individuare velocemente, tutti gli indici INVALIDI di uno SCHEMA.

Può capitare che per diversi fattori, gli indici di uno SCHEMA cambiano stato da USABLE a UNUSABLE.

I fattori appunto sono diversi. Una delle cause principali può essere una reorg dei dati che comprende MOVE TABLE. Gli indici associati alla tabella mossa per eliminare la frammentazione vengono invalidati.

Oppure, In caso di modifica DDL della tabella, gli indici si possono invalidare.

Un indice invalido causa grossi rallentamenti, poichè ogni SELECT sulla tabella andrebbe a leggere tutti i record.

Il FULL_TABLE_SCAN generato è la causa delle basse performance della query e in alcuni casi dell’intero schema. L’effettiva causa sono i consumi elevati di risorse che richiede una lettura massiva di dati, grandi quantità di I/O del disco in lettura ed elevati consumi di CPU.

Come facciamo a controllare se sono presenti indici invalidi?

Eseguiamo la query fornita in modo tale da individuarli ed eseguire la rebuild.

I campi che andremo a selezionare sono:

OWNER – Proprietario dell’indice.
INDEX_NAME – Nome dell’indice.
INDEX_TYPE – Tipo dell’indice.
STATUS – Status dell’indice.

Inoltre, informazioni sopra menzionate, le abbiamo estratte dalla vista DBA_INDEXES.

Infine le informazioni sono filtrate per
STATUS <> ‘VALID’ e
OWNER diverso da SYS e SYSTEM.

Query INDICI INVALID Oracle:

set lines 180
col owner for a30
col index_name for a30
col index_type for a30
col status for a15
select owner, index_name,index_type,status
from dba_indexes
where owner not in ('SYSTEM','SYS')
and status <> 'VALID' order by 1,2;

Per visionare le mie guide sui Comandi CRS clicca qui!
A questo LINK, invece, troverai le query SQL

Resta aggiornato sulle nostre attività entrando a far parte della nostra community:
Facebook
Youtube
Linkedin


0 commenti

Lascia un commento

Segnaposto per l'avatar