#DBMS_AWR
DBMS_AWR包提供了一组内置的存储过程/函数,用于实现性能报告相关功能。
Note:
- 调用DBMS_AWR高级包下的所有子程序时,都需要以SYS用户连接数据库,否则报错。
- DBMS_AWR高级包不适用于分布式部署。
# CREATE_SNAPSHOT
DBMS_AWR.CREATE_SNAPSHOT ();
CREATE_SNAPSHOT子程序为存储过程,无参数,用于创建一个快照。
成功执行本程序后,系统将在WRM$_SNAPSHOT表中新增一条快照记录,该记录包含快照ID,快照时间等信息。
示例(单机、共享集群部署)
-- 创建一次快照
EXEC DBMS_AWR.CREATE_SNAPSHOT();
-- 继续创建一次快照
EXEC DBMS_AWR.CREATE_SNAPSHOT();
-- 从WRM$_SNAPSHOT表中查询最近的两次快照信息,包括数据库ID、快照ID、实例标识等信息
SELECT dbid,snap_id,instance_number FROM
(SELECT dbid,snap_id,instance_number FROM wrm$_snapshot ORDER BY snap_id DESC)
WHERE ROWNUM<3;
DBID SNAP_ID INSTANCE_NUMBER
----------- ----------- ---------------
2621752453 169 1
2621752453 168 1
# AWR_REPORT
DBMS_AWR.AWR_REPORT(
l_dbid IN NUMBER,
l_inst_num IN NUMBER,
l_bid IN NUMBER,
l_eid IN NUMBER,
l_options IN NUMBER DEFAULT 0,
l_format IN VARCHAR2 DEFAULT 'html');
AWR_REPORT子程序为存储过程,用于生成性能报告。
本程序在成功执行后,将直接输出报告的文本内容,用户可将输出内容粘贴到一个html文件,用于查看和保存。
参数 | 描述 |
---|---|
l_dbid | 数据库ID |
l_inst_num | 实例标识符,该参数单机部署下值为1,集群下在实例上查V$INSTANCE.INSTANCE_NUMBER |
l_bid | 起始快照ID |
l_eid | 终止快照ID |
l_options | 保留字段 |
l_format | 保留字段 |
示例(单机、共享集群部署)
-- 从WRM$_SNAPSHOT表获取两个snap_id值
EXEC DBMS_AWR.AWR_REPORT(2621752453,1,168,169);
# CLEAN_SNAPSHOT
DBMS_AWR.CLEAN_SNAPSHOT ();
CLEAN_SNAPSHOT子程序为存储过程,无参数,用于检查之前生成的快照是否超过设置的保存时间(默认是7天),超过则进行清理。
示例(单机、共享集群部署)
EXEC DBMS_AWR.CLEAN_SNAPSHOT();
# DROP_SNAPSHOT_RANGE
DBMS_AWR.DROP_SNAPSHOT_RANGE (
low_snap_id IN NUMBER,
high_snap_id IN NUMBER,
dbid IN NUMBER DEFAULT NULL);
DROP_SNAPSHOT_RANGE子程序为存储过程,通过给定参数确定所需要删除快照的范围,删除相应区间的快照。
参数 | 描述 |
---|---|
low_snap_id | 快照起始ID |
high_snap_id | 快照终止ID |
dbid | 数据库ID,可省略,则自动填充当前的数据库ID |
示例(单机、共享集群部署)
EXEC DBMS_AWR.DROP_SNAPSHOT_RANGE(35, 40);
# MODIFY_SNAPSHOT_SETTINGS
DBMS_AWR.MODIFY_SNAPSHOT_SETTINGS(
retention IN NUMBER DEFAULT NULL,
interval IN NUMBER DEFAULT NULL,
dbid IN NUMBER DEFAULT NULL);
MODIFY_SNAPSHOT_SETTINGS子程序为存储过程,通过修改快照的相关属性,控制快照的生成时间间隔(用于生成快照的自动任务中)及保存时间。
参数 | 描述 |
---|---|
retention | 快照保存时间,单位分钟,如保存一天可输入:24*60(最小值一天,最大值100年) |
interval | 快照生成时间间隔,单位分钟,如20分钟生成一次快照,可输入:20(最小值10分钟,最大值100年) |
dbid | 数据库ID,可省略,则自动填充当前的数据库ID |
示例(单机、共享集群部署)
-- 将快照保存时间设为3天,将快照生成间隔时间设为2小时
EXEC DBMS_AWR.MODIFY_SNAPSHOT_SETTINGS(3*24*60,2*60);