AWR基线
固定基线
最常见的基线类型,是一种单独的静态视图,代表标准系统工作的负载。创建方法如下:
exec dbms_workload_repository.create_baseline(start_time=>to_date('2013-07-21 00:00:00','yyyy-mm-dd hh24:mi:ss'),-
end_time=>to_date('2013-07-21 06:00:00','yyyy-mm-dd hh24:mi:ss'),baseline_name=>'Batch Baseline #1',expiration=>30);
也可以根据快照ID来创建基线
exec dbms_workload_repository.create_baseline(start_snap_id=>258,end_snap_id=>268,baseline_name=>'Batch Baseline #1',expiration=>30);
移动基线
与固定基线类似,也用于在一定时间段内捕获度量值。最大的不同点就是移动基线的度量值时基于整个AWR保存期来捕获的。例如,默认AWR保存期8天,这些度量值,也称为自适应阀值(adaptive threshold),是在整个8天的窗口中捕获的。默认的移动基线-SYSTEM_MOVING_BASELINE 是自动创建的。最大的移动窗口就是AWR的保存期限。修改移动窗口的基线(不能大于AWR的保存期),awr保留无限期的时候,移动基线还是有上限的
exec dbms_workload_repository.modify_baseline_window_size(30);
查询将会返回所有已经配置的固定基线以及自动配置的移动基线
select BASELINE_ID,BASELINE_NAME,START_SNAP_ID start_id,to_char(START_SNAP_TIME,'yyyy-mm-dd hh24:mi:ss') start_time, END_SNAP_ID end_id,to_char(END_SNAP_TIME,'yyyy-mm-dd hh24:mi:ss') end_time,EXPIRATION from DBA_HIST_BASELINE order by BASELINE_ID;
-- 移动基线包括了AWR保存期限范围内的所有快照,索引过期时间为 null。
select start_snap_id ,start_snap_time,end_snap_id,end_snap_time,pct_total_time pct
from (select * from table(DBMS_WORKLOAD_REPOSITORY.SELECT_BASELINE_DETAILS(0)))
需要向函数传递 baselin_id 以获取想要的结果
为了得到数据库中关于移动基线的更多信息,就需要分析自适应度量值的统计信息。要查看基于移动窗口与读写相关的度量值和最大值
select metric_name,average,maximum
from (select * from table(DBMS_WORKLOAD_REPOSITORY.SELECT_BASELINE_METRIC('SYSTEM_MOVING_WINDOW')))
where lower(metric_name) like '%read%'
order by metric_name
管理AWR统计库
-- 重命名一个基线
exec dbms_workload_repository.rename_baseline('Batch Baseline #9','Batch Baseline #10');
-- 删除一个基线
exec dbms_workload_repository.drop_baseline('Batch Baseline #1');
--删除AWR快照
exec dbms_workload_repository.drop_snapshot_range(255,256);
-- 将AWR报告从一个库迁移到另一个库
awrextr.sql 导出
DBID(默认为当前数据库的DBID)
为了进行提取所要显示的快照天数
提取开始的快照编号
提取结束的快照编号
用来存放指定快照范围内所有AWR信息的结果输出文件的Oracle目录,必须大写
输入文件名
加载使用 awrload.sql
存放包含指定快照范围内所有AWR信息的结果输出文件的Oracle目录,必须大写
文件名(导出的文件名,不需要加.dmp后缀)
目标模式(默认为 AWR_STAGE)
将要创建的目标的目录表空间(提供可供选择的列表)
将要创建的对象的临时表空间(提供可供选择的列表)
加载完成后,AWR数据会移动到目标数据库数据字典表的SYS模式下,然后将临时目标模式(例如 AWR_STAGE)删除
要想生辰一份来自一个数据库,然后加载到另一个不同数据库的AWR,可以使用如下命令
select DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_TEXT(l_dbid=>222222,l_inst_num=>1,l_bid=>123,l_eid=>124) from dual;
自动创建AWR基线
自动在数据库中周期性自动创建基线
alter session set nls_date_format ='yyyy-mm-dd hh24:mi:ss';
exec dbms_workload_repository.create_baseline_template(
day_of_week =>'WEDNESDAY',
hour_in_day =>0,
duration =>6,
start_time =>'2013-07-23 00:00:00',
end_time =>'2013-07-23 06:00:00',
baseline_name_prefix =>'Batch Baseline ',
template_name =>'Batch Template',
expiration =>365
);
删除模版
exec dbms_workload_repository.drop_baseline_template('Batch Template');
查看所创建的模版的信息
select template_name,BASELINE_NAME_PREFIX prefix,to_char(start_time,'yyyy-mm-dd hh24:mi:ss') start_time,to_char(END_TIME,'yyyy-mm-dd hh24:mi:ss') end_time,
substr(DAY_OF_WEEK,1,3) day,HOUR_IN_DAY hr,DURATION dur,EXPIRATION exp,to_char(LAST_GENERATED,'yyyy-mm-dd hh24:mi:ss') last
from DBA_HIST_BASELINE_TEMPLATE;

浙公网安备 33010602011771号