Oracle 在10g以前的使用的是 Statspack做性能故障诊断的。Oracle Database 10
g 提供了一个显著改进的工具:自动工作负载信息库 (AWR)。AWR 和数据库一起安装。数据库装好后,
,快照由一个称为 MMON 的新的后台进程及其从进程自动地每小时采集一次(snap)
要查看当前的设置,您可以使用下面的语句:
select snap_interval, retention
from dba_hist_wr_control;
SNAP_INTERVAL RETENTION
------------------- -------------------
+00000 01:00:00.0 +00007 00:00:00.0
这些 SQL 语句显示快照每小时采集一次,采集的数据保留 7 天。要修改设置 — 例如,快照时间间隔为 20 分钟,保留时间为两天 — 您可以发出以下命令。参数以分钟为单位。
begin
dbms_workload_repository.modify_snapshot_settings (
interval => 20,
retention => 2*24*60
);
end;
AWR 使用几个表来存储采集的统计数据,所有的表都存储在新的名称为 SYSAUX 的特定表空间中的 SYS 模式下,并且以 WRM$_* 和 WRH$_* 的格式命名。前一种类型存储元数据信息(如检查的数据库和采集的快照),后一种类型保存实际采集的统计数据。(您可能已经猜到,H 代表“历史数据 (historical)”而 M 代表“元数据 (metadata)”。)在这些表上构建了几种带前缀 DBA_HIST_ 的视图,这些视图可以用来编写您自己的性能诊断工具。视图的名称直接与表相关;例如,视图 DBA_HIST_SYSMETRIC_SUMMARY 是在WRH$_SYSMETRIC_SUMMARY 表上构建的。 AWR 历史表采集的信息比 Statspack 多许多,这些信息包括表空间使用率、文件系统使用率、甚至操作系统统计数据。这些表的完整的列表可以从数据字典中看到。dba最常用的估计就是这个了
exec dbms_workload_repository.create_snapshot;
应用;
exec dbms_workload_repository.create_snapshot;
@?/rdbms/admin/awrrpt
生成报告,html和text格式都可以
Version 10.2 |
|
AWR Objects |
Source |
{ORACLE_HOME}/rdbms/admin/dbmsawr.sql |
First Availability |
10.1 |
Background Process |
MMON - Automatic data purging every 7 days by default |
Constants |
Name |
Retention |
Data Type |
Value |
MAX_INTERVAL |
100 years |
NUMBER |
52560000 |
MIN_INTERVAL |
10 minutes |
NUMBER |
10 |
MAX_RETENTION |
100 years |
NUMBER |
52560000 |
MIN_RETENTION |
1 day |
NUMBER |
1440 | |
Data Types |
AWRRPT_TEXT_TYPE AWRRPT_HTML_TYPE AWRRPT_TEXT_TYPE_TABLE AWRRPT_HTML_TYPE_TABLE SYS AWRRPT_ROW_TYPE |
Dependencies |
dba_hist_baseline |
dba_hist_snapshot |
- |
- |
awrrpt_html_type |
plitblm |
awrrpt_html_type_table |
wrm$_baseline |
awrrpt_text_type |
wrm$_snapshot |
awrrpt_type_table |
wrm$_snap_error |
dbms_swrf_lib |
wrm$_wr_control |
dbms_swrf_report_internal |
| |
|
AWR_REPORT_HTML |
Display the AWR report in HTML |
dbms_workload_repository.awr_report_html( l_dbid IN NUMBER, l_inst_num IN NUMBER, l_bid IN NUMBER, l_eid IN NUMBER, l_options IN NUMBER DEFAULT 0) RETURN awrrpt_text_type_table PIPELINED;
awrrpt_text_type_table is VARCHAR2(150) |
See AWR Report demo linked at the bottom of the page |
|
AWR_REPORT_TEXT |
Display the AWR report in ASCII text |
dbms_workload_repository.awr_report_text( l_dbid IN NUMBER, l_inst_num IN NUMBER, l_bid IN NUMBER, l_eid IN NUMBER, l_options IN NUMBER DEFAULT 0) RETURN awrrpt_text_type_table PIPELINED;
awrrpt_text_type_table is VARCHA | |