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

ORACLE 10g AWR报告设置总结

2016-07-26 14:42 627 查看
1:查看、修改AWR报告快照数据的采样间隔、保存策略

SQL>COLDBIDFOR999999999999
SQL>COLSNAP_INTERVALFORA26
SQL>COLRETENTIONFORA26
SQL>COLTOPNSQLFORA10
SQL>select*fromdba_hist_wr_control;
DBIDSNAP_INTERVALRETENTIONTOPNSQL
---------------------------------------------------------------------------
3990839260+0000001:00:00.0+0001400:00:00.0DEFAULT
SQL>

SNAP_INTERVAL=+0000001:00:00.0表示采样间隔是1小时
RETENTION=+0001400:00:00.0表示采样数据保留期限是14天
如上所示,快照采样间隔为1小时一次,快照数据保留14天。修改AWR的快照采样间隔、保存配置,改为30分钟采集一次快照数据,快照数据库保留7天。如下所示:

SQL>COLDBIDFOR999999999999
SQL>COLSNAP_INTERVALFORA26
SQL>COLRETENTIONFORA26
SQL>select*fromdba_hist_wr_control;
DBIDSNAP_INTERVALRETENTIONTOPNSQL
---------------------------------------------------------------------------
3990839260+0000001:00:00.0+0001400:00:00.0DEFAULT
SQL>execdbms_workload_repository.modify_snapshot_settings(interval=>30,retention=>7*24*60);
PL/SQLproceduresuccessfullycompleted.
SQL>select*fromdba_hist_wr_control;
DBIDSNAP_INTERVALRETENTIONTOPNSQL
---------------------------------------------------------------------------
3990839260+0000000:30:00.0+0000700:00:00.0DEFAULT
SQL>






2:手动创建快照(Snapshots)

数据库创建快照(Snapshots)一般是按Schedule定期创建的,默认一般一小时创建一个快照,只有当数据库出现问题的时候,你才需要手工创建一个快照。以获取那个时间段内的相关数据。

SQL>execdbms_workload_repository.create_snapshot();
PL/SQLproceduresuccessfullycompleted.

手工创建快照后,可以通过dba_hist_snapshot视图查看创建的快照信息。
3:手动删除快照(Snapshots)

--不指定DBID,默认当前实例DBID
SQL>execdbms_workload_repository.drop_snapshot_range(61263,61274);
PL/SQLproceduresuccessfullycompleted.
--指定DBID
SQL>execdbms_workload_repository.drop_snapshot_range(7417,7429,3990839260);
PL/SQLproceduresuccessfullycompleted.


4:创建基线(baseline)
一般来说当AWR自动维护快照时,如果定义过baseline,与baseline相关的快照不会被删除,即使是过期的快照,这样就相当于手动保留了一份统计数据的历史信息,DBA可以在适当的时间将其与现有的快照进行对比,以生成相关的统计报表

SQL>COLBASELINE_NAMEFORA32;
SQL>SELECTDBID,BASELINE_NAME,START_SNAP_ID,END_SNAP_IDFROMDBA_HIST_BASELINE;
norowsselected
SQL>execdbms_workload_repository.create_baseline(59806,59809,'20160726_07_11');
PL/SQLproceduresuccessfullycompleted.
SQL>SELECTDBID,BASELINE_NAME,START_SNAP_ID,END_SNAP_IDFROMDBA_HIST_BASELINE;
DBIDBASELINE_NAMESTART_SNAP_IDEND_SNAP_ID
------------------------------------------------------------------
399083926020160726_07_115980659809
SQL>




修改基线名称

BEGIN
DBMS_WORKLOAD_REPOSITORY.rename_baseline(
old_baseline_name=>'old_name',
new_baseline_name=>'new_name');
END;
/

基线(baseline)是自Oracle10g开始引入的,不过只包括了一些简单的基线功能,创建一个基线允许保留指定范围内的快照用于性能对比,与AWR保留策略无关,可以使用DBMS_WORKLOAD_REPOSITORY包来管理这个功能,在11g中,它被增强了。新增了许多功能。例如固定基线、移动窗口(MovingWindow)基线等
5:删除基线(baseline)
首先查看基线设置,找到对应的baseline_name,然后删除,过程如下所示:

