oracle awr使用方式,Oracle中AWR的使用

V\:*{behavior.:url(#default#VML);}O\:*{behavior.:url(#default#VML);}W\:*{behavior.:url(#default#VML);}

Oracle中AWR的使用

在Oracle中,动态性能视图保存了许多重要的累计统计数据,这些视图对于鉴别数据库性能非常有用。但是当关闭数据库时,动态性能视图中的数据会全部丢失。为了能够随时跟踪数据库性能,或是希望比较数据库变化的性能影响,则需要一个信息库来存储性能数据,由此,AWR(Automatic Workload Repository,自动工作量资料库)应运而生。

AWR自动收集并保存与问题的检测和调优有关的数据库性能统计数据,它是新的数据库自调优机制的核心。AWR生成关键的性能数据的快照,并存储在SYSAUX表空间中,各种不同的数据库特性(ADDM,SQL Tuning Advisor等)都是用这些AWR快照中的数据来监控和诊断性能问题。

默认时,AWR每小时捕捉一次性能数据并生成一次快照,这些数据保留8天。如果按照10个并发会话来估计,默认设置大约需要200~300MB的存储空间来保存AWR数据。

(一)启用AWR

与AWR相关联的参数为statistics_level,只有当该参数的值设定为TYPICAL 或 ALL时,才能启用AWR功能。默认情况下该参数值为TYPICAL,如果通过show parameter statistics_level命令查看该参数值为BASIC,需要通过以下命令修改:

SQL> alter system set statistics level=TYPICAL scope=both;

(二)快照的管理:

1.查看AWR快照设置:

SQL> select dbid,snap_interval,retention from dba_hist_wr_control;

其中dbid为数据库的标识,snap_interval为数据库自动生成快照的间隔,retention为快照所保留的时间。

2.修改AWR快照设置

SQL> begin

dbms_workload_repository.modify_snapshot_settings(

retention => 7200,

interval => 30,

dbid => 1293890055);

end;

其中retention和interval的单位都为分钟。

3.手动创建快照:

SQL>begin

Dbms_workload_repository.create_snapshot();

End;‘

4.删除一个范围内的快照:

SQL>begin

Dbms_workload_repository.drop_snapshot_range(

Low_snap_id => 40,

High_snap_id => 60,

dbid => 1293890055);

end;

5.查看当前在系统内已经建立的snapshot:

SQL> select snap_id,dbid,begin_interval_time,end_interval_time from dba_hist_snapshot;

(三)基线的管理

1.查看已经建立的基线:

SQL>select baseline_id,baseline_name,baseline_type,start_snap_id,end_snap_id from dba_hist_baseline;

或者

SQL>select baseline_id,baseline_name,baseline_type,start_snap_time,end_snap_time from dba_hist_baseline;

2.创建基线:

SQL> begin

dbms_workload_repository.create_baseline(

start_snap_id => 7,

end_snap_id => 9,

baseline_name => 'normal baseline');

end;

其中start_snap_id为基线的起始快照序列号,end_snap_id为基线的结束快照序列号,baseline_name为基线的名称。

3.删除基线:

SQL> begin

dbms_workload_repository.drop_baseline(

baseline_name => 'normal baseline',

cascade => FALSE,

dbid => 1293890055);

end;

如果cascade设置为TRUE,则与该基线相关的起止快照也会被一同删除,如果设置为FALSE,则仅仅删除基线。

4.重命名基线:

SQL>begin

dbms_workload_repository.rename_baseline(

old_baseline_name => 'normal baseline',

new_baseline_name => 'special baseline');

end;

(四)基线模板的管理

1.创建单基线模板:

单基线模板创建将来某个固定时间间隔的单个基线。

SQL>begin

dbms_workload_repository.create_baseline_template(

start_time => to_date('2011-DEC-05 22:00', 'YYYY-MON-DD HH24:MI'),

end_time => to_date('2011-DEC-06 02:00', 'YYYY-MON-DD HH24:MI'),

baseline_name => 'test_baseline1',

template_name => 'test_template1',

expiration => 30);

end;

其中expiration参数为基线的有效期。

2.创建重复基线模板:

重复基线模板创建重复的基线,其时间间隔在一个时间段上重复。

SQL> begin

dbms_workload_repository.create_baseline_template(

day_of_week => 'FRIDAY',

hour_in_day => 0,

duration => 5,

start_time => SYSDATE,

end_time => ADD_MONTHS(SYSDATE, 6),

baseline_name_prefix => 'friday_morning_bl_',

template_name => 'friday_morning_tp',

expiration => NULL);

end;

(五)AWR报告

1.创建AWR报告

Oracle提供了一个脚本awrrpt.sql(位于$ORACLE_HOME/rdbms/admin目录中)来生成关于AWR工具收集的统计数据的概要报告。

SQL>@$ORACLE_HOME/rdbms/admin/awrrpt.sql

Ø指定报告类型:html或者text。

Enter value for report_type: text

Ø指定要显示的快照的天数

Enter value for num_days: 7

Ø指定AWR报告的报告范围,即开始的快照ID和结束的快照ID。

Enter value for begin_snap: 258

Enter value for end_snap: 268

Ø指定AWR报告的报告名。

Enter value for report_name: /tmp/awrrpt_1_258_268.txt

2.为单条SQL语句创建AWR报告

Oracle提供了一个脚本awrsqrpt.sql(位于$ORACLE_HOME/rdbms/admin目录中)来生成单条SQL语句的统计数据。

SQL>@$ORACLE_HOME/rdbms/admin/awrsqrpt.sql

Ø指定报告类型:html或者text。

Enter value for report_type: text

Ø指定要显示的快照的天数

Enter value for num_days: 7

Ø指定AWR报告的报告范围,即开始的快照ID和结束的快照ID。

Enter value for begin_snap: 258

Enter value for end_snap: 268

Ø指定SQL_ID

Enter value for sql_id: 6za2qbmbydaqh

Ø指定AWR报告的报告名。

Enter value for report_name: /tmp/awrsqrpt_1_258_268.txt

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值