Existe uma maneira de monitorar índices no Oracle 19c?
Ativei o monitoramento de índice
ALTER INDEX my_index_i MONITORING USAGE;
Usando as consultas abaixo para ter uma ideia aproximada de quando um índice foi usado:
SELECT index_name,
table_name,
monitoring,
used,
start_monitoring,
end_monitoring
FROM dba_object_usage
WHERE index_name = 'name'
AND owner = 'name'
ORDER BY index_name;
SELECT name, owner, TO_CHAR(last_used, 'YYYY-MM-DD HH24:MI:SS') AS "Last Used"
FROM dba_index_usage
WHERE name = 'name';
O problema é que ainda não consigo dizer quantas vezes um índice foi usado em um dia e também a que horas ele estava sendo usado.
Existe uma forma/consulta de monitorar tal cenário?
PS: Eu sei sobre gatilhos, mas estou procurando uma alternativa - se eu não conseguir uma alternativa, então é Triggers!
Desde já, obrigado!
Acredito que você gostaria de usar a visualização do sistema
DBA_INDEX_USAGE
:Você teria que registrá-lo rotineiramente em uma tabela se quisesse comparar as alterações ao longo do tempo.
Este artigo discute mais sobre como usá-lo e fornece exemplos: