25

我想检查上次在我的 Oracle 10g 服务器上运行统计信息的时间。我通常会通过 OEM 执行此操作,但由于不相关的原因,OEM 已关闭。有什么方法可以只使用 sqlplus 来检查吗?如果输出的格式合理,那将非常有帮助。

4

2 回答 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 回答