Oracle数据库生成AWR报告(与查询、修改、删除AWR快照点)

概念:

AWR: " 自动工作负荷资料档案库:AWR(Automatic Workload Repository)"
自动工作负荷资料档案库AWR是为Oracle数据库组件提供服务的基础设施,通过它可以收集、维护和使用统计信息,以进行问题检测和自优化,可将这个基础设施视为存放数据库统计信息、度量等的一个数据仓库。

在默认情况下,数据库每60分钟(默认快照间隔时间为一个小时)从SGA中自动捕获统计信息,然后将其以快照的形式存储在AWR中。默认情况下,在Oracle11g和12c中快照会保留8天。

一、生成AWR报告:

需要在SQLplus下运行一名为awrrpt.sql脚本文件
该脚本文件存放在$ORACLE_HOME/rdbms/admin目录下
运行这个脚本的用户必须具有SELECT_CATALOG_ROLE系统权限
还有一个名为awrsqrpt.sql的脚本文件可以根据sql_id查询执行计划

#因为awr默认是每个小时生成一个快照点,也可以手工创建awr快照点
SQL> exec dbms_workload_repository.create_snapshot();

具体操作如下:

#SQLplus执行@?/rdbms/admin/awrrpt脚本获取AWR报告
[orcl][oracle@shuaige ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.4.0 Production on Mon Mar 22 11:53:18 2021

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

SQL> conn /as sysdba
Connected.
SQL> @?/rdbms/admin/awrrpt

Current Instance
~~~~~~~~~~~~~~~~

   DB Id    DB Name	 Inst Num Instance
----------- ------------ -------- ------------
 1582977425 ORCL		1 orcl


Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
Would you like an HTML report, or a plain text report?
Enter 'html' for an HTML report, or 'text' for plain text
Defaults to 'html'
Enter value for report_type: 		#按回车键接受默认以产生html类型的文件

Type Specified:  html


Instances in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   DB Id     Inst Num DB Name	   Instance	Host
------------ -------- ------------ ------------ ------------
* 1582977425	    1 ORCL	   orcl 	shuaige

Using 1582977425 for database Id
Using	       1 for instance number


Specify the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering the number of days (n) will result in the most recent
(n) days of snapshots being listed.  Pressing <return> without
specifying a number lists all completed snapshots.


Enter value for num_days: 			#按回车键以接受默认列出系统中的全部快照

Listing all Completed Snapshots

							Snap
Instance     DB Name	    Snap Id    Snap Started    Level
------------ ------------ --------- ------------------ -----
orcl	     ORCL		120 15 Mar 2021 01:21	   1
				121 15 Mar 2021 02:00	   1
				122 15 Mar 2021 03:00	   1
				123 15 Mar 2021 04:00	   1
				124 15 Mar 2021 05:00	   1
				125 15 Mar 2021 06:00	   1
				126 15 Mar 2021 07:00	   1
				127 15 Mar 2021 08:00	   1
				128 15 Mar 2021 09:00	   1
#空格表示在收集完Snap ID为128的快照之后,数据库重新启动过
				129 16 Mar 2021 01:11	   1
				130 16 Mar 2021 02:00	   1
				131 16 Mar 2021 03:00	   1
				132 16 Mar 2021 04:00	   1

				133 16 Mar 2021 05:11	   1

				134 16 Mar 2021 06:00	   1
				135 16 Mar 2021 07:00	   1
				136 16 Mar 2021 08:00	   1
				137 16 Mar 2021 09:00	   1

				138 17 Mar 2021 12:30	   1
				139 17 Mar 2021 14:00	   1
				140 17 Mar 2021 15:00	   1
				141 17 Mar 2021 16:00	   1
				142 17 Mar 2021 17:00	   1
				143 17 Mar 2021 18:00	   1
				144 17 Mar 2021 19:00	   1
				145 17 Mar 2021 20:00	   1
				146 17 Mar 2021 21:00	   1
				147 17 Mar 2021 22:00	   1
				148 17 Mar 2021 23:00	   1
				149 18 Mar 2021 00:00	   1
				150 18 Mar 2021 01:00	   1
				151 18 Mar 2021 02:00	   1
				152 18 Mar 2021 03:00	   1
				153 18 Mar 2021 04:00	   1
				154 18 Mar 2021 05:00	   1
				155 18 Mar 2021 06:00	   1
				156 18 Mar 2021 07:00	   1
				157 18 Mar 2021 08:00	   1
				158 18 Mar 2021 09:00	   1
				159 18 Mar 2021 10:00	   1
				160 18 Mar 2021 11:00	   1
				161 18 Mar 2021 12:00	   1
#空格表示在收集完Snap ID为161的快照之后,数据库重新启动过
				162 20 Mar 2021 04:44	   1
				163 20 Mar 2021 06:00	   1
				164 20 Mar 2021 07:00	   1
				165 20 Mar 2021 08:00	   1
				166 20 Mar 2021 09:00	   1
				167 20 Mar 2021 10:00	   1
				168 20 Mar 2021 11:00	   1
				169 20 Mar 2021 12:00	   1


							Snap
Instance     DB Name	    Snap Id    Snap Started    Level
------------ ------------ --------- ------------------ -----
orcl	     ORCL		170 22 Mar 2021 11:04	   1



Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap:168	#开始快照Snap ID
Begin Snapshot Id specified: 168

Enter value for end_snap: 169	#结束快照Snap ID
End   Snapshot Id specified: 169



Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is awrrpt_1_168_169.html.	To use this name,
press <return> to continue, otherwise enter an alternative.

Enter value for report_name:report_11-12.html	#AWR报告的名称(默认为awrrpt_1_168_169.html)
 ...
 End of Report
</body></html>
Report written to report_11-12.html
SQL> 

出现Report written to report_11-12.html显示结果时,就表明名为report_11-12.html的AWR报告已经生成并且存放在当前目录/home/oracle中。

[orcl][oracle@shuaige ~]$ ll
total 1380
-rw-r--r-- 1 oracle oinstall 389566 Mar 22 12:12 report_11-12.html

将AWR从服务器上下载下来,使用浏览器查看信息
在这里插入图片描述
AWR部分内容如下:
在这里插入图片描述

AWR报告分析内容会后续补充

二、查询AWR快照点:
1、查看数据库快照相关信息
SQL> SELECT * FROM DBA_HIST_WR_CONTROL;

DBID 		SNAP_INTERVAL		RETENTION			 TOPNSQL
---------- -------------------- -------------------- ----------
1582977425 +00000 01:00:00.0	+00014 00:00:00.0	 DEFAULT
2、查看数据库最小,最大快照点,如果数据库中有多个数据库快照可以指定数据库id
SQL> select min(snap_id)max(snap_id) from dba_hist_snapshot where dbid = 1582977425 ;

MIN(SNAP_ID) MAX(SNAP_ID)
-------------- --------------
	   486		  514

SQL> 
三、修改AWR报告保留时间

请参阅我的另一篇文章:点击跳转

四、删除AWR快照点:
1、删除当前数据库实例的快照点
SQL> exec dbms_workload_repository.drop_snapshot_range(514, 514, 1582977425)
2、删除当前数据库中导入的其他数据库的部分awr快照;
SQL> exec dbms_workload_repository.drop_snapshot_range(SNAP_ID, SNAP_ID, dbid)
3、删除当前数据库中其他数据库的所有awr快照;
SQL> exec dbms_swrf_internal.unregister_database(dbid)
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值