在一次生成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 Events Waits : 该等待事件发生的次数, 对于DB CPU此项不可用 Times : 该等待事件消耗的总计时间,单位为秒, 对于DB CPU 而言是前台进程 ...

  2. Oracle AWR报告指标全解析

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

  3. Oracle AWR报告详细分析

    Oracle AWR报告详细分析  (文档 ID 1523048.1) AWR 是 Oracle  10g 版本 推出的新特性, 全称叫Automatic Workload Repository-自动 ...

  4. 【性能调优】Oracle AWR报告指标全解析

    [性能调优]Oracle AWR报告指标全解析 啥是AWR? ===================================================================== ...

  5. Oracle AWR报告提取方法

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

  6. oracle awr报告生成_分享AWR报告的生成和简单分析方法

    生成AWR报告方法: 第一步:数据库压力测试卡开始时:生成第一个快照: Sql>exec dbms_workload_repository.create_snapshot(); 第二步:数据库压 ...

  7. oracle awr报告生成_oracle11g awr报告分析—WORKLOAD REPOSITORY report

    概述 关于生产环境的一份awr报告分析,之前闲着无聊整理了100页,后面拆分下各个模块介绍下怎么看awr报告. 我们在看性能指标的时候,需要知道数据库出现性能问题,一般都在三个地方,io,内存,cpu ...

  8. Oracle AWR 报告的生成和分析

    1.背景 1.1.Linux 服务器情况 # cat /etc/issue Red Hat Enterprise Linux Server release 6.1 (Santiago) Kernel ...

  9. Oracle AWR 报告中 No data exists for this section of the report 说明

    在AWR中,如果有部分选项是:Nodata exists for this section of the report.那么属正常现象. 如: 那么现在看一个有数据的AWR: 在下面的这个图中就显示了 ...

  10. Oracle AWR报告生成步骤

    1.手工刷出快照 开始压测前执行 SQL> exec dbms_workload_repository.create_snapshot();  结束压测后执行 SQL> exec dbms ...

最新文章

  1. 3D神经接口系统可以感知和操纵“微型脑“
  2. 第四周编程总结--助教
  3. 我用ASP.NET缓存之OutputCache
  4. Spring详解(八)------事务管理
  5. RCC 2017 Qual 1 Mail.Ru, April 2, 2017 Problem B. Painting the Wall
  6. erlang一次线上问题解决
  7. 25岁,欠债47万怎么办
  8. php中fgetss函数,fgetss-函数用法_PHP教程
  9. POJ2356 Find a multiple 鸽巢原理
  10. c++11中using的使用
  11. 微PE系统盘制作 / 重装系统
  12. kindeditor在线HTML编辑器
  13. 引用计数与可达性分析
  14. linux下的ftp命令详解,Linux FTP命令详解
  15. android关于无法debug
  16. 计算机组成原理(3)——存储器
  17. Wifi攻击工具 3:图形化工具 fern-wifi-cracker
  18. 方框加对勾怎么输入_Word文档里的□(方框)里怎么加入√(对勾)?
  19. 【思维导图怎么画】万彩脑图大师教程 | 插入动画图标
  20. High Availability for the HDFS Namenode

热门文章

  1. Effective JAVA 创建和销毁对象 遇到多参构造器考虑使用构建器
  2. 使用squid代理后某些网站无法访问的解决办法(3.1.7版本)
  3. 深入理解Java堆内存分配策略(Xmx和Xms)
  4. 第七次作业 numpy统计分布显示
  5. 2008-03-18 中午日出傍晚雨
  6. simple resource manager
  7. android状态栏自定义,如何自定义Android状态栏颜色
  8. BCD码和ASCII码的区别
  9. 数据库 之 Mysql的表分区
  10. (油菜花)为什么别的项目中的category拖到自己项目中无法使用?