ORACLE 10g AWR报告设置总结

简介: 1:查看、修改AWR报告快照数据的采样间隔、保存策略 SQL> COL DBID FOR 999999999999SQL> COL SNAP_INTERVAL FOR A26SQL> COL RETENTION FOR A26SQL> COL TOPNSQL FOR A10SQL>...

 

1:查看、修改AWR报告快照数据的采样间隔、保存策略

SQL> COL DBID FOR 999999999999
SQL> COL SNAP_INTERVAL FOR A26
SQL> COL RETENTION FOR A26
SQL> COL TOPNSQL FOR A10
SQL> select * from dba_hist_wr_control;
 
         DBID SNAP_INTERVAL              RETENTION                  TOPNSQL
------------- -------------------------- -------------------------- ----------
   3990839260 +00000 01:00:00.0          +00014 00:00:00.0          DEFAULT
 
SQL> 

SNAP_INTERVAL=+00000 01:00:00.0 表示采样间隔是1小时

RETENTION=+00014 00:00:00.0 表示采样数据保留期限是14天

 

如上所示,快照采样间隔为1小时一次,快照数据保留14天。修改AWR的快照采样间隔、保存配置,改为30分钟采集一次快照数据,快照数据库保留7天。如下所示:

SQL> COL DBID FOR 999999999999
SQL> COL SNAP_INTERVAL FOR A26
SQL> COL RETENTION FOR A26
SQL> select * from dba_hist_wr_control;
 
         DBID SNAP_INTERVAL              RETENTION                  TOPNSQL
------------- -------------------------- -------------------------- ----------
   3990839260 +00000 01:00:00.0          +00014 00:00:00.0          DEFAULT
 
SQL> exec dbms_workload_repository.modify_snapshot_settings(interval=>30,retention=>7*24*60);
 
PL/SQL procedure successfully completed.
 
SQL> select * from dba_hist_wr_control;
 
         DBID SNAP_INTERVAL              RETENTION                  TOPNSQL
------------- -------------------------- -------------------------- ----------
   3990839260 +00000 00:30:00.0          +00007 00:00:00.0          DEFAULT
 
SQL> 

 

 

2:手动创建快照(Snapshots)

 

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

SQL> exec dbms_workload_repository.create_snapshot(); 
 
PL/SQL procedure successfully completed.

手工创建快照后,可以通过dba_hist_snapshot视图查看创建的快照信息。

 

3:手动删除快照(Snapshots)

 

 
--不指定DBID,默认当前实例DBID
SQL>  exec dbms_workload_repository.drop_snapshot_range(61263,61274);
 
PL/SQL procedure successfully completed.
 
 
--指定DBID
 
SQL> exec dbms_workload_repository.drop_snapshot_range(7417,7429,3990839260); 
PL/SQL procedure successfully completed.

 

 

4:创建基线(baseline)

 

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

SQL> COL BASELINE_NAME FOR A32;
SQL> SELECT DBID,BASELINE_NAME,  START_SNAP_ID, END_SNAP_ID FROM DBA_HIST_BASELINE;
 
no rows selected
 
SQL> exec dbms_workload_repository.create_baseline(59806,59809,'20160726_07_11');
 
PL/SQL procedure successfully completed.
 
SQL> SELECT DBID,BASELINE_NAME,  START_SNAP_ID, END_SNAP_ID FROM DBA_HIST_BASELINE;
 
      DBID BASELINE_NAME                    START_SNAP_ID END_SNAP_ID
---------- -------------------------------- ------------- -----------
3990839260 20160726_07_11                           59806       59809
 
SQL> 

修改基线名称

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

 

基线(baseline)是自Oracle 10g开始引入的,不过只包括了一些简单的基线功能,创建一个基线允许保留指定范围内的快照用于性能对比,与AWR保留策略无关,可以使用DBMS_WORKLOAD_REPOSITORY包来管理这个功能,在11g中,它被增强了。新增了许多功能。例如固定基线、移动窗口(Moving Window)基线等

 

5: 删除基线(baseline)

首先查看基线设置,找到对应的baseline_name,然后删除,过程如下所示:

SQL>SELECT * FROM DBA_HIST_BASELINE;
 
SQL> COL BASELINE_NAME FOR A32;
SQL> SELECT DBID,BASELINE_NAME,  START_SNAP_ID, END_SNAP_ID FROM DBA_HIST_BASELINE;
 
      DBID BASELINE_NAME                    START_SNAP_ID END_SNAP_ID
---------- -------------------------------- ------------- -----------
2179993557 20110112                                 12980       13004
2179993557 20100616                                  7959        7968
2179993557 20100818                                  9461        9485
2179993557 20101020                                 10964       10988
2179993557 20110119                                 13148       13172
2179993557 20101222                                 12476       12500
2179993557 20100602                                  7624        7632

 

SQL> exec dbms_workload_repository.drop_baseline('20110112',true);
 
PL/SQL procedure successfully completed.

删除是如果指定了CASCADE参数为true,对应的snap也会被删除。

 

6: 查看快照记录信息

