Как я могу проверить последний раз, когда статистика запускалась в Oracle без использования OEM - PullRequest
24 голосов
/ 04 марта 2010

Я хочу проверить последний раз, когда статистика запускалась на моем сервере Oracle 10g. Я обычно делал бы это через OEM, но по несвязанным причинам OEM не работает. Есть ли какой-нибудь способ проверить это, используя только sqlplus? Было бы очень полезно, если бы вывод был разумно отформатирован.

Ответы [ 2 ]

29 голосов
/ 04 марта 2010

Все следующие таблицы словаря данных имеют столбец LAST_ANALYZED (при необходимости замените * на USER / ALL / DBA:

*_TABLES
*_TAB_PARTITIONS
*_TAB_SUBPARTITIONS
*_INDEXES
*_IND_PARTITIONS
*_IND_SUBPARTITIONS

(В полях гистограмм есть еще много всего, но я не буду вдаваться в подробности.)

И наоборот, ALL_TAB_MODIFICATIONS показывает вставленные / обновленные / удаленные строки (или метку времени, в которую была усечена таблица / раздел / подраздел), поскольку была собрана статистика оптимизатора.

2 голосов
/ 04 марта 2010
SELECT LAST_START_DATE 
 FROM DBA_SCHEDULER_JOBS 
WHERE job_name='GATHER_STATS_JOB';

Возможно, вам придется настроить формат даты в зависимости от настроек SQLPLUS / NLS.

...