您的位置:首页 > 数据库 > Oracle

oracle数据库学习笔记之AWR说明

2016-08-30 10:52 113 查看
一、AWR说明

快照由一个称为MMON的新的后台进程及其从进程自动地每小时采集一次。为了节省空间,采集的数据在7天后自动清除。快照频率和保留时间都可以由用户修改。它产生两种类型的输出:文本格式和HTML格式。

AWR使用几个表来存储采集的统计数据,所有的表都存储在新的名称为SYSAUX的特定表空间中的sys模式下,并且以WRM$_*和WRH$_*的命名格式命名。前一种类型存储元数据信息,后一种类型保存实际采集的统计数据。H代表“历史数据(historical)”而M代表“元数据(metadata)”。

在这些表上构建了几种带前缀DBA_HIST_的视图,这些视图可以用来编写自己的性能诊断工具。视图的名称直接与表相关;例如,视图DBA_HIST_SYSMETRIC_SUMMARY是在WRH$_SYSMETRIC_SUMMARY表上构建的。

注意:

statistics_level默认的是typical,在10g中表监控室激活的,如果statistics_level设置为basic,不仅不能监控表,而且将禁掉一些新功能。如:ASH、ASSM、AWR、ADDM

二、AWR使用

SQL> @?/rdbms/admin/awrrpt.sql

Current Instance

~~~~~~~~~~~~~~~~

   DB Id    DB Name Inst Num Instance

----------- ------------ -------- ------------

 1443413321 ORCL 1 PROD

Specify the Report Type

~~~~~~~~~~~~~~~~~~~~~~~

Would you like an HTML report, or a plain text report?

Enter 'html' for an HTML report, or 'text' for plain text

Defaults to 'html'

Enter value for report_type: HTML

Type Specified:  html

Instances in this Workload Repository schema

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   DB Id     Inst Num DB Name   Instance
Host

------------ -------- ------------ ------------ ------------

* 1443413321    1 ORCL
  PROD Oracle11gR2

Using 1443413321 for database Id

Using       1 for instance number

Specify the number of days of snapshots to choose from

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Entering the number of days (n) will result in the most recent

(n) days of snapshots being listed.  Pressing <return> without

specifying a number lists all completed snapshots.

Enter value for num_days: 1

Listing the last day's Completed Snapshots
Snap

Instance     DB Name    Snap Id    Snap Started    Level

------------ ------------ --------- ------------------ -----

PROD     ORCL
      1279 30 Aug 2016 00:00   1
      1280 30 Aug 2016 01:00
  1
      1281 30 Aug 2016 02:00
  1
      1282 30 Aug 2016 03:00
  1
      1283 30 Aug 2016 04:00
  1
      1284 30 Aug 2016 05:00
  1
      1285 30 Aug 2016 06:00
  1
      1286 30 Aug 2016 07:00
  1
      1287 30 Aug 2016 08:00
  1
      1288 30 Aug 2016 09:00
  1

Specify the Begin and End Snapshot Ids

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Enter value for begin_snap: 1279

Begin Snapshot Id specified: 1279

Enter value for end_snap: 1288

End   Snapshot Id specified: 1288

Specify the Report Name

~~~~~~~~~~~~~~~~~~~~~~~

The default report file name is awrrpt_1_1279_1288.html.  To use this name,

press <return> to continue, otherwise enter an alternative.

Enter value for report_name: 

Using the report name awrrpt_1_1279_1288.html

SQL> exit

e 11.2.0.4.0 - 64bit Production

esting options

[oracle@Oracle11gR2 ~]$ ls

analyze_all.sql                p_gen_multl_sql_with_bind_v.prc

analyze_all_test.all           PRINTSQL.prc

awrrpt_1_1279_1288.html        P_SYS_GEN_CODE_TEMPLATE1.prc

awrrpt_1_847_860.html          P_SYS_GEN_CODE_TEMPLATE2.prc

coe_xfr_sql_profile.sql        sosi.sql

control.bak                    sosi.txt

db_info.sql                    temp.sql

display_cursor_9i.sql          xplan.sql

p_app_type_perf_diff_demo.prc

三、AWR操作

1、查看当前的AWR保存策略

SQL> col SNAP_INTERVAL format a20

SQL> col RETENTION format a20

SQL> select * from dba_hist_wr_control;

      DBID SNAP_INTERVAL        RETENTION            TOPNSQL

---------- -------------------- -------------------- ----------

1443413321 +00000 01:00:00.0    +00008 00:00:00.0    DEFAULT

以上结果表示,每小时产生一个SNAPSHOT,保留8天。

2、调整AWR配置

AWR配置都是通过dbms_workload_repository包进行配置

2.1、调整AWR产生snapshot的频率和保留策略

例如:将收集间隔时间修改为30分钟一次。并且保留7天时间(单位都是分钟):

SQL> exec dbms_workload_repository.modify_snapshot_settings(interval => 30,retention => 7*24*60);

PL/SQL procedure successfully completed

2.2、关闭AWR,把interval设为0则关闭自动捕捉快照

SQL> exec dbms_workload_repository.modify_snapshot_settings(interval => 0);

2.3、手工创建一个快照

SQL> exec dbms_workload_repository.create_snapshot();

2.4、查看快照

SQL> select * from sys.wrh$_active_session_history;

2.5、手工删除指定范围的快照

SQL> exec dbms_workload_repository.drop_snapshot_range(low_snap_id => 1,high_snap_id => 1200,dbid => 1443413321);

PL/SQL procedure successfully completed

2.6、创建baseline保存这些数据用于将来分析和比较

SQL> exec dbms_workload_repository.create_baseline(start_snap_id => 1291,end_snap_id => 1293,baseline_name => 'oraclsunhua');

PL/SQL procedure successfully completed

2.7、删除baseline

SQL> exec dbms_workload_repository.drop_baseline(baseline_name => 'oraclsunhua',cascade => FALSE);

PL/SQL procedure successfully completed
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle