re successfully completed
SQL> select * from dba_hist_wr_control;
? ? ? DBID SNAP_INTERVAL? ? ? ? ? ? ? ? ? ? ? ? ? RETENTION? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TOPNSQL
---------- --------------------------------------- --------------------------------------- ----------
1778314713 +00000 00:10:00.0? ? ? ? ? ? ? ? ? ? ? +00008 00:00:00.0? ? ? ? ? ? ? ? ? ? ? DEFAULT
经过一段时间,可以看到数据变化。
SQL> select snap_id, to_char(BEGIN_INTERVAL_TIME,'yyyy-mm-dd hh24:mi:ss') from dba_hist_snapshot;
? SNAP_ID TO_CHAR(BEGIN_INTERVAL_TIME,'Y
---------- ------------------------------
? ? 23384 2015-09-30 16:07:51
SQL> select snap_id, to_char(BEGIN_INTERVAL_TIME,'yyyy-mm-dd hh24:mi:ss') from dba_hist_snapshot;
? SNAP_ID TO_CHAR(BEGIN_INTERVAL_TIME,'Y
---------- ------------------------------
? ? 23384 2015-09-30 16:07:51
? ? 23385 2015-09-30 16:39:32
SQL> select snap_id, to_char(BEGIN_INTERVAL_TIME,'yyyy-mm-dd hh24:mi:ss') from dba_hist_snapshot;
? SNAP_ID TO_CHAR(BEGIN_INTERVAL_TIME,'Y
---------- ------------------------------
? ? 23384 2015-09-30 16:07:51
? ? 23385 2015-09-30 16:39:32
? ? 23386 2015-09-30 16:50:17
恢复60分钟收集。
SQL> exec dbms_workload_repository.modify_snapshot_settings(interval=>60);
PL/SQL procedure successfully completed
问题解决。
5、结论
经过这个案例,笔者的感受有两条。首先,定期检查alert log,检查系统性能数据情况是非常重要的运维手段。要么依靠自动监控工具,要么依靠运维人员的日常工作。所谓“养病如养虎,虎大必伤人”在运维领域同样存在。其次就是“有可为,有可不为”,发现问题时候,要根据情形进行分析,找到技术、管理、业务的平衡点。