没有合适的资源?快使用搜索试试~ 我知道了~
AWR全称叫Automatic Workload Repository自动负载信息库,AWR 是通过对比两次快照(snapshot)收集到的统计信息,来生成报表数据,生成的报表包括多个部分,通过AWR报告,DBA可以容易地获知最近数据库的活动状态,数据库的各种性能指标的变化趋势,最近数据庳可能存在的异常,分析数据库可能存在的性能瓶颈从而对数据库进行优化。AWR报告所有的数据来源于AWR 视图,即以DBA_HIST_开头的所有系统表。AWR在生成报告时,可以选择生成TXT或HTML两种格式的报告,相对来说,HTML,更利于阅读,而TXT的适用性更广。

AWR
一、什么是 AWR?
AWR 全称叫 Automatic Workload Repository 自动负载信息库,AWR 是通过
对比两次快照(snapshot)收集到的统计信息,来生成报表数据,生成的报表包括
多个部分,通过 AWR 报告,DBA 可以容易地获知最近数据库的活动状态,数据库
的各种性能指标的变化趋势,最近数据库可能存在的异常,分析数据库可能存在
的性能瓶颈从而对数据库进行优化。 AWR 报告所有的数据来源于 AWR 视图,即
以 DBA_HIST_开头的所有系统表。AWR 在生成报告时,可以选择生成 TXT 或 HTML
两种格式的报告,相对来说,HTML 更利于阅读,而 TXT 的适用性更广。
1、 ash 占用的内存大小
ASH 的采集信息保存在内存中,在旧的信息被采样到 AWR 中后,可被新采集
的信息覆盖,重启 oracle 后该信息被清除,查询分配给 ASH 的内存大小:
SQL>select pool,name,bytes/1024/1024 From v$sgastat where name like
'%ASH %';
POOL NAME BYTES/1024/1024
------------- ------------- ---------------
shared pool ASH buffers 2
2、 mmon 进程与 mmnl 进程
快照由 MMON 的新的后台进程(及其从进程)以及 MMNL 后台进程自动地每隔
固定时间采样一次。MMON 进程负责执行多种和管理相关的后台任务,例如:
当某个测量值(metrics)超过了预设的限定值(threshold value)后提
交警告
创建新的 MMON 隶属进程(MMON slave process)来进行快照(snapshot)
捕获最近修改过的 SQL 对象的统计信息
MMNL 进程负责执行轻量级的且频率较高的和可管理性相关的后台任务,
例如捕获会话历史信息,测量值计算等。
AWR 的采样工作由 MMON 进程每个 1 小时执行一次,ASH 信息同样会被采样写
出到 AWR 负载库中。虽然 ASH buffer 被设计为保留 1 小时的信息,但很多时候
这个内存是不够的,当 ASH buffer 写满后,另外一个后台进程 MMNL 将会主动将
ASH 信息写出。

3、 SYSAUX 表空间
采样数据都存储在 SYSAUX 表空间中,并且以 WRM$_* 和 WRH$_*的格式命名。
前一种类型存储元数据信息(如检查的数据库和采集的快照),后一种类型保存
实际采集的统计数据。
SQL> select table_name from dba_tables where table_name like 'WRM$%';
TABLE_NAME
-----------------------
WRM$_WR_CONTROL
WRM$_SNAP_ERROR
WRM$_SNAPSHOT
WRM$_DATABASE_INSTANCE
WRM$_BASELINE
当 SYSAUX 表空间填满后,AWR 将自动覆盖掉旧的信息,并在警告日志中记录一
条相关信息:
ORA-1688: unable to extend table SYS.WRH$_ACTIVE_SESSION_HISTORY
partition WRH$_ACTIVE_3533490838_1522 by 128 in tablespace
SYSAUX
4、采样频率和保留时间
通过查询视图 dba_hist_wr_control 或(wrm$_wr_control)来查询 AWR 的
采样频率和保留时间。默认为每 1 小时采样一次,采样信息保留时间为 8 天。
SQL> select * from dba_hist_wr_control;
DBID SNAP_INTERVAL RETENTION TOPNSQL
---- ------------- ----------- ----------
1148 +00000 00:1 +00008 00:0 DEFAULT
SQL> select DBID, SNAP_INTERVAL, SNAPINT_NUM, RETENTION from
wrm$_wr_control;
DBID SNAP_INTERVAL SNAPINT_NUM RETENTION
---------- ------------------ ----------- --------------------
1160732652 +00000 01:00:00.0 3600 +00008 00:00:00.0
5、采样数据量

由于数据量巨大,把所有 ASH 数据写到磁盘上是不可接受的。一般是在写到
磁盘的时候过滤这个数据,写出的数据占采样数据的 10%,写出时通过
direct-path insert 完成,尽量减少日志生成,从而最小化数据库性能的影响。
6、初始化参数 statistics_level
AWR 的行为受到参数 STATISTICS_LEVEL 的影响,这个参数有三个值:
BASIC:awr 统计的计算和衍生值关闭,只收集少量的数据库统计信息
TYPICAL:默认值,只有部分的统计收集,典型监控 oracle 数据库的行为
ALL:所有可能的统计都被捕捉,并且有操作系统的一些信息,如需要更多的
sql 诊断信息的时候才使用。
show parameter statistics_level
二、如何使用 AWR?
AWR 由 ORACLE 自动产生,但是也可以通过 DBMS_WORKLOAD_REPOSITORY 包来
手工创建、删除和修改。可以使用 desc 命令查看该包中的过程。下面介绍几个
常用的:
1、手工创建一个快照
通过DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT过程。通过
DBA_HIST_SNAPSHOT 视图查看刚刚创建的Snapshots 信息
查看当前已经产生的 AWR 快照
select max(snap_id) from dba_hist_snapshot;
手工生成一个 AWR 快照
exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();
查询验证创建的快照
select max(snap_id) from dba_hist_snapshot;
select snap_id from dba_hist_snapshot;
2、手工删除指定范围的快照
删除 Snapshots 使用 DBMS_WORKLOAD_REPOSITORY 包的另一个过程,
DROP_SNAPSHOT_RANGE,该过程在执行时可以通过指定 snap_id 的范围的方式一
次删除多个 Snapshots,例如:
select min(snap_id),max(snap_id) from dba_hist_snapshot;

