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

ORACLE 10g AWR报告设置总结的更多相关文章

  1. windows主机上ORACLE生成awr报告的步骤

    oracle数据库是一个大型的关系型数据库,那么如果有一天装载数据库的主机由于大量的IO操作导致主机cpu荷载超过100%会使得主机卡顿或者对数据库连接或者进行数据库进行正常的IO操作都会产生影响,所 ...

  2. Oracle——生成Awr报告

    Oracle--生成Awr报告 AWR的概念 Oracle数据库是一个使用量很多的数据库,关于Oracle数据库的性能.Oracle10g以后,Oracle提供了一个性能检测的工具:AWR(Autom ...

  3. [转]oracle性能调优之--Oracle 10g AWR 配置

    一.ASH和AWR的故事 1.1 关于ASH 我们都知道,用户在ORACLE数据库中执行操作时,必然要创建相应的连接和会话,其中,所有当前的会话信息都保存在动态性能视图V$SESSION中,通过该视图 ...

  4. 【ORACLE】awr报告问题分析

    本文转自:http://www.linuxidc.com/Linux/2015-10/123959.htm 感谢分享 1.问题说明 运维人员都有"节日休假恐怖症",越到节日.休假和 ...

  5. Oracle的AWR报告分析

    * 定义:awr报告是oracle 10g下提供的一种性能收集和分析工具,它能提供一个时间段内整个系统资源使用情况的报告,通过这个报告,我们就可以了解一个系统的整个运行情况,这就像一个人全面的体检报告 ...

  6. oracle生成AWR报告方法

    2018-04-02 19:59:42 在10g 11g中AWR自动的每隔一小时进行一次数据采集并生成快照.下面是生成AWR报告的步骤: 1:使用oracle用户在数据库服务器上执行如下命令 sqlp ...

  7. Oracle生成awr报告操作步骤介绍

    AWR全称Automatic Workload Repository,自动负载信息库,是Oracle 10g版本后推出的一种性能收集和分析工具,提供了一个时间段内整个系统的报表数据.通过AWR报告,可 ...

  8. 生成Oracle的AWR报告

    1.打开CMD命令对话框,登录SQLPLUS(主要如果是管理员账户,用户名需要加 as sysdba,密码格式为  password@IP/实例名),输入AWR执行SQL语句(注意,路径根据实际安装路 ...

  9. 获取Oracle数据库awr报告方法

    --登录数据库  sqlplus username/passwd; --运行生成AWR报告脚本  SQL> @?/rdbms/admin/awrrpt.sql; --输入要生成报告的格式:htm ...

随机推荐

  1. WPFINotifyPropertyChanged使用技巧

    WPFINotifyPropertyChanged使用技巧 public class NotifyPropertyChanged : INotifyPropertyChanged { public e ...

  2. linux Centos 6.5 安装桌面环境GNOME

    在某种场合之下,我们使用的Linux还是要选择安装桌面环境的,所以在这里介绍一下如何给没有安装桌面环境的系统安装桌面环境.以Centos 6.5 为例演示一下如何安装桌面环境. 工具/原料 Linux ...

  3. linux使用rpm重装jdk

    1.卸载jdk #rpm -qa | grep gcj 如果输出没有内容,说明没有jdk,如果输出有内容,要把搜索到的文件卸载掉,命令为: #rpm -e --nodeps [上步操作输出的文件] 然 ...

  4. 网上图书商城1--User模块

    1. 注册 $(function() { /* * 1. 得到所有的错误信息,循环遍历之.调用一个方法来确定是否显示错误信息! */ $(".errorClass").each(f ...

  5. 定时任务服务 CronService使用说明

    CronServiceInstaller.exe  部署安装程序 1.在打开该程序前务必设置为管理员运行 2.点击注册服务 3.检查服务是否开启,点击 services.msc, 打开系统服务列表 4 ...

  6. Oracle 免费的数据库--Database 快捷版 11g 安装使用与"SOD框架"对Oracle的CodeFirst支持

    一.Oracle XE 数据库与连接工具安装使用 Oracle数据库历来以价格昂贵出名,当然贵有贵的道理,成为一个Oracle DBA也是令人羡慕的事情,如果程序员熟悉Oracle使用也有机会接触到大 ...

  7. java内存模型-volatile

    volatile 的特性 当我们声明共享变量为 volatile 后,对这个变量的读/写将会很特别.理解 volatile 特性的一个好方法是:把对 volatile 变量的单个读/写,看成是使用同一 ...

  8. [.NET] 使用Json.NET提供依赖注入功能(Dependence Injection)

    [.NET] 使用Json.NET提供依赖注入功能(Dependence Injection) 前言 在一些小型项目的开发情景里,系统不需要大型DI Framework所提供的:单一对象生成.生命周期 ...

  9. sublime text3 之snippet编写代码片段

    sublime text 3 中有个强大的功能就是可以编写各种文件类型的snippet代码片段,可以节省大量的时间. 文件名为:jekyll-top.sublime-snippet(.sublime- ...

  10. 使用three.js创建3D机房模型-分享一

    序:前段时间公司一次研讨会上,一市场部同事展现了同行业其他公司的3D机房,我司领导觉得这个可以研究研究,为了节约成本,我们在网上大量检索,最后找到一位前辈的博文[TWaver的技术博客],在那篇博文的 ...