Oracle 10gサーバーで統計が最後に実行された時間を確認したい。通常はOEM経由でこれを行いますが、無関係な理由でOEMがダウンしています。 sqlplusを使用してこれを確認する方法はありますか?出力が適切にフォーマットされていれば、さらに役立ちます。
次のすべてのデータディクショナリテーブルにはLAST_ANALYZED列があります(必要に応じて*をUSER/ALL/DBAに置き換えます)。
*_TABLES
*_TAB_PARTITIONS
*_TAB_SUBPARTITIONS
*_INDEXES
*_IND_PARTITIONS
*_IND_SUBPARTITIONS
(ヒストグラムフィールドにはさらに多くの情報がありますが、私はそれほど深くは行きません。)
逆に、ALL_TAB_MODIFICATIONS
は、オプティマイザ統計が収集されたため、挿入/更新/削除された行(またはテーブル/パーティション/サブパーティションが切り捨てられたタイムスタンプ)を示します。
SELECT LAST_START_DATE
FROM DBA_SCHEDULER_JOBS
WHERE job_name='GATHER_STATS_JOB';
SQLPLUS/NLS設定に応じて、日付形式を微調整する必要がある場合があります。