14 мая 2011 г.

oracle: Мониторинг использования индексов

В Oracle существует возможность мониторинга использования индексов.
Это необходимо для определения его использования. В результате можно удалить неиспользуемые индексы и сократить расход ресурсов.

-- Пример начала мониторинга индекса:
ALTER INDEX ALL_ORACLE_EVENT_NO MONITORING USAGE;

-- Для прекращения мониторинга указывается NOMONITORING, как показано ниже:
ALTER INDEX ALL_ORACLE_EVENT_NO NOMONITORING USAGE;

Кроме того, можно выполнить запрос к представлению V$OBJECT_USAGE, чтобы узнать, использовался требуемый индекс или нет. В представлении есть столбец USED, который принимает значение YES или NO, в зависимости от того, использовался ли индекс во время проведения мониторинга. Еще представлен столбец времени начала и окончания мониторинга и столбец указывающий состояние мониторинга, проводиться он на данный момент или нет, это столбец MONITORING, принимающий значение YES или NO.

Каждый раз при указании MONITORING USAGE или NOMONITORING USAGE, значения столбцов в представлении V$OBJECT_USAGE изменяются для соответствующего индекса. Информация о предыдущих запусках удаляется или сбрасывается. При указании NOMONITORING USAGE записывается время окончания.