awr常用技巧
admin
2023-04-17 13:21:37
0次

awr保留10天,每小时收集一次:
begin DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(14400,60); end;
手动收集awr一次:
exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();

手动执行一个快照:
Exec dbms_workload_repository.create_snapshot; (这个要背出来哦,用的时候去翻手册,丢脸哦)

创建一个AWR基线

Exec DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE(start_snap_id,end_snap_id ,baseline_name);
@?/rdbms/admin/awrrpt 生成AWR报告
@?/rdbms/admin/awrddrpt AWR比对报告

@?/rdbms/admin/awrgrpt RAC 全局AWR

dbms_workload_repository手工管理AWR
1、修改快照设置

[sql] view plaincopyprint?
查看awr保留的天数和采集频率:
sys@ORCL> select * from dba_hist_wr_control;

      DBID SNAP_INTERVAL             RETENTION                      TOPNSQL  
---------- ------------------------- ------------------------------ ----------  
1301772781 +00000 01:00:00.0         +00008 00:00:00.0              DEFAULT  

修改awr保留的天数和采集频率:
sys@ORCL> exec dbms_workload_repository.modify_snapshot_settings(retention => 15*1440,interval => 30);

PL/SQL 过程已成功完成。  

sys@ORCL> select * from dba_hist_wr_control;  

      DBID SNAP_INTERVAL             RETENTION                      TOPNSQL  
---------- ------------------------- ------------------------------ ----------  
1301772781 +00000 00:30:00.0         +00015 00:00:00.0              DEFAULT  

interval:将间隔设置为0时,oracle将禁止采用自动和手工快照的机制。
retention:当保存时间设置为0时,oracle将永久地保存这个快照。

2、创建和删除快照

[sql] view plaincopyprint?
手动执行一个awr快照:
sys@ORCL> exec dbms_workload_repository.create_snapshot();

PL/SQL 过程已成功完成。  

删除awr报告(指定删除范围):
sys@ORCL> exec dbms_workload_repository.drop_snapshot_range(low_snap_id => 10,high_snap_id => 12);

PL/SQL 过程已成功完成。  

sys@ORCL> exec dbms_workload_repository.drop_snapshot_range(low_snap_id => 628,high_snap_id => 629);  

PL/SQL 过程已成功完成。  

dba_hist_snapshot视图将列出有关可用快照的信息。
SELECT * FROM dba_hist_snapshot

3、创建和删除基线

[sql] view plaincopyprint?

sys@ORCL> exec dbms_workload_repository.create_baseline(start_snap_id => 630,end_snap_id => 635,baseline_name => 'base line');  

PL/SQL 过程已成功完成。  

sys@ORCL> select baseline_name,start_snap_id,end_snap_id from dba_hist_baseline;  

BASELINE_NAME                                                    START_SNAP_ID END_SNAP_ID  
---------------------------------------------------------------- ------------- -----------  
base line                                                                  630         635  
SYSTEM_MOVING_WINDOW                                                       636         637  

sys@ORCL> exec dbms_workload_repository.drop_baseline(baseline_name => 'base line',cascade => true);  

PL/SQL 过程已成功完成。  

sys@ORCL> select baseline_name,start_snap_id,end_snap_id from dba_hist_baseline;  

BASELINE_NAME                                                    START_SNAP_ID END_SNAP_ID  
---------------------------------------------------------------- ------------- -----------  
SYSTEM_MOVING_WINDOW                                                       636         637  

sys@ORCL> exec dbms_workload_repository.create_baseline(to_date('2013-11-03 00:00:00','yyyy-mm-dd hh34:mi:ss'),to_date('2013-11-03 06:00:00','yyyy-mm-dd hh34:mi:ss'),'base line2');  

PL/SQL 过程已成功完成。  

sys@ORCL> select baseline_name,start_snap_id,end_snap_id from dba_hist_baseline;  

BASELINE_NAME                                                    START_SNAP_ID END_SNAP_ID  
---------------------------------------------------------------- ------------- -----------  
base line                                                                  685         686  
base line2                                                                 685         686  
SYSTEM_MOVING_WINDOW                                                       640         696  

4、自动创建AWR基线

[sql] view plaincopyprint?

sys@ORCL> alter session set NLS_DATE_FORMAT= 'yyyy-mm-dd hh34:mi:ss';  

会话已更改。  

sys@ORCL> exec DBMS_WORKLOAD_REPOSITORY.create_baseline_template( -  
>     day_of_week          => 'WEDNESDAY', -  
>     hour_in_day          => 0, -  
>     duration             => 6, -  
>     start_time           => '2013-11-01:00:00:00', -  
>     end_time             => '2013-12-31:06:00:00', -  
>     baseline_name_prefix => 'Batch Baseline ', -  
>     template_name        => 'Batch Template', -  
>     expiration           => 365);  

PL/SQL 过程已成功完成。  

sys@ORCL> select t.template_name,  
  2         t.template_type,  
  3         t.start_time,  
  4         t.end_time,  
  5         t.day_of_week,  
  6         t.hour_in_day,  
  7         t.duration  
  8    from dba_hist_baseline_template t;  

TEMPLATE_NAME                  TEMPLATE_ START_TIME          END_TIME            DAY_OF_WE HOUR_IN_DAY   DURATION  
------------------------------ --------- ------------------- ------------------- --------- ----------- ----------  
Batch Template                 REPEATING 2013-11-01 00:00:00 2013-12-31 06:00:00 WEDNESDAY           0          6  

sys@ORCL> exec DBMS_WORKLOAD_REPOSITORY.drop_baseline_template('Batch Template');  

PL/SQL 过程已成功完成。  

day_of_week:天或者星期,基线在这个时间上重复。Specify one of the following values:('SUNDAY', 'MONDAY', 'TUESDAY', 'WEDNESDAY','THURSDAY', 'FRIDAY', 'SATURDAY', 'ALL')
hour_in_day:0-23,执行基线在这个小时开始。
duration:持续时间(小时数)。
start_time:创建基线的开始时间。
end_time:创建基线的结束时间。
expiration :基线过期的天数。

对于上面这个模板,将会在每周三根据0:00到上午6:00的时间窗口创建固定基线。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...