Oracle 在g以前的使用的是 Statspack做性能故障诊断的Oracle Database g 提供了一个显着改进的工具自动工作负载信息库 (AWR)AWR 和数据库一起安装数据库装好后快照由一个称为 MMON 的新的后台进程及其从进程自动地每小时采集一次(snap)
要查看当前的设置您可以使用下面的语句
select snap_interval retention from dba_hist_wr_control; SNAP_INTERVAL RETENTION
+ :: + ::
这些 SQL 语句显示快照每小时采集一次采集的数据保留 天要修改设置 例如快照时间间隔为 分钟保留时间为两天 您可以发出以下命令参数以分钟为单位
begin dbms_workload_repositorymodify_snapshot_settings ( interval => retention => ** ); end;
AWR 使用几个表来存储采集的统计数据所有的表都存储在新的名称为 SYSAUX 的特定表空间中的 SYS 模式下并且以 WRM$_* 和 WRH$_* 的格式命名前一种类型存储元数据信息(如检查的数据库和采集的快照)后一种类型保存实际采集的统计历史数据(H 代表历史数据 (historical)而 M 代表元数据 (metadata))
在这些表上构建了几种带前缀 DBA_HIST_ 的视图这些视图可以用来编写您自己的性能诊断工具视图的名称直接与表相关例如视图 DBA_HIST_SYSMETRIC_SUMMARY 是在WRH$_SYSMETRIC_SUMMARY 表上构建的 AWR 历史表采集的信息比 Statspack 多许多这些信息包括表空间使用率文件系统使用率甚至操作系统统计数据这些表的完整的列表可以从数据字典中看到
手工创建快照可以使用
exec dbms_workload_repositorycreate_snapshot;
通过awrrpt脚本可以生成报告
@?/rdbms/admin/awrrpt
生成报告html和text格式都可以
Version
AWR ObjectsSource{ORACLE_HOME}/rdbms/admin/dbmsawrsqlFirst AvailabilityBackground ProcessMMON Automatic data purging every days by defaultConstantsNameRetentionData TypeValueMAX_INTERVAL yearsNUMBERMIN_INTERVAL minutesNUMBERMAX_RETENTION yearsNUMBERMIN_RETENTION dayNUMBERData TypesAWRRPT_TEXT_TYPE
AWRRPT_HTML_TYPE
AWRRPT_TEXT_TYPE_TABLE
AWRRPT_HTML_TYPE_TABLE
SYS AWRRPT_ROW_TYPEDependenciesdba_hist_baselinedba_hist_snapshotawrrpt_html_typeplitblmawrrpt_html_type_tablewrm$_baselineawrrpt_text_typewrm$_snapshotawrrpt_type_tablewrm$_snap_errordbms_swrf_libwrm$_wr_controldbms_swrf_report_internal
AWR_REPORT_HTMLDisplay the AWR report in HTMLdbms_workload_repositoryawr_report_html(
l_dbid IN NUMBER
l_inst_num IN NUMBER
l_bid IN NUMBER
l_eid IN NUMBER
l_options IN NUMBER DEFAULT )
RETURN awrrpt_text_type_table PIPELINED;
awrrpt_text_type_table is VARCHAR()See AWR Report demo linked at the bottom of the page
AWR_REPORT_TEXTDisplay the AWR report in ASCII textdbms_workload_repositoryawr_report_text(
l_dbid IN NUMBER
l_inst_num IN NUMBER
l_bid IN NUMBER
l_eid IN NUMBER
l_options IN NUMBER DEFAULT )
RETURN awrrpt_text_type_table PIPELINED;
awrrpt_text_type_table is VARCHA