AWR 深入分析( Automatic Workload Repository )
存贮着近期一段时间内数据库活动状态的详细信息、信息保留默认是7天
awr 的前身是 statspack、而 statspack 是公开源代码的
因此,关于statspack的资料,还有statspack的源代码,都是理解awr的一个有用的辅助
awr 者、乃 sys 拥有、粒度为快照、存于 sysaux 表空间也
什么是快照?
快照是在特定时间捕获并存储在 awr 中的一组性能统计信息
快照用于计算统计信息的更改率
如何标识快照?
每个快照都用一个快照序列号 (snap_id) 进行标识,该序列号在 awr 中是唯一的
如何修改快照?
默认情况下,快照每 60 分钟生成一次
通过更改快照 interval 参数可以调整此频率
但调整间隔设置可能会影响诊断精确度
例如,如果将 interval 设置为 4 小时,则可能会遗漏在 60 分钟间隔内出现的峰值
用 dbms_workload_repository.modify_snapshot_settings 存储过程或 database control 来更改控制快照收集的设置
在 database control 中:
“administration”→“statistics management”→“automatic workload repository”→“edit”
怎样创建快照?
使用 database control 或 dbms_workload_repository.create_snapshot
支持手动获取快照的同时,也支持系统生成的自动快照
如果希望在与自动计划不一致的两个特定时间点捕获系统行为,则需要使用手动快照
什么是基线?
baseline、简言之、便是参照标准
一个快照集定义为一对快照、每条基线对应于一对(且仅对应于一对)快照
基线用于保留快照数据、因此、属于基线的快照在删除基线之前一直保留
如何标识一条基线?
基线既可通过用户提供的名称进行标识,也可用系统生成的标识符进行区分
基线标识符在数据库的生命周期中是唯一的
怎样创建一条基线?
使用 database control 或执行 dbms_workload_repository.create_baseline
什么时候创建一条基线?
通常,在过去某些有代表性的时段中设置快照集,以用于与当前系统行为进行比较
awr 报告所有的数据来源于 awr 视图,即以 dba_hist_ 开头的所有系统表
而如何有效地去分析 awr 报告,这可能更需要 dba 经验的日积月累