创建AWR快照
AWR 概览
AWR数据
AWR包括以下数据:
- 基本统计信息
- SQL和优化器的统计信息
- OS 统计信息
- 等待中的classes
- 时间统计信息
- Metrics
- 活动的会话历史
- Advisor 结果
- 快照统计信息
-
数据库特性使用情况
awr_data.JPG
Workload Repository
#### DBMS_WORKLOAD_REPOSITORY包
Procedure 名 | 描述 |
---|---|
CREATE_SNAPSHOT | 用于立刻创建手动快照 |
DROP_SNAPSHOT | 删除某一范围内的快照 |
CREATE_BASELINE | 创建单一AWR基线 |
DROP_BASELINE | 删除单一AWR基线 |
MODIFY_SNAPSHOT_SETTINGS | 修改快照设置 |
AWR 快照集
DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE(
start_snap_id IN NUMBER,
end_snap_id IN NUMBER,
baseline_name IN VARCHAR2);
AWR 快照 Purging Policy
AWR 快照设置
DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(
retention IN NUMBER DEFAULT NULL,
interval IN NUMBER DEFAULT NULL,
topnsql IN NUMBER DEFAULT NULL)
Database Control 和 AWR
生成AWR报告
在em生成AWR报告
在SQL * PLUS中生成AWR报告
cd $ORACLE_HOME/rdbms/
SQL> @awrrpt.sql
生成AWR阶段对比报告
快照集和时段对比
时间段对比的好处
生成ASH报告
ASH(Active Session History)概述
ASH用于存储数据库时间历史,可以作为错误分析的第一手资料。
系统的会话活动取样包括:
- SQL语句的SQL ID
- 对象号,文件号和块号
- 等待时间的ID和参数
- 会话id和会话序列号
- 模块和action名
- 会话的客户端ID
- 服务hash ID
- 阻塞会话
ASH 机制
ASH取样举例
访问ASH数据
访问ASH数据有以下几种方式
- 导入trace文件
- V$ACTIVE_SESSION_HISTORY
- DBA_HIST_ACTIVE_SESS_HISTORY
- ASH 报告
- EM Diagnostic Pack performance pages
- ADDM
从ASH导出数据
从ASH导出的数据可以分析任意一个时间片。主要使用GROUP BY和COUNT。
- 实例,返回过去一分钟内最活跃的SQL
SELECT sql_id, count(*),
round(count(*)/sum(count(*)) over(), 2) pctload
FROM v$active_session_history
WHERE sample_time > sysdata - 1/24/60 and session_type <> 'BACKGROUD'
GROUP BY sql_id
ORDER BY count(*) desc;
网友评论