我想检查上次在我的 Oracle 10g 服务器上运行统计信息的时间。我通常会通过 OEM 执行此操作,但由于不相关的原因,OEM 已关闭。有什么方法可以只使用 sqlplus 来检查吗?如果输出的格式合理,那将非常有帮助。
问问题
99966 次
2 回答
30
以下所有数据字典表都有一个 LAST_ANALYZED 列(根据需要将 * 替换为 USER/ALL/DBA:
*_TABLES
*_TAB_PARTITIONS
*_TAB_SUBPARTITIONS
*_INDEXES
*_IND_PARTITIONS
*_IND_SUBPARTITIONS
(直方图领域还有很多,但我不会那么深入。)
相反,ALL_TAB_MODIFICATIONS
显示插入/更新/删除的行(或截断表/分区/子分区的时间戳),因为它收集了优化器统计信息。
于 2010-03-03T21:52:04.607 回答
2
SELECT LAST_START_DATE
FROM DBA_SCHEDULER_JOBS
WHERE job_name='GATHER_STATS_JOB';
您可能需要根据您的 SQLPLUS/NLS 设置调整日期格式。
于 2010-03-03T21:48:07.897 回答