SQL>SELECT*FROMDBA_HIST_BASELINE;
SQL>COLBASELINE_NAMEFORA32;
SQL>SELECTDBID,BASELINE_NAME,START_SNAP_ID,END_SNAP_IDFROMDBA_HIST_BASELINE;
DBIDBASELINE_NAMESTART_SNAP_IDEND_SNAP_ID
------------------------------------------------------------------
2179993557201101121298013004
21799935572010061679597968
21799935572010081894619485
2179993557201010201096410988
2179993557201101191314813172
2179993557201012221247612500
21799935572010060276247632





SQL>execdbms_workload_repository.drop_baseline('20110112',true);
PL/SQLproceduresuccessfullycompleted.

删除是如果指定了CASCADE参数为true,对应的snap也会被删除。
6:查看快照记录信息

SELECT*FROMDBA_HIST_SNAPSHOTORDERBY1DESC;
SELECTSNAP_ID,DBID,INSTANCE_NUMBER,STARTUP_TIME,
BEGIN_INTERVAL_TIME,END_INTERVAL_TIME,
FLUSH_ELAPSED,SNAP_LEVEL,ERROR_COUNT
FROMWRM$_SNAPSHOT
WHERESTATUS=0;
SELECT*FROMSYS.WRH$_ACTIVE_SESSION_HISTORY


7:导出、导入AWR快照数据



SQL>@?/rdbms/admin/awrextr.sql
SQL>@?/rdbms/admin/awrload.sql




8:删除导入的AWR快照数据。
如果要删除导入的awr数据,可以使用下面脚本进行删除。
execdbms_swrf_internal.unregister_database(dbid);
sql>execdbms_swrf_internal.unregister_database(3990839260);
dbms_workload_repository:
可以删除本地和其他数据库的快照,可以选择不同的快照来进行删除。
dbms_swrf_internal:
只能对其他数据库的快照来进行操作,会把整个快照unregister掉。
9:生成各种类型的AWR报告

GeneratingVariousTypesofAWRReports

AWRreportscanbegeneratedbyrunningvariousSQLscriptstosatisfyvariousrequirements.EachreportisavailableinHTMLorTXTformat:

·awrrpt.sql

DisplaysvariousstatisticsforarangeofsnapshotsIds.

·awrrpti.sql

DisplaysstatisticsforarangeofsnapshotIdsonaspecifieddatabaseandinstance.

·awrsqrpt.sql

DisplaystatisticsofaparticularSQLstatementforarangeofsnapshotIds.Run

thisreporttoinspectordebugtheperformanceofaparticularSQLstatement.

·awrsqrpi.sql

DisplaysstatisticsofaparticularSQLstatementforarangeofsnapshotIdsonaspecifiedSQL.

·awrddrpt.sql

Comparesdetailedperformanceattributesandconfigurationsettingsbetweentwoselectedtimeperiods.

·awrddrpi.sql

Comparesdetailedperformanceattributesandconfigurationsettingsbetweentwoselectedtimeperiodsonaspecificdatabaseandinstance.

查看AWR报告里面某个具体SQL语句的执行计划

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

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

WorkloadRepositoryViews

Thefollowingworkloadrepositoryviewsareavailable:

·V$ACTIVE_SESSION_HISTORY-Displaystheactivesessionhistory(ASH)sampledeverysecond.

·V$METRIC-Displaysmetricinformation.

·V$METRICNAME-Displaysthemetricsassociatedwitheachmetricgroup.

·V$METRIC_HISTORY-Displayshistoricalmetrics.

·V$METRICGROUP-Displaysallmetricsgroups.

·DBA_HIST_ACTIVE_SESS_HISTORY-Displaysthehistorycontentsoftheactivesessionhistory.

·DBA_HIST_BASELINE-Displaysbaselineinformation.

·DBA_HIST_DATABASE_INSTANCE-Displaysdatabaseenvironmentinformation.

·DBA_HIST_SNAPSHOT-Displayssnapshotinformation.

·DBA_HIST_SQL_PLAN-DisplaysSQLexecutionplans.

·DBA_HIST_WR_CONTROL-DisplaysAWRsettings.

参考资料:
https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=518649661691529&id=748642.1&_afrWindowMode=0&_adf.ctrl-state=1gfse6hc1_4
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: