在一次生成AWR报告中,发现在“Instances in this Workload Repository schema”部分,出现了多个实例记录信息(host敏感信息被用host1,host2,host3替换)。具体信息如下截图所示:

SQL> @?/rdbms/admin/awrrpt

 

Current Instance

~~~~~~~~~~~~~~~~

 

   DB Id    DB Name      Inst Num Instance

----------- ------------ -------- ------------

 3990839260 SCM2                1 SCM2

 

 

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

------------ -------- ------------ ------------ ------------

  3990839260        1 SCM2         SCM2         host1

* 3990839260        1 SCM2         SCM2         host2

  3990839260        1 SCM2         SCM2         host3

 

Using 3990839260 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.

其实这几个hostname对于我来说,非常熟悉,一个是数据库迁移前的hostname,一个是hostname修改前的名称,一个是hostname修改后的名称。那么为什么出现这个情况呢?我们先从$ORACLE_HOME/rdbms/admin/awrrpt.sql脚本开始,看看这些记录是怎么获取的。

[oracle@MyOracle admin]$ more awrrpt.sql 

 

Rem $Header: awrrpt.sql 24-oct-2003.12:04:53 pbelknap Exp $

Rem

Rem awrrpt.sql

Rem

Rem Copyright (c) 1999, 2003, Oracle Corporation.  All rights reserved.  

Rem

Rem    NAME

Rem      awrrpt.sql

Rem

Rem    DESCRIPTION

Rem      This script defaults the dbid and instance number to that of the

Rem      current instance connected-to, then calls awrrpti.sql to produce

Rem      the Workload Repository report.

Rem

Rem    NOTES

Rem      Run as select_catalog privileges.  

Rem      This report is based on the Statspack report.

Rem

Rem      If you want to use this script in an non-interactive fashion,

Rem      see the 'customer-customizable report settings' section in

Rem      awrrpti.sql

Rem

Rem    MODIFIED   (MM/DD/YY)

Rem    pbelknap    10/24/03 - swrfrpt to awrrpt 

Rem    pbelknap    10/14/03 - moving params to rpti 

Rem    pbelknap    10/02/03 - adding non-interactive mode cmnts 

Rem    mlfeng      09/10/03 - heading on 

Rem    aime        04/25/03 - aime_going_to_main

Rem    mlfeng      01/27/03 - mlfeng_swrf_reporting

Rem    mlfeng      01/13/03 - Update comments

Rem    mlfeng      07/08/02 - swrf flushing

Rem    mlfeng      06/12/02 - Created

Rem

 

--

-- Get the current database/instance information - this will be used 

-- later in the report along with bid, eid to lookup snapshots

 

set echo off heading on underline on;

column inst_num  heading "Inst Num"  new_value inst_num  format 99999;

column inst_name heading "Instance"  new_value inst_name format a12;

column db_name   heading "DB Name"   new_value db_name   format a12;

column dbid      heading "DB Id"     new_value dbid      format 9999999999 just c;

 

prompt

prompt Current Instance

prompt ~~~~~~~~~~~~~~~~

 

select d.dbid            dbid

     , d.name            db_name

     , i.instance_number inst_num

     , i.instance_name   inst_name

  from v$database d,

       v$instance i;

 

@@awrrpti

 

undefine num_days;

undefine report_type;

undefine report_name;

undefine begin_snap;

undefine end_snap;

--

-- End of file

如上所示,其实awrrpt.sql里面没有多少料,主要功能还是在awrrpti.sql中实现的。在awrrpti.sql里面,看到通过下面部分信息,定位到AWR里面的信息来源于awrinput.sql

检查awrinput.sql脚本,发现AWR那段数据来自于下面SQL语句

--

-- Request the DB Id and Instance Number, if they are not specified

 

column instt_num  heading "Inst Num"  format 99999;

column instt_name heading "Instance"  format a12;

column dbb_name   heading "DB Name"   format a12;

column dbbid      heading "DB Id"     format a12 just c;

column host       heading "Host"      format a12;

 

prompt

prompt

prompt Instances in this Workload Repository schema

prompt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

select distinct

       (case when cd.dbid = wr.dbid and 

                  cd.name = wr.db_name and

                  ci.instance_number = wr.instance_number and

                  ci.instance_name   = wr.instance_name   and

                  ci.host_name       = wr.host_name 

             then '* '

             else '  '

        end) || wr.dbid   dbbid

     , wr.instance_number instt_num

     , wr.db_name         dbb_name

     , wr.instance_name   instt_name

     , wr.host_name       host

  from dba_hist_database_instance wr, v$database cd, v$instance ci;

 

prompt

prompt Using &&dbid for database Id

prompt Using &&inst_num for instance number

最后发现原因是:视图dba_hist_database_instance里面存放的历史记录,记录了host的变化,所以上面SQL,出现了三条记录。

dba_hist_database_instance视图脚本

select dbid, instance_number, startup_time, parallel, version,

       db_name, instance_name, host_name, last_ash_sample_id

from WRM$_DATABASE_INSTANCE

使用下面脚本找到对应的记录,然后删除那些历史数据就可以了。但是手工删除这个表的数据是否会有问题呢? 也在测试环境测试了一下,没有任何问题,和同事讨论了一下,觉得这个数据的删除,不会出现什么问题。

SQL> SELECT HOST_NAME, MAX(STARTUP_TIME) FROM dba_hist_database_instance

  2  GROUP BY HOST_NAME;

 

 

SQL> DELETE FROM dba_hist_database_instance WHERE STARTUP_TIME <=TO_DATE('2016-05-05 00:00:00', 'YYYY-MM-DD HH24:MI:SS');

COMMIT;

266 rows deleted.

 

SQL>COMMIT;

ORACLE AWR报告生成过程出现多个实例记录分析的更多相关文章

  1. Oracle AWR报告指标全解析-11011552

    1-5 Top 5 Timed EventsWaits : 该等待事件发生的次数, 对于DB CPU此项不可用Times : 该等待事件消耗的总计时间,单位为秒, 对于DB CPU 而言是前台进程所消 ...

  2. Oracle AWR 报告详解

    转自:http://blog.csdn.net/laoshangxyc/article/details/8615187 持续更新中... Oracle awr报告详解 DB Name DB Id In ...

  3. (原创)如何在性能测试中自动生成并获取Oracle AWR报告

    版权声明:本文为原创文章,转载请先联系并标明出处 由于日常使用最多的数据库为Oracle,因此,最近又打起了Oracle的AWR报告的主意. 过去我们执行测试,都是执行开始和结束分别手动建立一个快照, ...

  4. 快速熟悉 Oracle AWR 报告解读

    目录 AWR报告简介 AWR报告结构 基本信息 Report Summary Main Report RAC statistics Wait Event Statistics 参考资料 本文面向没有太 ...

  5. ORACLE AWR报告生成步骤

    ORACLE AWR报告生成步骤 (以PL/SQL中命令窗口为例) 1.sqlplus或plsql的commod窗口(命令窗口)运行命令 @D:\oracle\product\10.2.0\db_1\ ...

  6. Oracle AWR报告提取方法

    本文旨在用来指导项目人员自行提取Oracle数据库的AWR报告. 1.当前连接实例的AWR报告提取:@?/rdbms/admin/awrrpt 2.RAC的其他实例AWR报告提取:@?/rdbms/a ...

  7. Oracle AWR报告生成和性能分析

    目录 一.AWE报告生成步骤 1.1 工具选择 1.2 自动创建快照 1.3 手工创建快照 1.4 生成AWR报告 二.AWR报告分析 2.1 AWR之DB Time 2.2 AWR之load_pro ...

  8. [转]oracle awr报告生成和分析

    转自:http://blog.csdn.net/cuker919/article/details/8767328 最近由于数据库cpu占用非常高,导致VCS常常自动切换,引起很多问题. 最近学习一下数 ...

  9. Oracle Awr报告_awr报告解读_基础简要信息

    导出 关于awr报告的导出,上一篇博客已经进行过讲述了.博客链接地址:https://www.cnblogs.com/liyasong/p/oracle_report1.html  这里就不再赘述. ...

随机推荐

  1. iOS 阶段学习第25天笔记(iOS沙盒机制介绍)

    iOS学习(OC语言)知识点整理 一.iOS沙盒机制介绍 1)概念: 每个ios应用都有自己的应用沙盒,应用沙盒就是文件系统目录,与其他应用放入文件 系统隔离,ios系统不允许访问 其他应用的应用沙盒 ...

  2. archive for required library...

    最近把移动硬盘上的一个Android项目复制到笔记本上面,import后项目文件夹始终有一个红色叹号,console里面提示“archive for required library...”,原来是l ...

  3. 【java手记】------------------------java中转发和重定向区别

    转发: request.getRequestDispatcher("success.jsp").forward(request,response); 在服务器组件收到用户请求后.经 ...

  4. JS的预编译和执行顺序 详析(及全局与局部变量)

    最近在复习javascript的事件处理时发现了一个问题,于是总结一下:javascript的预编译和执行顺序的问题:   <html> <head> <title> ...

  5. 对chain.doFilter(request,response)的理解

    他的作用是将请求转发给过滤器链上下一个对象.这里的“下”指的是哪里 ? 指的是下一个filter,如果没有filter那就是你请求的资源. 一般filter都是一个链,web.xml 里面配置了几个就 ...

  6. 解决MVC4发布在IIS7后,路径无法访问.apk文件的解决方法

    随着智能手机的普及,越来越多的人使用手机上网,很多网站也应手机上网的需要推出了网站客户端,.apk文件就是安卓(Android)的应用程序后缀名,默认情况下,使用IIS作为Web服务器的无法下载此文件 ...

  7. var和dynamic的区别及如何正确使用dynamic ?

    C#中的很多关键词用法比较容易混淆,var和dynamic就是其中一组,他们都可以申明动态类型的变量,但是本质上他们还是有不少区别的.var 在编译阶段已经确定类型,在初始化时候,必须提供初始化的值, ...

  8. 10个最好的 JavaScript 动画库和开发框架

    虽然 CSS3 动画功能能够让我们以简单轻松的方式实现动画效果,但是浏览器兼容性问题让人头疼.不过不用担心,我们还有另外的武器——JavaScript,它同样可以帮助你实现各种各样的动画效果,而且借助 ...

  9. HtmlEncode和JavaScriptEncode(预防XSS)

    在数据添加到DOM时候,我们可以需要对内容进行HtmlEncode或JavaScriptEncode,以预防XSS攻击. JavaScriptEncode 使用“\”对特殊字符进行转义,除数字字母之外 ...

  10. JavaScript学习笔记-用于模式匹配的String方法

    用于模式匹配的String方法:   String支持4种使用正则表达式的方法:           seach()用于检索,参数是一个正则表达式,返回第一个与之匹配的子串的位置,找不到则返回-1,如 ...