awr采样不自动刷新的问题

对于awr采样不自动刷新的问题,自己也遇到了几次。现总结解决方法如下:

1:查看近期的alert日志是否有告警产生。如果有,解决错误后继续观察;如果没有,或者解决错误后不奏效,往下走。

2:执行手动刷新。 dbms_workload_repository.create_snapshot();如果报错,解决错误。这里常见的错误是表空间满了。可以检查SYSAUX表空间是否确实满了,可以采取清理旧的快照数据,或者往表空间添加数据文件。如果手动采样不报错,但是自动采样仍不成功,往下走。

3:收集数据字典和固定表的统计信息。之所以这样做,是因为采样的时候,会使用内部视图计算一些信息,可以想象一下复杂的sql查询过程。如果在一定时间之内这个过程不能完成,那么这一次的自动采样会终止,等待下一次自动采样。以此类推。

    dbms_stats.gather_fixed_objects_stats();
    dbms_stats.gather_dictionary_stats();

    执行完成后观察一段时间,这个时间要至少跨过采样间隔。如果仍不奏效,往下走。

4:直接操作mmon进程。这个方法本人没有实验过,生产环境最好不要使用,无法预知后果。

      1)重启mmon进程的刷新。

       alter system set "_swrf_mmon_flush"=false;

       alter system set "_swrf_mmon_flush"=true;

   2)kill掉mmon进程,依赖oracle的机制自行重启mmon进程。

      ps -ef|grep $ORACLE_SID|grep mmon

      kill -9 XXXX

猜你喜欢

转载自blog.csdn.net/w1346561235/article/details/77508632