SELECT * FROM  DBA_HIST_SNAPSHOT ORDER BY 1 DESC ;
 
 
SELECT SNAP_ID, DBID, INSTANCE_NUMBER, STARTUP_TIME,
       BEGIN_INTERVAL_TIME, END_INTERVAL_TIME,
       FLUSH_ELAPSED, SNAP_LEVEL, ERROR_COUNT
FROM WRM$_SNAPSHOT
WHERE STATUS = 0;
 
SELECT * FROM SYS.WRH$_ACTIVE_SESSION_HISTORY

 

 

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

 

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

 

 

8:删除导入的AWR快照数据。

 

如果要删除导入的awr数据,可以使用下面脚本进行删除。

exec dbms_swrf_internal.unregister_database(dbid);

sql> exec dbms_swrf_internal.unregister_database(3990839260);

dbms_workload_repository:

可以删除本地和其他数据库的快照,可以选择不同的快照来进行删除。

dbms_swrf_internal:

只能对其他数据库的快照来进行操作,会把整个快照unregister掉。

 

9:生成各种类型的AWR报告

 

Generating Various Types of AWR Reports

 

AWR reports can be generated by running various SQL scripts to satisfy various requirements. Each report is available in HTML or TXT format:

 

·         awrrpt.sql

Displays various statistics for a range of snapshots Ids.

·         awrrpti.sql

Displays statistics for a range of snapshot Ids on a specified database and instance.

·         awrsqrpt.sql

Display statistics of a particular SQL statement for a range of snapshot Ids. Run 

this report to inspect or debug the performance of a particular SQL statement.

·         awrsqrpi.sql 

Displays statistics of a particular SQL statement for a range of snapshot Ids on a specified SQL.

·         awrddrpt.sql

Compares detailed performance attributes and configuration settings between two selected time periods.

·         awrddrpi.sql

Compares detailed performance attributes and configuration settings between two selected                time periods on a specific database and instance.

 

 

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

 

 

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

 

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

 

 

 

 

Workload Repository Views

 

The following workload repository views are available:

·         V$ACTIVE_SESSION_HISTORY - Displays the active session history (ASH) sampled every second.

·         V$METRIC - Displays metric information.

·         V$METRICNAME - Displays the metrics associated with each metric group.

·         V$METRIC_HISTORY - Displays historical metrics.

·         V$METRICGROUP - Displays all metrics groups.

·         DBA_HIST_ACTIVE_SESS_HISTORY - Displays the history contents of the active session history.

·         DBA_HIST_BASELINE - Displays baseline information.

·         DBA_HIST_DATABASE_INSTANCE - Displays database environment information.

·         DBA_HIST_SNAPSHOT - Displays snapshot information.

·         DBA_HIST_SQL_PLAN - Displays SQL execution plans.

·         DBA_HIST_WR_CONTROL - Displays AWR settings.

 

 

参考资料:

https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=518649661691529&id=748642.1&_afrWindowMode=0&_adf.ctrl-state=1gfse6hc1_4

 

相关文章
|
7天前
|
监控 Oracle 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第8天】在 Linux 平台设置 Oracle 开机自启动有多种方法,本文以 CentOS 为例,介绍了两种常见方法:使用 `rc.local` 文件(较简单但不推荐用于生产环境)和使用 `systemd` 服务(推荐)。具体步骤包括编写启动脚本、赋予执行权限、配置 `rc.local` 或创建 `systemd` 服务单元文件,并设置开机自启动。通过 `systemd` 方式可以更好地与系统启动过程集成,更规范和可靠。
|
6月前
|
Oracle 关系型数据库 Linux
Oracle设置监听之Navicat的锅
Oracle设置监听之Navicat的锅
99 0
|
Oracle 关系型数据库 数据库
Oracle 11G常见性能诊断报告(AWR/ADDM/ASH)收集
Oracle 11G常见性能诊断报告(AWR/ADDM/ASH)收集
320 0
|
Oracle 网络协议 关系型数据库
Oracle会话超时设置1:在sqlnet.ora和listener.ora中设置
这篇文章是Oracle会话超时设置的第一个文章,简述和Oracle 数据库 net services有关的会话超时管理。
1364 0
Oracle会话超时设置1:在sqlnet.ora和listener.ora中设置
|
SQL 运维 Oracle
Oracle 超时设置2:设置实例级参数
Oracle超时设置系列的第二篇文章,设置实例级参数
594 0
|
8天前
|
Oracle Ubuntu 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第7天】本文介绍了 Linux 系统中服务管理机制,并详细说明了如何在使用 systemd 和 System V 的系统上设置 Oracle 数据库的开机自启动。包括创建服务单元文件、编辑启动脚本、设置开机自启动和启动服务的具体步骤。最后建议重启系统验证设置是否成功。
|
4月前
|
SQL Oracle 关系型数据库
关系型数据库Oracle设置 RMAN 环境:
【7月更文挑战第25天】
69 2
|
4月前
|
Oracle 关系型数据库 Unix
关系型数据库Oracle设置环境变量:
【7月更文挑战第22天】
544 4
|
6月前
|
SQL 监控 Oracle
Oracle 性能优化之AWR、ASH和ADDM(含报告生成和参数解读)
Oracle 性能优化之AWR、ASH和ADDM(含报告生成和参数解读)
|
6月前
修改oracle11g的awr快照参数
修改oracle11g的awr快照参数
46 0