Em um dos meus bancos de dados Oracle 11g Standard Edition de produção, tenho muitos (muitos) índices. Alguns deles (maioria) são criados pelo instalador do aplicativo, outros são criados por mim quando identifico um pedido que precisa de algum trabalho de dba. Tenho certeza de que alguns deles não são usados e quero identificá-los.
Para essa tarefa, altero todo o status de MONITORAMENTO da minha tabela e índice.
Depois de um tempo (várias semanas) eu assisti sobre o status usado:
SELECT index_name, table_name, monitoring, used,
start_monitoring, end_monitoring
FROM v$object_usage
ORDER BY index_name;
Percebo que muitos índices têm agora um status NOMONITORING ...
Procuro entender o que aconteceu e o porquê desse status.
Exceto a consulta regular ALTER INDEX index_name NOMONITORING USAGE
, o que provavelmente mudará isso? Alguém conhece algum processo (um processo padrão no dicionário do Oracle) que remova o status MONITORING?
Um possível motivo:
Bug 16311211: RECONSTRUINDO ÍNDICE ALTER DEFININDO O MONITORAMENTO PARA DESLIGADO
Diz-se que o bug foi corrigido na versão 12.2 e há patches únicos para 11.2.0.3 e 11.2.0.4 também.