select count(0) from dba_hist_snapshot where snap_id between 7509 and
7518;
SQL> select dbid from v$database;
SQL> begin
dbms_workload_repository.drop_snapshot_range(
low_snap_id => 2,
high_snap_id => 2,
dbid => 1362621314);
end;
/
select min(snap_id),max(snap_id) from dba_hist_snapshot;
3、修改采集时间和统计信息保留时间
PROCEDURE MODIFY_SNAPSHOT_SETTINGS
参数名称: RETENTION 、 INTERVAL 、 TOPNSQL 、DBID
通过修改 retention 参数可以修改 awr 信息在 sysaux 表空间的保留期限。
默认的是七天,最小值是一天。如果把 retention 设置为零,自动清除就关闭了。
如果 awr 发现 sysaux 空间不够,将删除最老部分的快照来重新使用这些空间。同
时, 在警告日志中记录一条警告。
通过修改 interval 参数可以修改 awr 信息的采样频率。最小的值是 10 分钟,
默认是 60 分钟.典型的值是 10,20,30,60,120 等等。把 interval 设为 0 则关闭
自动捕捉快照。如将收集间隔时间改为 90 分钟一次,并且保留 9 天时间(注:
单位都是为分钟):
SQL> select *from dba_hist_wr_control;
DBID SNAP_INTERVAL RETENTION TOPNSQL
---------- ------------------ -------------------------- -----------
1160732652 +00000 01:00:00.0 +00008 00:00:00.0 DEFAULT

SQL> exec
dbms_workload_repository.modify_snapshot_settings(interval=>90,
retention=>9*24*60);
SQL> SELECT *from dba_hist_wr_control;
DBID SNAP_INTERVAL RETENTION TOPNSQL
---------- ------------------- ------------------------- -----------
1160732652 +00000 01:30:00.0 +00009 00:00:00.0 DEFAULT
4、设置基线
基线(baseline)是一种机制,可以在重要时间的快照信息集做标记。一个
基线定义在一对快照之间,快照通过他们的快照序列号识别,每个基线有且只有
一对快照。基线是一个参考值,是一个系统某个正常状态的标准。
创建一个 AWR 基线后,一旦当数据库性能发生瓶颈时,就可以通过当时的性
能报表与基线比较,看哪些性能发生了明显变化,这样就很容易定位问题。在创
建基线时,我们需要选择某个特定时间段,代表系统运行良好的时间段产生一个
快照。
假定一个名称为 apply_interest 的高度资源密集的进程在下午 1:00 到
3:00 之间运行,对应快照 ID 95 到 98。我们可以为这些快照定义一个名称为
apply_interest_1 的基准线:
select snap_id from dba_hist_snapshot;
select dbid,baseline_id,baseline_name from dba_hist_baseline;
select dbid,baseline_id,baseline_name from wrm$_baseline;
exec
dbms_workload_repository.create_baseline(3,5,'apply_interest_1');
查看基准线:
select dbid,baseline_id,baseline_name from dba_hist_baseline;
select dbid,baseline_id,baseline_name from wrm$_baseline;
在一些调整步骤之后,我们可以创建另一个基准线 — 假设名称为
apply_interest_2,然后只为那些与这两条基准线相关的快照比较量度。
exec
dbms_workload_repository.create_baseline(6,7,'apply_interest_2');
5、删除基线
剩余51页未读,继续阅读
资源推荐
资源评论
2019-05-08 上传
2019-05-10 上传
2016-08-16 上传

180 浏览量
171 浏览量
111 浏览量

179 浏览量


174 浏览量

149 浏览量
2024-11-12 上传
资源评论



CodeGolang
- 粉丝: 182
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于Cars im和Matlab的CACC协同式自适应巡航模型构建与模糊MPC算法实现 专业版
- SQL Server Management Studio 17.9.1语言切换中文问题解决,故障:先安装了英文,卸载后再安装中文,还是英文界面
- MATLAB环境下自适应Chirp模态分解算法:一维时间序列分析与故障诊断工具
- 红外弱小目标检测-IPI算法
- 机器人技术中质心侧偏角Simulink程序的设计与实现
- 南澳多端柔性直流输电示范工程:MMC-HVDC模型与Fortran源代码分享 全面版
- DevEco Studio安装本地模拟器时出现的问题及解决
- 基于S7-1200 PLC的四层电梯仿真模拟程序:博图V15与WinCC动画功能实现
- LabVIEW解析CAN报文与DBC文件:支持多格式离线解析及自定义特征索引ID的应用
- 飞翔的荷兰人带你轻松入门目标检测第一季(Yolo-v1)
- Python 项目示例:一个简单的 学生管理系统
- MATLAB实现基于留出法和k折交叉验证的六种神经网络分类预测
- 红外弱小目标检测-IPI算法
- 基于MATLAB的FFT频谱分析与滤波技术及其在波形数据处理中的应用
- LabVIEW叶片频率测量系统源码解析:安捷伦34401数据采集与处理实践
- 四旋翼飞行器PID与模糊PID控制:基于Simulink与Matlab的仿真优化及自主学习实践
安全验证
文档复制为VIP权益,开通VIP直接复制
