一、自动负荷知识库
1、收集信息
MMON进程收集,位于SYSAUX空间。
alter system set statistics_level=typical 或者是all 才可以。这个参数是控制统计信息收集。
2、管理AWR。
200-300MB,保留八天。
3、指标、信息和基准
WAR会细化指标,定义基线。
4、dbms_workload_repository包
使用这个包对WAR进行管理。详细的案例见本文附件。
select * from v$sysaux_occupants where occupant_name='SM/AWR'; 查询大小
手工生成的脚本位于$ orace_home/rdbms/admin/awrrpt.sql
-------------------------------------------------------------------------------------------------------------------------
1、修改快照设置:
select * from dba_hist_wr_control;
exec dbms_workload_repository.modify_snapshot_settings(retention => 15*1440,interval => 30);
--Interval :设置快照收集的频率,以分钟为单位。可设置的值最小为10分钟,最大为1年。如果设置该参数值为0,就表示禁用AWR特性。每30分钟一次
exec dbms_workload_repository.modify_snapshot_settings(INTERVAL =>30);
--设置 Retention :设置快照保存的时间,单位是分钟。可设置的值最小为1天,最大为100年。设置该参数值为0的话,就表示永久保留收集的快照信息。每次保留3天.
exec dbms_workload_repository.modify_snapshot_settings(retention => 3 * 24 * 60);
--Topnsql :指定收集的比较占用资源的SQL数量,可设置的值最小为30,最大不超过100000000。
查看当前快照收集的相关设置,可以通过DBA_HIST_WR_CONTROL视图查看.每次100条
exec dbms_workload_repository.modify_snapshot_settings(TOPNSQL=>100);
--查询当前的设置:
2、创建和删除快照
exec dbms_workload_repository.create_snapshot();
exec dbms_workload_repository.drop_snapshot_range(low_snap_id => 10,high_snap_id => 12);
3、创建和管理基线
exec dbms_workload_repository.create_baseline(start_snap_id => 630,end_snap_id => 635,baseline_name => 'base line');
4、自动创建AWR基线
alter session set NLS_DATE_FORMAT= 'yyyy-mm-dd hh24: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
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的时间窗口创建固定基线。
--------------------------------------------------------------------------------------------------------------------------
二、数据库顾问框架
0、11G的顾问体系
ADDM
内存顾问
SQL访问顾问
自动撤销段顾问
MTTR顾问
数据恢复顾问
段顾问
1、ADDM
生成AWR 就会自动生成ADDM 保留30天。
2、其他顾问
内存顾问
SQL访问顾问
自动撤销段顾问
MTTR顾问
数据恢复顾问
3、自动维护作业
有三个自动维护的任务:收集统计信息、段顾问和SQL顾问。这三个自动运行但是必须手动接受调整和建议。工作日的22点运行4个小时。周六和周日早晨6点运行22个小时。
使用DBMS_AUTO_ADMIN pl/sql包来启用或禁用任务:
BEGIN
dbms_auto_task_admin.disable(
client_name => 'sql tuning advisor',
operation => NULL,
window_name => NULL);
END;
BEGIN
dbms_auto_task_admin.enable(
client_name => 'sql tuning advisor',
operation => NULL,
window_name => NULL);
END;
------------------------------------------------------------
三、生成警报系统
MMNON引发警报
DBA_ALERT_HISTORY中查找
待补充
https://blog.csdn.net/zq9017197/article/details/12882227
http://czmmiao.iteye.com/blog/2061833
https://www.linuxidc.com/Linux/2015-01/111926.htm