<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.feedsky.com/laoxiong" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/laoxiong" type="application/rss+xml"></fs:self_link><lastBuildDate>Tue, 24 Apr 2012 16:27:58 GMT</lastBuildDate><title>老熊的三分地-Oracle、UNIX、数据恢复</title><description>老熊的生活、Oracle及UNIX技术、Oracle数据恢复工具、观点</description><image><url>http://www.feedsky.com/feed/laoxiong/sc/gif</url><title>老熊的三分地-Oracle、UNIX、数据恢复</title><link>http://www.laoxiong.net</link></image><link>http://www.laoxiong.net</link><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><language>en</language><pubDate>Tue, 24 Apr 2012 16:43:16 GMT</pubDate><item><title>为11gR2 Grid Infrastructure增加新的public网络</title><link>http://www.laoxiong.net/add-new-public-network-on-11gr2-grid-infrastructure.html</link><content:encoded>&lt;p&gt;在某些环境下，运行11.2版本的RAC数据库的服务器上，连接了多个public网络，那么就会有如下的需求：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;给其他的，或者说是新的public网络增加新的VIP地址。&lt;/li&gt;
&lt;li&gt;在新的public网络上增加SCAN VIP.&lt;/li&gt;
&lt;li&gt;在新的VIP地址上配置监听&lt;/li&gt;
&lt;li&gt;在新的SCAN VIP地址上配置监听&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;实际上从11.2版本开始，grid infrastructure（以下可能会简写为GI）就是一个完整的clusterware，不仅仅是用于数据库，也可以用作应用软件的高可用性。上述的4个需求中，第1个是毫无疑问需要的；第2个需求对运行在grid infrastructure上的应用是必要的；第3个需求在运行在grid infrastructure上的数据库来说是必要的；第4个需求，是针对数据库的，这个需求有点难度，因为在一套grid infrastructure中只能允许有一个SCAN LISTENER的存在，由于可以不通过SCAN IP而是直接通过VIP地址连接数据库，所以这个新的SCAN监听可以不需要，但是为了完整，我们可以用变通的方法来实现。&lt;/p&gt;
&lt;p&gt;下面我们用一个实例来演示如何实现上述的所有需求。&lt;/p&gt;
&lt;p&gt;先简单介绍一下用于演示的环境：11.2.0.1 grid infrastructure for linux 32bit，共2个节点，节点名是xty3和xty4，没有使用DNS（实际上在有DNS的环境下，也不太可能会有第2个public network），所以下面的演示是以没有DNS来配置的。Grid Infrastructure用的是oracle用户安装的（实际生产建议用单独的grid用户），而RDBMS软件也是用oracle安装的。目前的private network是192.168.153.0，对应的网卡设备名是en1，public network是192.168.0.0，对应的网卡设备名是en0，打算新增加的public network是192.168.76.0，对应的网卡设备名是en2。&lt;/p&gt;
&lt;p&gt;先看看/etc/hosts文件的内容：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
127.0.0.1    localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6
192.168.0.134   xty3
192.168.0.144   xty4
192.168.153.134 xty3-priv
192.168.153.144 xty4-priv
192.168.0.135   xty3-vip
192.168.0.145   xty4-vip
192.168.0.155   xty-cluster-svip1
&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;第1步&lt;/strong&gt;，配置好新的public network的IP地址和网络路由。注意新的public network IP地址配好后，注意配置好网络路由。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第2步&lt;/strong&gt;，在所有的节点上编辑/etc/hosts文件，增加如下内容：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
192.168.76.134   xty3-pub2
192.168.76.144   xty4-pub2
192.168.76.135   xty3-vip2
192.168.76.145   xty4-vip2
192.168.76.155   xty-cluster-svip2
&lt;/pre&gt;
&lt;p&gt;192.168.76.134和192.168.76.144是两个节点上新的public network的public ip，192.168.76.135和192.168.76.145是相对应的VIP地址，而192.168.76.155则是准备要在新的public network上增加的SCAN IP。而xty-cluster-svip2则是新增的SCAN名字。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第3步&lt;/strong&gt;，增加新的public network上的vip地址，这一步比较简单，用root用户执行下面的命令:&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
srvctl add vip -n xty3 -k 2 -A xty3-vip2/255.255.255.0/eth2
srvctl add vip -n xty4 -k 2 -A xty4-vip2/255.255.255.0/eth2
&lt;/pre&gt;
&lt;p&gt;在上述命令中，-n参数后面跟的是节点名(hostname)； -k后面的参数表示第几个网络，这里是2，表示第2个public network。-A后面就是VIP地址的属性了，格式为&amp;#8221;VIP地址名/子网/网卡设备名&amp;#8221;。&lt;/p&gt;
&lt;p&gt;然后用crsctl来检查，vip资源已经存在：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
[root@xty3 ~]# crsctl stat res -t | egrep &quot;vip|network&quot;
ora.net1.network
ora.net2.network
ora.scan1.vip
ora.xty3-vip2.vip
ora.xty3.vip
ora.xty4-vip2.vip
ora.xty4.vip

[root@xty3 ~]# srvctl config vip -n xty3
VIP exists.:xty3
VIP exists.: /xty3-vip2/192.168.76.135/255.255.255.0/eth2
VIP exists.:xty3
VIP exists.: /xty3-vip/192.168.0.135/255.255.255.0/eth0

[root@xty3 ~]# srvctl config vip -n xty4
VIP exists.:xty4
VIP exists.: /xty4-vip2/192.168.76.145/255.255.255.0/eth2
VIP exists.:xty4
VIP exists.: /xty4-vip/192.168.0.145/255.255.255.0/eth0
&lt;/pre&gt;
&lt;p&gt;ora.net2.network，ora.xty3-vip2.vip,ora.xty4-vip2.vip都是新增的资源。然后使用下面的命令启动新增的VIP：&lt;br /&gt;
&lt;span id=&quot;more-938&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
[root@xty3 ~]# srvctl start vip -i xty3-vip2
[root@xty3 ~]# srvctl start vip -i xty4-vip2
&lt;/pre&gt;
&lt;p&gt;使用ifconfig 命令也可以确认IP地址已经附加到了新增的public network上，即en2上。所以在这里，&lt;strong&gt;新增public network上的VIP配置成功。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第4步&lt;/strong&gt;，我们来实现第3个需求，也就是在VIP地址上增加监听，这个步骤也很简单，用GI的用户(这个环境是oracle)执行下面的命令：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
[oracle@xty3 root]$ srvctl add listener -l LISTENER_N2 -s -p 1521 -k 2
[oracle@xty3 root]$ srvctl config listener  -a
Name: LISTENER
Network: 1, Owner: oracle
Home: &lt;crs home&gt;
  /oracle/app/grid on node(s) xty4,xty3
End points: TCP:1521
Name: LISTENER_N2
Network: 2, Owner: oracle
Home: &lt;/crs&gt;&lt;crs home&gt;
  /oracle/app/grid on node(s) xty4,xty3
End points: TCP:1521
&lt;/crs&gt;&lt;/pre&gt;
&lt;p&gt;启动并检查新增加的监听：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
[oracle@xty3 root]$ srvctl start listener -l LISTENER_N2
[oracle@xty3 root]$ lsnrctl status listener_n2

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 24-APR-2012 21:07:44

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_N2)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER_N2
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                24-APR-2012 21:04:14
Uptime                    0 days 0 hr. 3 min. 30 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /oracle/app/grid/network/admin/listener.ora
Listener Log File         /oracle/app/grid/log/diag/tnslsnr/xty3/listener_n2/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_N2)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.76.135)(PORT=1521)))
The listener supports no services
The command completed successfully
&lt;/pre&gt;
&lt;p&gt;可以看到，监听LISTENER_N2增加成功。增加监听也可以使用netca图形界面操作，但还是命令行操作快捷。不过从上面的输出可以看到，新的public network上的监听并没有监听到相对应的public固定IP。实际上他们监听hostname对应的IP地址。这是由BUG 8678541引起，在11.2.0.2及以上版本中已经修复。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第5步&lt;/strong&gt;，我们来实现第2个需求，也就是增加SCAN IP，实际上在GI中，只能有一个SCAN，所以新增加的“SCAN IP”，实际上应称为“Application IP”，用两种方法，先介绍简单的，用root命令执行：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
[root@xty3 ~]# appvipcfg create -network=2 -ip=192.168.76.155 -vipname=xty-cluster-svip2 -user=root
Production Copyright 2007, 2008, Oracle.All rights reserved
2012-04-24 21:29:23: Skipping type creation
2012-04-24 21:29:23: Create the Resource
2012-04-24 21:29:23: Executing cmd: /oracle/app/grid/bin/crsctl add resource xty-cluster-svip2 -type app.appvip.type -attr USR_ORA_VIP=192.168.76.155,START_DEPENDENCIES=hard(ora.net2.network) pullup(ora.net2.network),STOP_DEPENDENCIES=hard(ora.net2.network),ACL='owner:root:rwx,pgrp:root:r-x,other::r--,user:root:r-x'
&lt;/pre&gt;
&lt;p&gt;然后查看并启动资源：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
[root@xty3 ~]# crsctl stat res -t | grep svip2
xty-cluster-svip2
[root@xty3 ~]# crsctl start resource xty-cluster-svip2
CRS-2672: Attempting to start 'xty-cluster-svip2' on 'xty3'
CRS-2676: Start of 'xty-cluster-svip2' on 'xty3' succeeded
&lt;/pre&gt;
&lt;p&gt;使用ifconfig命令可以确认IP地址已经加到新的public network上了，由于这个是类似”SCAN IP“的地址，只能在一个节点上起。我们可以用下面的命令来调整这个IP到另一个节点上：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
[root@xty3 ~]# crsctl relocate resource xty-cluster-svip2
CRS-2673: Attempting to stop 'xty-cluster-svip2' on 'xty3'
CRS-2677: Stop of 'xty-cluster-svip2' on 'xty3' succeeded
CRS-2672: Attempting to start 'xty-cluster-svip2' on 'xty4'
CRS-2676: Start of 'xty-cluster-svip2' on 'xty4' succeeded
[root@xty3 ~]# crsctl stat res xty-cluster-svip2 -p | grep -i type
TYPE=app.appvip.type
[root@xty3 ~]# crsctl stat type app.appvip.type
TYPE_NAME=app.appvip.type
BASE_TYPE=cluster_resource
&lt;/pre&gt;
&lt;p&gt;这个实现”SCAN IP“功能的application ip，不属于VIP，也不属于SCAN，因此这个资源是srvctl不能管理的。&lt;/p&gt;
&lt;p&gt;下面介绍用第2种方法来实现新的public network上的&amp;#8221;SCAN IP&amp;#8221;。&lt;br /&gt;
把上面建好的资源xty-cluster-svip2停掉并删除：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
[root@xty3 ~]# crsctl stop res xty-cluster-svip2
CRS-2673: Attempting to stop 'xty-cluster-svip2' on 'xty4'
CRS-2677: Stop of 'xty-cluster-svip2' on 'xty4' succeeded
[root@xty3 ~]# crsctl delete res xty-cluster-svip2
&lt;/pre&gt;
&lt;p&gt;然后执行下面的命令生成现有的SCAN IP的属性：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
[root@xty3 ~]# crsctl stat res ora.scan1.vip -p &amp;gt; /tmp/1.txt
&lt;/pre&gt;
&lt;p&gt;接着手工修改一下/tmp/1.txt文件，下面列出修改的部分：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
NAME=ora.n2_scan1.vip
SCAN_NAME=xty-cluster-svip2
DESCRIPTION=Oracle SCAN VIP resource on network2
SCAN_NAME=xty-cluster-svip2
START_DEPENDENCIES=hard(ora.net2.network) dispersion:active(type:ora.scan_vip.type) pullup(ora.net2.network)
STOP_DEPENDENCIES=hard(ora.net2.network)
USR_ORA_VIP=192.168.76.155
&lt;/pre&gt;
&lt;p&gt;然后配置SCAN并启动:&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
[root@xty3 ~]# crsctl add resource ora.n2_scan1.vip -type ora.scan_vip.type -file /tmp/1.txt
[root@xty3 ~]# srvctl config scan
SCAN name: xty-cluster-svip2, Network: 2/192.168.76.0/255.255.255.0/eth2
SCAN VIP name: n2_scan1, IP: /xty-cluster-svip2/192.168.76.155
SCAN VIP name: scan1, IP: /xty-cluster-svip1/192.168.0.155
[root@xty3 ~]# crsctl start resource ora.n2_scan1.vip
CRS-2672: Attempting to start 'ora.n2_scan1.vip' on 'xty3'
CRS-2676: Start of 'ora.n2_scan1.vip' on 'xty3' succeeded

[root@xty3 ~]# crsctl relocate resource ora.n2_scan1.vip
CRS-2673: Attempting to stop 'ora.n2_scan1.vip' on 'xty3'
CRS-2677: Stop of 'ora.n2_scan1.vip' on 'xty3' succeeded
CRS-2672: Attempting to start 'ora.n2_scan1.vip' on 'xty4'
CRS-2676: Start of 'ora.n2_scan1.vip' on 'xty4' succeeded
&lt;/pre&gt;
&lt;p&gt;注意第2种方法使用的SCAN VIP资源的名字跟第1种方法不一样，在实际使用中，可以根据需要选择即可。不过注意在第2种方法中不要用ora.scan1_n2.vip这样的名字，否则srvctl查看这个资源时会出错。&lt;br /&gt;
看上去srvctl显示的结果有点异常，只有一个SCAN Name，是新加的那个。不过至少可以用srvctl看到了，并且这也是可以理解的，因为目前就只能支持一个SCAN Name，在本文仅处于研究的目的，所以这种方法不建议使用于生产，建议使用上面的第1种方法。&lt;/p&gt;
&lt;p&gt;到目前为止，新的public network上的SCAN已经增加成功。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第6步&lt;/strong&gt;，在新配的SCAN VIP上配置一个SCAN LISTENER。注意不能使用srvctl add listener命令来配置，因为这种方式实际上是在所有的节点上都加了可同时启动的监听，需要增加的是scan listener。不过srvctl add scan_listener是不会成功的，因为它会检测到在1521端口上已经有了SCAN Listener，即使是在高版本的GI中，这个命令增加了-k 参数指定network，也是会报错的。因此只能使用类似上面第2种增加SCAN VIP的方法来增加新的SCAN Listener，不过这次需要用GI的安装用户（此环境是oracle用户）来执行操作：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
[oracle@xty3 root]$ crsctl stat res  ora.LISTENER_SCAN1.lsnr -p &amp;gt; /tmp/2.txt
&lt;/pre&gt;
&lt;p&gt;修改/tmp/2.txt文件，修改的行如下：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
NAME=ora.LISTENER_N2_SCAN1.lsnr
DESCRIPTION=Oracle SCAN listener resource on network 2
START_DEPENDENCIES=hard(ora.n2_scan1.vip) dispersion:active(type:ora.scan_listener.type) pullup(ora.n2_scan1.vip)
STOP_DEPENDENCIES=hard(intermediate:ora.n2_scan1.vip)
&lt;/pre&gt;
&lt;p&gt;然后配置SCAN Listener并启动：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
[oracle@xty3 root]$ crsctl add resource ora.listener_n2_scan1.lsnr -type ora.scan_listener.type -file /tmp/2.txt
[oracle@xty3 root]$ srvctl config scan_listener
SCAN Listener LISTENER_N2_SCAN1 exists. Port: TCP:1521
SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521

[oracle@xty3 root]$ crsctl start resource ora.LISTENER_N2_SCAN1.lsnr
CRS-2672: Attempting to start 'ora.LISTENER_N2_SCAN1.lsnr' on 'xty4'
CRS-2676: Start of 'ora.LISTENER_N2_SCAN1.lsnr' on 'xty4' succeeded
&lt;/pre&gt;
&lt;p&gt;可以看到新增的SCAN Listener成功在节点xty4上启动，当然在之前的操作步骤中，新的SCAN VIP即N2_SCAN2是启动到了xty4上，所以这个监听也会在xty4上。&lt;/p&gt;
&lt;p&gt;我们把新的SCAN VIP调整到节点xty3上：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
[root@xty3 ~]# crsctl relocate resource ora.n2_scan1.vip -f
CRS-2673: Attempting to stop 'ora.LISTENER_N2_SCAN1.lsnr' on 'xty4'
CRS-2677: Stop of 'ora.LISTENER_N2_SCAN1.lsnr' on 'xty4' succeeded
CRS-2673: Attempting to stop 'ora.n2_scan1.vip' on 'xty4'
CRS-2677: Stop of 'ora.n2_scan1.vip' on 'xty4' succeeded
CRS-2672: Attempting to start 'ora.n2_scan1.vip' on 'xty3'
CRS-2676: Start of 'ora.n2_scan1.vip' on 'xty3' succeeded
CRS-2672: Attempting to start 'ora.LISTENER_N2_SCAN1.lsnr' on 'xty3'
CRS-2676: Start of 'ora.LISTENER_N2_SCAN1.lsnr' on 'xty3' succeeded
[root@xty3 ~]# su oracle
[oracle@xty3 root]$ lsnrctl status LISTENER_N2_SCAN1

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 24-APR-2012 23:29:49

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_N2_SCAN1)))
STATUS of the LISTENER
------------------------
Alias&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LISTENER_N2_SCAN1
Version&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TNSLSNR&amp;nbsp;for&amp;nbsp;Linux:&amp;nbsp;Version&amp;nbsp;11.2.0.1.0&amp;nbsp;-&amp;nbsp;Production
Start&amp;nbsp;Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;24-APR-2012&amp;nbsp;23:29:32
Uptime&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;days&amp;nbsp;0&amp;nbsp;hr.&amp;nbsp;0&amp;nbsp;min.&amp;nbsp;17&amp;nbsp;sec
Trace&amp;nbsp;Level&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;off
Security&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ON:&amp;nbsp;Local&amp;nbsp;OS&amp;nbsp;Authentication
SNMP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OFF
Listener&amp;nbsp;Parameter&amp;nbsp;File&amp;nbsp;&amp;nbsp;&amp;nbsp;/oracle/app/grid/network/admin/listener.ora
Listener&amp;nbsp;Log&amp;nbsp;File&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/oracle/app/grid/log/diag/tnslsnr/xty3/listener_n2_scan1/alert/log.xml
Listening&amp;nbsp;Endpoints&amp;nbsp;Summary...
&amp;nbsp;&amp;nbsp;(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_N2_SCAN1)))
&amp;nbsp;&amp;nbsp;(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.76.155)(PORT=1521)))
The listener supports no services
The command completed successfully
&lt;/pre&gt;
&lt;p&gt;至此所有的操作已经完成。然后重启一下所有节点的crs，验证一下重启后是否正常。在关闭第1个节点的crs之后，第2个节点上顺利接管了所有的VIP地址，并且所有的SCAN Listener也运行到了节点2上。然后重启两个节点的crs后，一切看起来比较正常。唯一的不足是由于BUG 8678541引起的问题，使新的public network的VIP地址上的监听，监听到了错误的IP地址上。&lt;/p&gt;
&lt;p&gt;以上的操作全部是针对Grid Infrastructure，不过在数据库上，还需要调整参数LISTENER_NETWORKS，而不能使用local_listener和remote_listener参数。这个参数的设置，举例如下：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
alter system set LISTENER_NETWORKS='((NAME=network1)(LOCAL_LISTENER=192.168.0.135:1521)(REMOTE_LISTENER=xty-cluster-svip1:1521))','((NAME=network2)(LOCAL_LISTENER=192.168.76.135:1521)(REMOTE_LISTENER=xty-cluster-svip2:1521))' sid='inst1';

alter system set LISTENER_NETWORKS='((NAME=network1)(LOCAL_LISTENER=192.168.0.145:1521)(REMOTE_LISTENER=xty-cluster-svip1:1521))','((NAME=network2)(LOCAL_LISTENER=192.168.76.145:1521)(REMOTE_LISTENER=xty-cluster-svip2:1521))' sid='inst2';
&lt;/pre&gt;
&lt;p&gt;实际上Grid Infrastructure已经是一个完整的clusterware，完全可以通过自定义的脚本来增加自己想要的资源，以实现高可用性。&lt;br /&gt;
本文参考了来自于MOS的文档《How to Configure A Second Listener on a Separate Network in 11.2 Grid Infrastructure [ID 1063571.1]》&lt;/p&gt;
&lt;p&gt;--The End&lt;/p&gt;
&lt;div id=&quot;crp_related&quot;&gt; &lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/630999423/laoxiong/feedsky/s.gif?r=http://www.laoxiong.net/add-new-public-network-on-11gr2-grid-infrastructure.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.laoxiong.net/add-new-public-network-on-11gr2-grid-infrastructure.html/feed</wfw:commentRss><description>在某些环境下，运行11.2版本的RAC数据库的服务器上，连接了多个public网络，那么就会有如下的需求：

给其他的，或者说是新的public网络增加新的VIP地址。
在新的public网络上增加SCAN VIP.
在新的VIP地址上配置监听
在新的SCAN VIP地址上配置监听

实际上从11.2版本开始，grid infrastructure（以下可能会简写为GI）就是一个完整的clusterware，不仅仅是用于数据库，也可以用作应用软件的高可用性。上述的4个需求中，第1个是毫无疑问需要的；第2个需求对运行在grid infrastructure上的应用是必要的；第3个需求在运行在grid infrastructure上的数据库来说是必要的；第4个需求，是针对数据库的，这个需求有点难度，因为在一套grid infrastructure中只能允许有一个SCAN LISTENER的存在，由于可以不通过SCAN IP而是直接通过VIP地址连接数据库，所以这个新的SCAN监听可以不需要，但是为了完整，我们可以用变通的方法来实现。
下面我们用一个实例来演示如何实现上述的所有需求。
先简单介绍一下用于演示的环境：11.2.0.1 grid infrastructure for linux 32bit，共2个节点，节点名是xty3和xty4，没有使用DNS（实际上在有DNS的环境下，也不太可能会有第2个public network），所以下面的演示是以没有DNS来配置的。Grid Infrastructure用的是oracle用户安装的（实际生产建议用单独的grid用户），而RDBMS软件也是用oracle安装的。目前的private network是192.168.153.0，对应的网卡设备名是en1，public network是192.168.0.0，对应的网卡设备名是en0，打算新增加的public network是192.168.76.0，对应的网卡设备名是en2。
先看看/etc/hosts文件的内容：

127.0.0.1    localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6
192.168.0.134   xty3
192.168.0.144   xty4
192.168.153.134 xty3-priv
192.168.153.144 xty4-priv
192.168.0.135   xty3-vip
192.168.0.145   xty4-vip
192.168.0.155   xty-cluster-svip1

第1步，配置好新的public [...]&lt;img src=&quot;http://www1.feedsky.com/t1/630999423/laoxiong/feedsky/s.gif?r=http://www.laoxiong.net/add-new-public-network-on-11gr2-grid-infrastructure.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>clusterware</category><category>rac</category><category>Oracle数据库管理</category><pubDate>Wed, 25 Apr 2012 00:27:58 +0800</pubDate><author>老熊</author><comments>http://www.laoxiong.net/add-new-public-network-on-11gr2-grid-infrastructure.html#comments</comments><guid isPermaLink="false">http://www.laoxiong.net/?p=938</guid><dc:creator>老熊</dc:creator><fs:srclink>http://www.laoxiong.net/add-new-public-network-on-11gr2-grid-infrastructure.html</fs:srclink><fs:srcfeed>http://www.laoxiong.net/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/laoxiong/~7093197/630999423/5201748</fs:itemid></item><item><title>防火墙、DCD与TCP Keep alive</title><link>http://www.laoxiong.net/firewall-dcd-and-tcp-keep-alive.html</link><content:encoded>&lt;p&gt;在以前我写的一篇文章&lt;a href=&quot;http://www.laoxiong.net/oracle_and_firewall.html&quot; target=&quot;_blank&quot;&gt;《Oracle与防火墙》&lt;/a&gt;中提到，网络防火墙会切断长时间空闲的TCP连接，这个空闲时间具体多长可以在防火墙内部进行设置。防火墙切断连接之后，会有下面的可能：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
切断连接之前，连接对应的Oracle会话正在执行一个耗时特别长的SQL，比如存储过程而在此过程中没有任何数据输出到客户端，这样当SQL执行完成之后，向客户端返回结果时，如果TCP连接已经被防火墙中断，这时候显然会出现错误，连接中断，那么会话也就会中断。但是客户端还不知道，会一直处于等待服务器返回结果的状态。
&lt;/li&gt;
&lt;li&gt;
切断连接之前，Oracle会话一直处于空闲状态，在防火墙中断之后，客户端向Oracle服务器提交SQL时，由于TCP连接已经中断，这时客户端侦测到连接中断，那么客户端就会报ORA-3113/ORA-3114这类错误，然后会话中断。但是在Oracle服务器端，会话一直在处于等待客户端消息的状态。
&lt;/li&gt;
&lt;li&gt;当然，如果服务器和客户端都一直闲着，没有任何消息往来，那么客户端和客户端的会话就一直存在，直到客户端发送消息即提交SQL到Oracle服务器。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;从上面的前面2种情况来看，防火墙切断数据库TCP连接，引起的后果就会有：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
客户端报ORA-3113/3114错误，对这于长连接的后台应用不是个好事，特别是对那种C/C++开发的后台应用没有重连机制，就会出现问题或者程序退出。如果应用在一个较长的时间内没有任何活动，而这个时间超过了防火墙的设置，那应用的连接被中断。
&lt;/li&gt;
&lt;li&gt;
对于有连接池或重连机制的应用，如果连接池过大，导致空闲连接过多，或者是防火墙的连接断开时间过短同时应用太闲，那么连接频繁地被中断，而在数据库服务器端，则连接越来越多，即会话数越来越多，甚至最终超过了数据为最大连接数。
&lt;/li&gt;
&lt;li&gt;
其他一些影响，比如你在跑一个脚本而长时间没有输出，结果防火墙切断了连接，你之前的工作就白做，当然这些影响范围都较小。
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;那么如何防止出现以上的问题？ 对于没有重连机制的长连接应用，临时的解决办法是调大防火墙的连接切断时长；或者应用端在闲时定期执行一条类似于select 1 from dual这样的SQL；或者在Oracle服务端开启DCD功能，而DCD（死连接检测，即Dead Connection Detection)的时间长度短于防火墙的连接切断时长；或者使用操作系统的tcp keep-alive功能。对于有重连机制或有连接池的应用，为了避免数据库端连接数满，可以使用DCD或tcp keep-alive功能，如果DCD或TCP keep-alive的时间短于防火墙连接切断时长，那么连接将不会中断，因为防火墙视连接为活动状态（不过按MOS文档的说法，DCD的包有可能被防火墙忽略，即用DCD使连接保持活动状态可能没有作用）。而如果DCD或TCP keep-alive的时间长于防火墙连接切断时长，那么连接被中断的会话和进程将得到清理。&lt;/p&gt;
&lt;p&gt;这里简单介绍一下TCP keep-alive，顾名思议，就是让TCP连接保持存活状态，这是由TCP协议层实现的功能，也是在TCP连接空闲时间超过设置的时间，就会发送探测包，因此，这个功能跟Oracle的DCD是极为类似的，所不同的是，这是由协议层实现的功能，是不能通过trace应用进程来跟踪包的发送。&lt;/p&gt;
&lt;p&gt;理论是完美的，而现实差距越很远。&lt;/p&gt;
&lt;p&gt;下面是一个有关的案例。一套运行在AIX 5.3上的RAC数据库，数据库版本为10.2.0.4，这套数据库在sqlnet.ora文件中有设置sqlnet.expire_time=5，后果却是，数据库的连接数过几天就要满一次，防火墙设置的时间是8小时，也就是说只会切断空闲时间超过8小时的连接，这个时间已经足够长，晚上系统太闲，总会有部分连接空闲时间过长，但是由于设置了DCD，连接应该不会被防火墙切断，而即使防火墙切断了连接，那么在DCD的作用下，数据库服务器端的会话和进程也应该被清理才是，即使DCD不起作用，那TCP keep-alive也应该起作用才是，那为什么会话和进程数越来越多，甚至达到了最大进程数或会话数呢？&lt;/p&gt;
&lt;p&gt;检查应用服务器(weblogic）的连接池，并核对应用服务器到数据库的TCP连接，发现连接池监控中的连接数量并不多，而对比应用服务器上看到的到数据库数据库的TCP连接数量和数据库数据器上看到的应用服务器建立过来的TCP连接数量，二者之间差距非常大，前者远远小于后者，就是说，大量的连接已经被切断，应用服务器的连接已经退出，但是数据库端的连接还没有释放。从weblogic的日志来看，经常出现类似于连接失效并建立新的数据库连接这样的信息。&lt;/p&gt;
&lt;p&gt;DCD为什么没有起作用，是不是DCD的BUG？DCD的确是有很多BUG，但是完全不工作的BUG应该是很少的。将sqlnet.expire_time设为1，5以及其他值，都不起作用，甚至重启过主机都没有起作用（当然并不是专门为了DCD而重启主机）。&lt;/p&gt;
&lt;p&gt;使用truss命令来跟踪Oracle进程：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;

SQL&amp;gt; host
$ truss -p 828090
kread(0, 0x0000000000000000, 0) (sleeping...)
...很长时间没有任何反应...
^CPstatus: process is not stopped
$
$ exit

SQL&amp;gt; oradebug setospid 828090
Oracle pid: 247, Unix process pid: 828090, image: oracle@db2
SQL&amp;gt; oradebug short_stack
ksdxfstk+002c&amp;lt;-ksdxcb+04e4&amp;lt;-sspuser+0074&amp;lt;-000044C0&amp;lt;-nttrd+0120&amp;lt;-nsprecv+07a0&amp;lt;-nsrdr+0114&amp;lt;-nsdo+1710&amp;lt;-nsbrecv+0040&amp;lt;-nioqrc+04a8&amp;lt;-opikndf2+0688&amp;lt;-opitsk+08a8&amp;lt;-opiino+0990&amp;lt;-opiodr+0ae0&amp;lt;-opidrv+0484&amp;lt;-sou2o+0090&amp;lt;-opimai_real+01bc&amp;lt;-main+0098&amp;lt;-__start+0098
SQL&amp;gt;  oradebug short_stack
ksdxfstk+002c&amp;lt;-ksdxcb+04e4&amp;lt;-sspuser+0074&amp;lt;-000044C0&amp;lt;-nttrd+0120&amp;lt;-nsprecv+07a0&amp;lt;-nsrdr+0114&amp;lt;-nsdo+1710&amp;lt;-nsbrecv+0040&amp;lt;-nioqrc+04a8&amp;lt;-opikndf2+0688&amp;lt;-opitsk+08a8&amp;lt;-opiino+0990&amp;lt;-opiodr+0ae0&amp;lt;-opidrv+0484&amp;lt;-sou2o+0090&amp;lt;-opimai_real+01bc&amp;lt;-main+0098&amp;lt;-__start+0098
&lt;/pre&gt;
&lt;p&gt;没有看到DCD起任何作用的迹象，使用truss跟踪其他多个空闲Oracle也是如此。&lt;/p&gt;
&lt;p&gt;那么TCP keep-alive呢，怎么样来判断有没有起作用？在AIX上其答案是使用kdb（这个需要root用户权限）。&lt;/p&gt;
&lt;p&gt;在笔记本电脑上使用sqlplus连接到数据库，在数据库主机上使用netstat -Aan | grep 1521 | grep “你的IP地址”，以获得sqlplus连接的TCP连接信息，显示的第1列是一串16数据，然后使用kdb：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
#kdb
The specified kernel file is a 64-bit kernel
Preserving 1418178 bytes of symbol table
First symbol __mulh
           START              END &amp;lt;name &amp;gt;
0000000000001000 0000000003E5C050 start+000FD8
F00000002FF47600 F00000002FFDC940 __ublock+000000
000000002FF22FF4 000000002FF22FF8 environ+000000
000000002FF22FF8 000000002FF22FFC errno+000000
F100070F00000000 F100070F10000000 pvproc+000000
F100070F10000000 F100070F18000000 pvthread+000000
PFT:
PVT:
id....................0002
raddr.....0000000002000000 eaddr.....F200800090000000
size..............00080000 align.............00001000
valid..1 ros....0 fixlmb.1 seg....0 wimg...2
Command enhancement entry point is called.

 Welcome to VXDRV subcommands
Command enhancement entry for vxodmdb called.called.

 Welcome to vxdrv subcommands
(0)&amp;gt; sockinfo f100060009b04398 tcpcb | egrep &quot;KEEP|opts&quot;
    t_timer....... 00000000 (TCPT_KEEP)
    timewait.prv@0000000000000000  inp_v6opts  @0000000000000000
    opts........ 0004 (REUSEADDR)
&lt;/pre&gt;
&lt;p&gt;可以看到，这个TCP连接没有KEEPALIVE选项（属性），keep-alive对应的timer(TCPT_KEEP)数值为0，表示没有设置timer时间。&lt;br /&gt;
会不会是DCD功能屏蔽了TCP keep-alive？&lt;br /&gt;
将sqlnet.ora中expire_time设置去掉，然后重复上述步骤，这次有了变化:&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
#kdb
The specified kernel file is a 64-bit kernel
Preserving 1418178 bytes of symbol table
First symbol __mulh
           START              END &amp;lt;name &amp;gt;
0000000000001000 0000000003E5C050 start+000FD8
F00000002FF47600 F00000002FFDC940 __ublock+000000
000000002FF22FF4 000000002FF22FF8 environ+000000
000000002FF22FF8 000000002FF22FFC errno+000000
F100070F00000000 F100070F10000000 pvproc+000000
F100070F10000000 F100070F18000000 pvthread+000000
PFT:
PVT:
id....................0002
raddr.....0000000002000000 eaddr.....F200800090000000
size..............00080000 align.............00001000
valid..1 ros....0 fixlmb.1 seg....0 wimg...2
Command enhancement entry point is called.

 Welcome to VXDRV subcommands
Command enhancement entry for vxodmdb called.called.

 Welcome to vxdrv subcommands
(0)&amp;gt; sockinfo f100060009c1b398 tcpcb | egrep &quot;KEEP|opts&quot;
    t_timer....... 00000464 (TCPT_KEEP)
    timewait.prv@0000000000000000  inp_v6opts  @0000000000000000
    opts........ 000C (REUSEADDR|KEEPALIVE)
&lt;/pre&gt;
&lt;p&gt;可以看到，这个TCP连接已经有了KEEPALIVE选项(属性），同时keep-alive timer为16进制数464，即十进制1124，表示还有562秒（timer这里的时间以半秒为单位）就会发送keep-alive探测包。&lt;/p&gt;
&lt;p&gt;反复通过加上DCD设置和去掉DCD设置进行测试，发现只要一加上DCD功能，那么Oracle进程就不会为TCP连接设置keep-alive选项（属性），反之则会设置keep-alive。从这里很明显地看出来，DCD功能开启后，不但没有起作用，还关闭了TCP keep-alive功能。&lt;/p&gt;
&lt;p&gt;对于这套系统，最后去掉了DCD设置，并将所有的空闲连接清理掉，经过多天的观察，系统的连接数一直保持稳定，与应用服务器的实际连接数保持一致。&lt;/p&gt;
&lt;p&gt;那是不是启用了DCD之后，TCP keep-alive就会被关闭，这里不能贸然下定论，不同的版本、不同的平台或许有差异，至少我一个同事在Linux上测试时，tcp keep-alive是共存的。&lt;/p&gt;
&lt;p&gt;在诊断处理这个案例的过程之中，不得不提到另外一点，写在此处，与大家分享。在诊断问题的初期阶段，询问系统维护人员（通常连应用和数据库一起维护），应用服务器和数据库之间是否有防火墙，如果有，是怎么样设置的TCP连接断开时间。而维护人员最开始的回答是没有防火墙。从表面上看，也应该是没有防火墙。数据库服务器其中一个IP地址是192.168.8.42，而两台应用服务器服务器的IP地址是192.168.8.201和192.168.8.202，咋一看是在同一网段，中间应该不会有防火墙。然而仔细检查相关数据：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
$ifconfig -a
....省略部分输出....
en4: flags=5e080867,c0&amp;lt;up ,BROADCAST,DEBUG,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD(ACTIVE),PSEG,LARGESEND,CHAIN&amp;gt;
        inet 192.168.8.42 netmask 0xffffff80 broadcast 192.168.8.127
        inet 192.168.8.43 netmask 0xffffff80 broadcast 192.168.8.127
         tcp_sendspace 131072 tcp_recvspace 65536 rfc1323 0
&lt;/pre&gt;
&lt;p&gt;可以看到，实际上数据库跟应用服务器是在不同的子网之中。这里子网掩码为0xffffff80，也就是我们通常写的子网掩码255.255.255.128，这样0-127为一个子网，128-255为一个子网（当然子网的第1个和最后一个地址都是不能使用的）。那么最后一个数字为201和202的两个IP地址显然就在第2个子网中，子网之间仍然需要有路由功能的网络设备，那么在之间有防火墙也是有可能的。用上面的方法去检查应用服务器的网络配置，发现其被划在了更小的子网之中。系统维护人员最终确认应用服务器和数据库之间的确是有防火墙存在。因此我们可以总结出两点：1，全面的知识对诊断数据库问题很有帮助。2， 如果经过详尽分析问题发现与别人说的不一致，需要坚持，并需要为自己的坚持寻找更多的数据来证实。&lt;/p&gt;
&lt;p&gt;--The End--&lt;/p&gt;
&lt;div id=&quot;crp_related&quot;&gt; &lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/630491432/laoxiong/feedsky/s.gif?r=http://www.laoxiong.net/firewall-dcd-and-tcp-keep-alive.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.laoxiong.net/firewall-dcd-and-tcp-keep-alive.html/feed</wfw:commentRss><description>在以前我写的一篇文章《Oracle与防火墙》中提到，网络防火墙会切断长时间空闲的TCP连接，这个空闲时间具体多长可以在防火墙内部进行设置。防火墙切断连接之后，会有下面的可能：


切断连接之前，连接对应的Oracle会话正在执行一个耗时特别长的SQL，比如存储过程而在此过程中没有任何数据输出到客户端，这样当SQL执行完成之后，向客户端返回结果时，如果TCP连接已经被防火墙中断，这时候显然会出现错误，连接中断，那么会话也就会中断。但是客户端还不知道，会一直处于等待服务器返回结果的状态。


切断连接之前，Oracle会话一直处于空闲状态，在防火墙中断之后，客户端向Oracle服务器提交SQL时，由于TCP连接已经中断，这时客户端侦测到连接中断，那么客户端就会报ORA-3113/ORA-3114这类错误，然后会话中断。但是在Oracle服务器端，会话一直在处于等待客户端消息的状态。

当然，如果服务器和客户端都一直闲着，没有任何消息往来，那么客户端和客户端的会话就一直存在，直到客户端发送消息即提交SQL到Oracle服务器。

从上面的前面2种情况来看，防火墙切断数据库TCP连接，引起的后果就会有：


客户端报ORA-3113/3114错误，对这于长连接的后台应用不是个好事，特别是对那种C/C++开发的后台应用没有重连机制，就会出现问题或者程序退出。如果应用在一个较长的时间内没有任何活动，而这个时间超过了防火墙的设置，那应用的连接被中断。


对于有连接池或重连机制的应用，如果连接池过大，导致空闲连接过多，或者是防火墙的连接断开时间过短同时应用太闲，那么连接频繁地被中断，而在数据库服务器端，则连接越来越多，即会话数越来越多，甚至最终超过了数据为最大连接数。


其他一些影响，比如你在跑一个脚本而长时间没有输出，结果防火墙切断了连接，你之前的工作就白做，当然这些影响范围都较小。


那么如何防止出现以上的问题？ 对于没有重连机制的长连接应用，临时的解决办法是调大防火墙的连接切断时长；或者应用端在闲时定期执行一条类似于select 1 from dual这样的SQL；或者在Oracle服务端开启DCD功能，而DCD（死连接检测，即Dead Connection Detection)的时间长度短于防火墙的连接切断时长；或者使用操作系统的tcp keep-alive功能。对于有重连机制或有连接池的应用，为了避免数据库端连接数满，可以使用DCD或tcp keep-alive功能，如果DCD或TCP keep-alive的时间短于防火墙连接切断时长，那么连接将不会中断，因为防火墙视连接为活动状态（不过按MOS文档的说法，DCD的包有可能被防火墙忽略，即用DCD使连接保持活动状态可能没有作用）。而如果DCD或TCP keep-alive的时间长于防火墙连接切断时长，那么连接被中断的会话和进程将得到清理。
这里简单介绍一下TCP keep-alive，顾名思议，就是让TCP连接保持存活状态，这是由TCP协议层实现的功能，也是在TCP连接空闲时间超过设置的时间，就会发送探测包，因此，这个功能跟Oracle的DCD是极为类似的，所不同的是，这是由协议层实现的功能，是不能通过trace应用进程来跟踪包的发送。
理论是完美的，而现实差距越很远。
下面是一个有关的案例。一套运行在AIX 5.3上的RAC数据库，数据库版本为10.2.0.4，这套数据库在sqlnet.ora文件中有设置sqlnet.expire_time=5，后果却是，数据库的连接数过几天就要满一次，防火墙设置的时间是8小时，也就是说只会切断空闲时间超过8小时的连接，这个时间已经足够长，晚上系统太闲，总会有部分连接空闲时间过长，但是由于设置了DCD，连接应该不会被防火墙切断，而即使防火墙切断了连接，那么在DCD的作用下，数据库服务器端的会话和进程也应该被清理才是，即使DCD不起作用，那TCP keep-alive也应该起作用才是，那为什么会话和进程数越来越多，甚至达到了最大进程数或会话数呢？
检查应用服务器(weblogic）的连接池，并核对应用服务器到数据库的TCP连接，发现连接池监控中的连接数量并不多，而对比应用服务器上看到的到数据库数据库的TCP连接数量和数据库数据器上看到的应用服务器建立过来的TCP连接数量，二者之间差距非常大，前者远远小于后者，就是说，大量的连接已经被切断，应用服务器的连接已经退出，但是数据库端的连接还没有释放。从weblogic的日志来看，经常出现类似于连接失效并建立新的数据库连接这样的信息。
DCD为什么没有起作用，是不是DCD的BUG？DCD的确是有很多BUG，但是完全不工作的BUG应该是很少的。将sqlnet.expire_time设为1，5以及其他值，都不起作用，甚至重启过主机都没有起作用（当然并不是专门为了DCD而重启主机）。
使用truss命令来跟踪Oracle进程：


SQL&amp;#62; host
$ truss -p 828090
kread(0, 0x0000000000000000, 0) (sleeping...)
...很长时间没有任何反应...
^CPstatus: process is not stopped
$
$ exit

SQL&amp;#62; oradebug setospid 828090
Oracle pid: 247, Unix process pid: 828090, image: oracle@db2
SQL&amp;#62; oradebug short_stack
ksdxfstk+002c&amp;#60;-ksdxcb+04e4&amp;#60;-sspuser+0074&amp;#60;-000044C0&amp;#60;-nttrd+0120&amp;#60;-nsprecv+07a0&amp;#60;-nsrdr+0114&amp;#60;-nsdo+1710&amp;#60;-nsbrecv+0040&amp;#60;-nioqrc+04a8&amp;#60;-opikndf2+0688&amp;#60;-opitsk+08a8&amp;#60;-opiino+0990&amp;#60;-opiodr+0ae0&amp;#60;-opidrv+0484&amp;#60;-sou2o+0090&amp;#60;-opimai_real+01bc&amp;#60;-main+0098&amp;#60;-__start+0098
SQL&amp;#62;  oradebug short_stack
ksdxfstk+002c&amp;#60;-ksdxcb+04e4&amp;#60;-sspuser+0074&amp;#60;-000044C0&amp;#60;-nttrd+0120&amp;#60;-nsprecv+07a0&amp;#60;-nsrdr+0114&amp;#60;-nsdo+1710&amp;#60;-nsbrecv+0040&amp;#60;-nioqrc+04a8&amp;#60;-opikndf2+0688&amp;#60;-opitsk+08a8&amp;#60;-opiino+0990&amp;#60;-opiodr+0ae0&amp;#60;-opidrv+0484&amp;#60;-sou2o+0090&amp;#60;-opimai_real+01bc&amp;#60;-main+0098&amp;#60;-__start+0098

没有看到DCD起任何作用的迹象，使用truss跟踪其他多个空闲Oracle也是如此。
那么TCP keep-alive呢，怎么样来判断有没有起作用？在AIX上其答案是使用kdb（这个需要root用户权限）。
在笔记本电脑上使用sqlplus连接到数据库，在数据库主机上使用netstat -Aan &amp;#124; grep 1521 &amp;#124; grep “你的IP地址”，以获得sqlplus连接的TCP连接信息，显示的第1列是一串16数据，然后使用kdb：

#kdb
The specified kernel file is a [...]&lt;img src=&quot;http://www1.feedsky.com/t1/630491432/laoxiong/feedsky/s.gif?r=http://www.laoxiong.net/firewall-dcd-and-tcp-keep-alive.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>network</category><category>DCD</category><category>Oracle数据库管理</category><pubDate>Tue, 17 Jan 2012 00:21:08 +0800</pubDate><author>老熊</author><comments>http://www.laoxiong.net/firewall-dcd-and-tcp-keep-alive.html#comments</comments><guid isPermaLink="false">http://www.laoxiong.net/?p=900</guid><dc:creator>老熊</dc:creator><fs:srclink>http://www.laoxiong.net/firewall-dcd-and-tcp-keep-alive.html</fs:srclink><fs:srcfeed>http://www.laoxiong.net/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/laoxiong/~7093197/630491432/5201748</fs:itemid></item><item><title>Oracle 10g CRS安装问题解决一例</title><link>http://www.laoxiong.net/oracle-10g-crs-installation-problem.html</link><content:encoded>&lt;p&gt;如同我在&lt;a href=&quot;http://www.laoxiong.net/how-should-we-install-oracle-database.html&quot;&gt;《我们应该怎样安装Oracle数据库？》&lt;/a&gt;这一篇文章提及，只要安装Oracle软件的时候严格按文档操作，通常不会遇到太大的问题。但是，现实环境总是那么复杂，在一些新的软件组合或者是新的版本上进行安装，容易遇到一些比较复杂的或者说是解决起来不是那么容易的问题。本文将要描述的就是在这样一个环境下的安装：HP-UX 11.31 IA64、Symantec SFRAC、Oracle 10g RAC。当安装CRS运行root.sh时，一直挂起，也就是说，root.sh一直过不去。下面列出这个问题的解决过程，供朋友们参考。&lt;/p&gt;
&lt;p&gt;先来看看运行root.sh得到输出：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
cwxndb01:[/oracle/app/oracle/product/crs]#./root.sh
WARNING: directory '/oracle/app/oracle/product' is not owned by root
WARNING: directory '/oracle/app/oracle' is not owned by root
WARNING: directory '/oracle/app' is not owned by root
WARNING: directory '/oracle' is not owned by root
Checking to see if Oracle CRS stack is already configured
Checking to see if any 9i GSD is up

Setting the permissions on OCR backup directory
Setting up NS directories
Oracle Cluster Registry configuration upgraded successfully
WARNING: directory '/oracle/app/oracle/product' is not owned by root
WARNING: directory '/oracle/app/oracle' is not owned by root
WARNING: directory '/oracle/app' is not owned by root
WARNING: directory '/oracle' is not owned by root
Successfully accumulated necessary OCR keys.
Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.
node &amp;lt;nodenumber&amp;gt;: &amp;lt;nodename&amp;gt; &amp;lt;private interconnect name&amp;gt; &amp;lt;hostname&amp;gt;
node 0: cwxndb01 cwxndb01-priv cwxndb01
Creating OCR keys for user 'root', privgrp 'sys'..
Operation successful.
Now formatting voting device: /dev/vx/rdsk/vgdata01/lv_vote_128m_01
Now formatting voting device: /dev/vx/rdsk/vgdata02/lv_vote_128m_02
Now formatting voting device: /dev/vx/rdsk/vgdata03/lv_vote_128m_03
Format of 3 voting devices complete.
Startup will be queued to init within 30 seconds.
&lt;/pre&gt;
&lt;p&gt;然后就在显示完&amp;#8221;Startup will be queued to init within 30 seconds&amp;#8221;之后就一直挂起。在安装CRS运行root.sh时，一般失败的情形是报错然后退出，很少有一直挂起的。&lt;/p&gt;
&lt;p&gt;为了解决一个未知的问题，我们通常分为3步，了解当前正在做什么，当前所做的为什么会引起问题，解决问题。那么现在，我们需要知道的是root.sh这个脚本正在做什么，执行到了哪里。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
使用&amp;#8221;ps -ef | grep root.sh&amp;#8221;命令，找到root.sh的pid，然后再寻找这个pid的子进程，一直定位到最末端，发现当前正在运行的命令是&amp;#8221;sleep 60&amp;#8243;，而&amp;#8221;sleep 60&amp;#8243;的上级命令是&amp;#8221;init.cssd startcheck CSS&amp;#8221;。&lt;/li&gt;
&lt;li&gt;root.sh的核心其实在于$ORA_CRS_HOME/install/rootconfig这个脚本，在这个文件中，我们根据上述线索，找到下面的代码：
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
#&amp;nbsp;Prepare&amp;nbsp;to&amp;nbsp;start&amp;nbsp;the&amp;nbsp;daemons.
$ID/init.crs&amp;nbsp;start

#&amp;nbsp;Check&amp;nbsp;to&amp;nbsp;see&amp;nbsp;if&amp;nbsp;they&amp;nbsp;are&amp;nbsp;going&amp;nbsp;to&amp;nbsp;start.
$ID/init.cssd&amp;nbsp;startcheck&amp;nbsp;CSS
if&amp;nbsp;[&amp;nbsp;&quot;$?&quot;&amp;nbsp;!=&amp;nbsp;&quot;0&quot;&amp;nbsp;];&amp;nbsp;then
&amp;nbsp;&amp;nbsp;$ECHO&amp;nbsp;CRS&amp;nbsp;daemons&amp;nbsp;not&amp;nbsp;set&amp;nbsp;to&amp;nbsp;start.&amp;nbsp;See&amp;nbsp;$MSGFILE&amp;nbsp;for&amp;nbsp;details.
&amp;nbsp;&amp;nbsp;exit&amp;nbsp;1
fi
&lt;/pre&gt;
&lt;p&gt;实际上运行root.sh的输出中的&amp;#8221;Startup will be queued to init within 30 seconds.&amp;#8221;，正是init.crs start的显示。从root.sh当前运行的子进程来看，目前正在运行&amp;#8221;$ID/init.cssd startcheck CSS&amp;#8221;这一命令。所以接下来我们需要知道在这一个命令里面会一直挂起。
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;在HP-UX操作系统中，init.cssd在/sbin/init.d目录下，我们可以发现init.cssd也是一个比较复杂的脚本。为了搞清楚一个shell脚本执行到了哪里出了问题，我们可以使用sh -x以调试方式运行shell脚本。(实际上在分析root.sh当前正在进行的操作时，我们同样可以用sh -x ./root.sh这样的命令来运行。）&lt;/p&gt;
&lt;p&gt;我们手工执行如下的命令：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
   cd /sbin/init.d
   sh -x init.cssd startcheck CSS
&lt;/pre&gt;
&lt;p&gt;然后发现在下面的代码中32-37行代码处挂起：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;

#&amp;nbsp;check&amp;nbsp;on&amp;nbsp;vendor&amp;nbsp;clusterware&amp;nbsp;and&amp;nbsp;filesystem&amp;nbsp;dependencies.
#&amp;nbsp;Startcheck&amp;nbsp;is&amp;nbsp;supposed&amp;nbsp;to&amp;nbsp;block&amp;nbsp;for&amp;nbsp;a&amp;nbsp;long&amp;nbsp;time&amp;nbsp;waiting&amp;nbsp;on&amp;nbsp;dependencies.
'startcheck')&amp;nbsp;#&amp;nbsp;Returns&amp;nbsp;0&amp;nbsp;if&amp;nbsp;we&amp;nbsp;should&amp;nbsp;start
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;Returns&amp;nbsp;1&amp;nbsp;on&amp;nbsp;a&amp;nbsp;non-cluster&amp;nbsp;boot
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;Returns&amp;nbsp;2&amp;nbsp;if&amp;nbsp;disabled&amp;nbsp;by&amp;nbsp;admin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;Returns&amp;nbsp;3&amp;nbsp;on&amp;nbsp;error

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;Check&amp;nbsp;our&amp;nbsp;startup&amp;nbsp;run&amp;nbsp;status,&amp;nbsp;initialized&amp;nbsp;by&amp;nbsp;the&amp;nbsp;automatic&amp;nbsp;startup
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;or&amp;nbsp;manual&amp;nbsp;startup&amp;nbsp;routes.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$ID/init.cssd&amp;nbsp;runcheck
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;STATUS=$?
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;[&amp;nbsp;&quot;$STATUS&quot;&amp;nbsp;!=&amp;nbsp;&quot;0&quot;&amp;nbsp;];&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exit&amp;nbsp;$STATUS;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fi

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;If&amp;nbsp;we&amp;nbsp;have&amp;nbsp;vendor&amp;nbsp;clusterware,&amp;nbsp;and&amp;nbsp;CLINFO&amp;nbsp;indicates&amp;nbsp;a&amp;nbsp;non-clustered&amp;nbsp;boot
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;then&amp;nbsp;prevent&amp;nbsp;CRS&amp;nbsp;startup.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;[&amp;nbsp;$USING_VC&amp;nbsp;-eq&amp;nbsp;1&amp;nbsp;]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;Run&amp;nbsp;CLINFO&amp;nbsp;to&amp;nbsp;get&amp;nbsp;cluster&amp;nbsp;status.&amp;nbsp;It&amp;nbsp;returns&amp;nbsp;0&amp;nbsp;if&amp;nbsp;the&amp;nbsp;machine&amp;nbsp;is
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;booting&amp;nbsp;in&amp;nbsp;clustered&amp;nbsp;mode.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$EVAL&amp;nbsp;$CLINFO
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;[&amp;nbsp;&quot;$?&quot;&amp;nbsp;!=&amp;nbsp;&quot;0&quot;&amp;nbsp;];&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$LOGMSG&amp;nbsp;&quot;Oracle&amp;nbsp;Cluster&amp;nbsp;Ready&amp;nbsp;Services&amp;nbsp;disabled&amp;nbsp;by&amp;nbsp;non-clustered&amp;nbsp;boot.&quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$ID/init.cssd&amp;nbsp;norun
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exit&amp;nbsp;1;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fi

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;Wait&amp;nbsp;for&amp;nbsp;the&amp;nbsp;Vendor&amp;nbsp;Clusterware&amp;nbsp;to&amp;nbsp;start
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$EVAL&amp;nbsp;$VC_UP
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RC=$?
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while&amp;nbsp;[&amp;nbsp;$RC&amp;nbsp;-ne&amp;nbsp;0&amp;nbsp;];&amp;nbsp;do
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$LOGMSG&amp;nbsp;&quot;Oracle&amp;nbsp;Cluster&amp;nbsp;Ready&amp;nbsp;Services&amp;nbsp;waiting&amp;nbsp;for&amp;nbsp;$VC_NAME&amp;nbsp;to&amp;nbsp;start.&quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$SLEEP&amp;nbsp;$DEP_CHECK_WAIT
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$EVAL&amp;nbsp;$VC_UP
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RC=$?
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;done
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fi
&lt;/pre&gt;
&lt;p&gt;32-37行代码是一个循环，从代码注释上看，是在等待Vendor Clusterware启动。如果一直没有启动，就一直循环，也就是一直挂起。代码”$EVAL $VC_UP“用于判断Vendon Clusterware是否已启动。这里$VC_UP是什么值呢，在文件中搜索代码，可以找到如下的代码：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
HP-UX)&amp;nbsp;MACH_HARDWARE=`/bin/uname&amp;nbsp;-m`
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CLUSTERDIR=/opt/nmapi/nmapi2
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;[&amp;nbsp;&quot;$MACH_HARDWARE&quot;&amp;nbsp;=&amp;nbsp;&quot;ia64&quot;&amp;nbsp;];&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SO_EXT=so
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NMAPIDIR_64=$CLUSTERDIR/lib/hpux64
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SO_EXT=sl
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NMAPIDIR_64=$CLUSTERDIR/lib/pa20_64
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fi
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LD_LIBRARY_PATH=$ORA_CRS_HOME/lib:$NMAPIDIR_64:/usr/lib:$LD_LIBRARY_PATH
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;export&amp;nbsp;LD_LIBRARY_PATH
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;Presence&amp;nbsp;of&amp;nbsp;this&amp;nbsp;file&amp;nbsp;indicates&amp;nbsp;that&amp;nbsp;vendor&amp;nbsp;clusterware&amp;nbsp;is&amp;nbsp;installed
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SKGXNLIB=${NMAPIDIR_64}/libnmapi2.${SO_EXT}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;[&amp;nbsp;-f&amp;nbsp;$SKGXNLIB&amp;nbsp;];&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;USING_VC=1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fi

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VC_UP=&quot;$PSEF&amp;nbsp;|&amp;nbsp;$GREP&amp;nbsp;'/usr/lbin/cm[g]msd'&amp;nbsp;1&amp;gt;$NULL&amp;nbsp;2&amp;gt;$NULL&quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;NOTE:&amp;nbsp;Not&amp;nbsp;supporting&amp;nbsp;Hardware&amp;nbsp;partitioning&amp;nbsp;machines.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;REBOOT_TOC=&quot;/var/opt/oracle/bin/reboot_toc&quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;[&amp;nbsp;-x&amp;nbsp;$REBOOT_TOC&amp;nbsp;];&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FAST_REBOOT=&quot;$REBOOT_TOC&amp;nbsp;||&amp;nbsp;/usr/sbin/reboot&amp;nbsp;-r&amp;nbsp;-n&amp;nbsp;-q&quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SLOW_REBOOT=&quot;/bin/kill&amp;nbsp;-HUP&amp;nbsp;`$CAT&amp;nbsp;/var/run/syslog.pid`&amp;nbsp;;&amp;nbsp;/bin/sync&amp;nbsp;&amp;&amp;nbsp;$SLEEP&amp;nbsp;2&amp;nbsp;;&amp;nbsp;$REBOOT_TOC&amp;nbsp;||&amp;nbsp;/usr/sbin/reboot&amp;nbsp;-r&amp;nbsp;-n&amp;nbsp;-q&quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FAST_REBOOT=&quot;/usr/sbin/reboot&amp;nbsp;-r&amp;nbsp;-n&amp;nbsp;-q&quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SLOW_REBOOT=&quot;/bin/kill&amp;nbsp;-HUP&amp;nbsp;`$CAT&amp;nbsp;/var/run/syslog.pid`&amp;nbsp;;&amp;nbsp;/bin/sync&amp;nbsp;&amp;&amp;nbsp;$SLEEP&amp;nbsp;2&amp;nbsp;;&amp;nbsp;/usr/sbin/reboot&amp;nbsp;-r&amp;nbsp;-n&amp;nbsp;-q&quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fi
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DFL_CLSINFO=$CLUSTERDIR/bin/clsinfo
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;[&amp;nbsp;$USING_VC&amp;nbsp;-eq&amp;nbsp;0&amp;nbsp;];&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;We&amp;nbsp;are&amp;nbsp;not&amp;nbsp;using&amp;nbsp;vendor&amp;nbsp;clusterware.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VC_NAME=&quot;&quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VC_UP=/bin/true
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CLINFO=/bin/true
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;We&amp;nbsp;do&amp;nbsp;not&amp;nbsp;have&amp;nbsp;a&amp;nbsp;slow&amp;nbsp;reboot&amp;nbsp;without&amp;nbsp;vendor&amp;nbsp;clusterware
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SLOW_REBOOT=$FAST_REBOOT
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;elif&amp;nbsp;[&amp;nbsp;-f&amp;nbsp;$DFL_CLSINFO&amp;nbsp;];&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;We&amp;nbsp;are&amp;nbsp;using&amp;nbsp;Generic&amp;nbsp;HP&amp;nbsp;Vendor&amp;nbsp;Clusterware
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VC_NAME=&quot;Generic&amp;nbsp;HP-UX&amp;nbsp;Vendor&amp;nbsp;Clusterware&quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VC_UP=/bin/true
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CLINFO=$DFL_CLSINFO
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;We&amp;nbsp;are&amp;nbsp;using&amp;nbsp;HPUX&amp;nbsp;ServiceGuard&amp;nbsp;Clusterware
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VC_NAME=&quot;HP-UX&amp;nbsp;Service&amp;nbsp;Guard&quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CLINFO=/bin/true
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fi

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ID=/sbin/init.d
&lt;/pre&gt;
&lt;p&gt;以上一段代码的主要意思是：如果存在/opt/nmapi/nmapi2/libnmapi2.so文件，那么表示系统使用了Vendor Clusterware，也就是使用了第三方集群软件。如果存在/opt/nmapi/nmapi2/bin/clsinfo文件，则表示系统使用了其他的第三方集群软件，并且该文件可以执行用于判断是否已经启动Vendor Clusterware，即VC_UP=/opt/nmapi/nmapi2/bin/clsinfo。如果不存在该文件，表示系统使用的是HP ServiceGuard，那么VC_UP=&amp;#8221;$PSEF | $GREP &amp;#8216;/usr/lbin/cm[g]msd&amp;#8217; 1&gt;$NULL 2&gt;$NULL&amp;#8221; ,即判断cm开头的一些进程是否在运行，用来判断Service Guard是否在运行。从sh -x执行结果来看，脚本认为系统用的是Service Guard，很显然，这个是错误的，一直在等待Service Guard启动，那这样很明显就会一直等待而挂起。&lt;/p&gt;
&lt;p&gt;那么到目前为止，可以知道是由于错误地判断了Vendor Clusterware引起了问题，那么用于判断Vendor Clusterware的文件/opt/nmapi/nmapi2/bin/clsinfo应该不存在于系统中。/opt/nmapi/nmapi2/bin目录下的确没有clsinfo这个文件。而/opt/nmapi/nmapi2/lib目录下存在相应的库文件：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
cwxndb01:[/opt/nmapi/nmapi2/lib/hpux64]#ll
total 0
lr-xr-xr-x&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;bin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;27&amp;nbsp;Jul&amp;nbsp;18&amp;nbsp;13:33&amp;nbsp;libnmapi2.so&amp;nbsp;-&amp;gt;&amp;nbsp;/usr/lib/hpux64/libvcsmm.so
&lt;/pre&gt;
&lt;p&gt;可以看到库文件用的是symantec sfrac的库文件。&lt;br /&gt;
而bin目录下没有任意文件，看起来应该是symantec sfrac安装的BUG。&lt;/p&gt;
&lt;p&gt;那怎么样来解决这个问题呢，知道了原因，解决就很简单了：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
cwxndb01:[/opt/nmapi/nmapi2]#cd /opt/nmapi/nmapi2/bin
cwxndb01:[/opt/nmapi/nmapi2/bin]#ln -s /opt/VRTSvcs/ops/bin/clsinfo
&lt;/pre&gt;
&lt;p&gt;只需要在这个目录下建一个链接即可。做完上述操作后，再清理掉环境，重新运行root.sh，一切顺利。&lt;/p&gt;
&lt;p&gt;这个问题引起的根本原因，看起来是Symantec SFRAC安装的一个bug。不过总的来说，新版本的SFRAC环境下安装RAC数据库已经方便很多，跟普通方式安装CRS没有任何区别，而早期版本的SFRAC环境下安装RAC，需要使用SFRAC提供的专用界面进行安装。&lt;/p&gt;
&lt;p&gt;--The End---&lt;/p&gt;
&lt;div id=&quot;crp_related&quot;&gt; &lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/630491433/laoxiong/feedsky/s.gif?r=http://www.laoxiong.net/oracle-10g-crs-installation-problem.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.laoxiong.net/oracle-10g-crs-installation-problem.html/feed</wfw:commentRss><description>如同我在《我们应该怎样安装Oracle数据库？》这一篇文章提及，只要安装Oracle软件的时候严格按文档操作，通常不会遇到太大的问题。但是，现实环境总是那么复杂，在一些新的软件组合或者是新的版本上进行安装，容易遇到一些比较复杂的或者说是解决起来不是那么容易的问题。本文将要描述的就是在这样一个环境下的安装：HP-UX 11.31 IA64、Symantec SFRAC、Oracle 10g RAC。当安装CRS运行root.sh时，一直挂起，也就是说，root.sh一直过不去。下面列出这个问题的解决过程，供朋友们参考。
先来看看运行root.sh得到输出：

cwxndb01:[/oracle/app/oracle/product/crs]#./root.sh
WARNING: directory '/oracle/app/oracle/product' is not owned by root
WARNING: directory '/oracle/app/oracle' is not owned by root
WARNING: directory '/oracle/app' is not owned by root
WARNING: directory '/oracle' is not owned by root
Checking to see if Oracle CRS stack is already configured
Checking to see if any 9i GSD is up

Setting the permissions on OCR [...]&lt;img src=&quot;http://www1.feedsky.com/t1/630491433/laoxiong/feedsky/s.gif?r=http://www.laoxiong.net/oracle-10g-crs-installation-problem.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>install</category><category>crs</category><category>Oracle Trouble Shooting</category><pubDate>Fri, 23 Dec 2011 01:59:45 +0800</pubDate><author>老熊</author><comments>http://www.laoxiong.net/oracle-10g-crs-installation-problem.html#comments</comments><guid isPermaLink="false">http://www.laoxiong.net/?p=887</guid><dc:creator>老熊</dc:creator><fs:srclink>http://www.laoxiong.net/oracle-10g-crs-installation-problem.html</fs:srclink><fs:srcfeed>http://www.laoxiong.net/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/laoxiong/~7093197/630491433/5201748</fs:itemid></item><item><title>修改隐含参数_library_cache_advice解决性能问题一例</title><link>http://www.laoxiong.net/resolve-performance-problem-using-library-cache-advice-parameter.html</link><content:encoded>&lt;p&gt;客户的一套重要生产系统，出现了性能问题。这个问题涉及的信息如下：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;数据库主机的CPU利用率长期在100%左右。&lt;/li&gt;
&lt;li&gt;应用系统在晚上进行调整后，开始出现了问题。&lt;/li&gt;
&lt;li&gt;数据库中出现大量的latch: shared pool、latch: library cache、cursor: pin S、latch: cache buffers chains和latch: cache buffers lru chain等各种等待。&lt;/li&gt;
&lt;li&gt;由于系统较大，整个系统实际上被分成了2个部分，每个部分服务不同的用户。二者的应用基本相同，分别对应2套数据库，二者也同样在出问题之前进行了调整，而数据库的主机配置及参数也是相同的，同时均为10.2.0.5双节点RAC数据库。但是只有其中1套库有性能问题。&lt;/li&gt;
&lt;li&gt;2套库的配置虽然没有差别，但是负载方式却有很大的区别，正常的那套库，2个节点的负载基本上是均衡的，而现在有性能问题的这套库，所有的负载基本上全部在第1个节点上（虽然已经多次要求开发商整改，不幸的是&amp;#8230;这里不用说了）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;下面是AWR报告中的数据：&lt;/p&gt;
&lt;p&gt;性能正常时间段的数据（采集时间2小时）：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Snap&amp;nbsp;Id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Snap&amp;nbsp;Time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sessions&amp;nbsp;Curs/Sess
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;---------&amp;nbsp;-------------------&amp;nbsp;--------&amp;nbsp;---------
Begin&amp;nbsp;Snap:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3408&amp;nbsp;19-Sep-11&amp;nbsp;09:00:21&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4,690&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;39.5
&amp;nbsp;&amp;nbsp;End&amp;nbsp;Snap:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3412&amp;nbsp;19-Sep-11&amp;nbsp;11:00:07&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4,950&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;38.7
&amp;nbsp;&amp;nbsp;&amp;nbsp;Elapsed:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;119.76&amp;nbsp;(mins)
&amp;nbsp;&amp;nbsp;&amp;nbsp;DB&amp;nbsp;Time:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,900.95&amp;nbsp;(mins)

Cache&amp;nbsp;Sizes
~~~~~~~~~~~&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Begin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;----------&amp;nbsp;----------
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Buffer&amp;nbsp;Cache:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;35,840M&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;35,840M&amp;nbsp;&amp;nbsp;Std&amp;nbsp;Block&amp;nbsp;Size:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8K
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Shared&amp;nbsp;Pool&amp;nbsp;Size:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6,144M&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6,144M&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Log&amp;nbsp;Buffer:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;30,632K

Load&amp;nbsp;Profile
~~~~~~~~~~~~&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Per&amp;nbsp;Second&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Per&amp;nbsp;Transaction
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;---------------&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;---------------
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Redo&amp;nbsp;size:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,968,314.84&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6,360.04
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Logical&amp;nbsp;reads:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,038,182.89&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3,354.59
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Block&amp;nbsp;changes:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;148,577.35&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;480.09
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Physical&amp;nbsp;reads:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3,541.98&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;11.44
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Physical&amp;nbsp;writes:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;546.31&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.77
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;User&amp;nbsp;calls:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7,811.87&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;25.24
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Parses:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3,187.30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10.30
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Hard&amp;nbsp;parses:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10.07&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.03
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sorts:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6,258.90&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;20.22
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Logons:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9.65&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.03
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Executes:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;24,100.52&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;77.87
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Transactions:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;309.48
Instance&amp;nbsp;Efficiency&amp;nbsp;Percentages&amp;nbsp;(Target&amp;nbsp;100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Buffer&amp;nbsp;Nowait&amp;nbsp;%:&amp;nbsp;&amp;nbsp;100.00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Redo&amp;nbsp;NoWait&amp;nbsp;%:&amp;nbsp;&amp;nbsp;100.00
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Buffer&amp;nbsp;&amp;nbsp;Hit&amp;nbsp;&amp;nbsp;&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;99.69&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;In-memory&amp;nbsp;Sort&amp;nbsp;%:&amp;nbsp;&amp;nbsp;100.00
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Library&amp;nbsp;Hit&amp;nbsp;&amp;nbsp;&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;99.36&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Soft&amp;nbsp;Parse&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;99.68
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Execute&amp;nbsp;to&amp;nbsp;Parse&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;86.77&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Latch&amp;nbsp;Hit&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;99.64
Parse&amp;nbsp;CPU&amp;nbsp;to&amp;nbsp;Parse&amp;nbsp;Elapsd&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;45.61&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;%&amp;nbsp;Non-Parse&amp;nbsp;CPU:&amp;nbsp;&amp;nbsp;&amp;nbsp;99.46

&amp;nbsp;Shared&amp;nbsp;Pool&amp;nbsp;Statistics&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Begin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;------&amp;nbsp;&amp;nbsp;------
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Memory&amp;nbsp;Usage&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;95.44&amp;nbsp;&amp;nbsp;&amp;nbsp;94.46
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;%&amp;nbsp;SQL&amp;nbsp;with&amp;nbsp;executions&amp;gt;1:&amp;nbsp;&amp;nbsp;&amp;nbsp;89.10&amp;nbsp;&amp;nbsp;&amp;nbsp;77.18
&amp;nbsp;&amp;nbsp;%&amp;nbsp;Memory&amp;nbsp;for&amp;nbsp;SQL&amp;nbsp;w/exec&amp;gt;1:&amp;nbsp;&amp;nbsp;&amp;nbsp;87.82&amp;nbsp;&amp;nbsp;&amp;nbsp;76.62

Top&amp;nbsp;5&amp;nbsp;Timed&amp;nbsp;Events&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Avg&amp;nbsp;%Total
~~~~~~~~~~~~~~~~~~&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wait&amp;nbsp;&amp;nbsp;&amp;nbsp;Call
Event&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Waits&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Time&amp;nbsp;(s)&amp;nbsp;&amp;nbsp;&amp;nbsp;(ms)&amp;nbsp;&amp;nbsp;&amp;nbsp;Time&amp;nbsp;Wait&amp;nbsp;Class
------------------------------&amp;nbsp;------------&amp;nbsp;-----------&amp;nbsp;------&amp;nbsp;------&amp;nbsp;----------
CPU&amp;nbsp;time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;114,107&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;65.6
db&amp;nbsp;file&amp;nbsp;sequential&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8,232,067&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;40,956&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;23.5&amp;nbsp;&amp;nbsp;&amp;nbsp;User&amp;nbsp;I/O
db&amp;nbsp;file&amp;nbsp;scattered&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;929,509&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,392&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.4&amp;nbsp;&amp;nbsp;&amp;nbsp;User&amp;nbsp;I/O
log&amp;nbsp;file&amp;nbsp;sync&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,119,459&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,372&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Commit
SQL*Net&amp;nbsp;message&amp;nbsp;from&amp;nbsp;dblink&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,375,619&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,576&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Network
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-------------------------------------------------------------
^LWait&amp;nbsp;Events&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DB/Inst:&amp;nbsp;CRM2DB/crm2db1&amp;nbsp;&amp;nbsp;Snaps:&amp;nbsp;3408-3412
-&amp;gt;&amp;nbsp;s&amp;nbsp;&amp;nbsp;-&amp;nbsp;second
-&amp;gt;&amp;nbsp;cs&amp;nbsp;-&amp;nbsp;centisecond&amp;nbsp;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;100th&amp;nbsp;of&amp;nbsp;a&amp;nbsp;second
-&amp;gt;&amp;nbsp;ms&amp;nbsp;-&amp;nbsp;millisecond&amp;nbsp;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1000th&amp;nbsp;of&amp;nbsp;a&amp;nbsp;second
-&amp;gt;&amp;nbsp;us&amp;nbsp;-&amp;nbsp;microsecond&amp;nbsp;-&amp;nbsp;1000000th&amp;nbsp;of&amp;nbsp;a&amp;nbsp;second
-&amp;gt;&amp;nbsp;ordered&amp;nbsp;by&amp;nbsp;wait&amp;nbsp;time&amp;nbsp;desc,&amp;nbsp;waits&amp;nbsp;desc&amp;nbsp;(idle&amp;nbsp;events&amp;nbsp;last)
-&amp;gt;&amp;nbsp;%Timeouts:&amp;nbsp;value&amp;nbsp;of&amp;nbsp;0&amp;nbsp;indicates&amp;nbsp;value&amp;nbsp;was&amp;nbsp;&amp;lt; &amp;nbsp;.5%.&amp;nbsp;&amp;nbsp;Value&amp;nbsp;of&amp;nbsp;null&amp;nbsp;is&amp;nbsp;truly&amp;nbsp;0

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Avg
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;%Time&amp;nbsp;&amp;nbsp;Total&amp;nbsp;Wait&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wait&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Waits
Event&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Waits&amp;nbsp;-outs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Time&amp;nbsp;(s)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(ms)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/txn
----------------------------&amp;nbsp;--------------&amp;nbsp;-----&amp;nbsp;-----------&amp;nbsp;-------&amp;nbsp;---------
db&amp;nbsp;file&amp;nbsp;sequential&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8,232,067&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;40,956&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.7
db&amp;nbsp;file&amp;nbsp;scattered&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;929,509&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,392&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.4
log&amp;nbsp;file&amp;nbsp;sync&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,119,459&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,372&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.0
SQL*Net&amp;nbsp;message&amp;nbsp;from&amp;nbsp;dblink&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,375,619&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,576&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.6
SQL*Net&amp;nbsp;more&amp;nbsp;data&amp;nbsp;from&amp;nbsp;clien&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,871,442&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,428&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.8
control&amp;nbsp;file&amp;nbsp;sequential&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3,010,438&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,179&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.4
Backup:&amp;nbsp;sbtbackup&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;12&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,167&amp;nbsp;&amp;nbsp;&amp;nbsp;97243&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
gc&amp;nbsp;cr&amp;nbsp;grant&amp;nbsp;2-way&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3,688,572&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;993&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.7
log&amp;nbsp;file&amp;nbsp;parallel&amp;nbsp;write&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,205,552&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;974&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.0
gc&amp;nbsp;cr&amp;nbsp;multi&amp;nbsp;block&amp;nbsp;request&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,378,748&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;721&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.1
gc&amp;nbsp;current&amp;nbsp;block&amp;nbsp;2-way&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,941,104&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;693&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.9
SQL*Net&amp;nbsp;more&amp;nbsp;data&amp;nbsp;to&amp;nbsp;client&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5,142,664&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;498&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.3
gc&amp;nbsp;buffer&amp;nbsp;busy&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;166,717&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;428&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.1
direct&amp;nbsp;path&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;424,645&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;344&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.2
db&amp;nbsp;file&amp;nbsp;parallel&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61,816&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;298&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
enq:&amp;nbsp;HW&amp;nbsp;-&amp;nbsp;contention&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;17,487&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;216&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
db&amp;nbsp;file&amp;nbsp;parallel&amp;nbsp;write&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;221,865&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;210&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.1
Backup:&amp;nbsp;sbtwrite2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;36,271&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;145&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
gc&amp;nbsp;current&amp;nbsp;grant&amp;nbsp;2-way&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;445,456&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;115&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.2
enq:&amp;nbsp;TM&amp;nbsp;-&amp;nbsp;contention&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;74&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;102&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;400&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/pre&gt;
&lt;p&gt;在应用调整第2天上午的awr数据（采集时长1小时）：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
Load&amp;nbsp;Profile
~~~~~~~~~~~~&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Per&amp;nbsp;Second&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Per&amp;nbsp;Transaction
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;---------------&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;---------------
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Redo&amp;nbsp;size:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,420,236.58&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6,734.48
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Logical&amp;nbsp;reads:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,277,888.60&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3,555.82
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Block&amp;nbsp;changes:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;164,638.57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;458.12
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Physical&amp;nbsp;reads:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,208.59&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.36
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Physical&amp;nbsp;writes:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;456.79&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.27
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;User&amp;nbsp;calls:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8,785.42&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;24.45
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Parses:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4,103.35&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;11.42
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Hard&amp;nbsp;parses:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;12.87&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.04
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sorts:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8,052.30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;22.41
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Logons:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9.05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.03
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Executes:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;32,573.41&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;90.64
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Transactions:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;359.38

&amp;nbsp;&amp;nbsp;%&amp;nbsp;Blocks&amp;nbsp;changed&amp;nbsp;per&amp;nbsp;Read:&amp;nbsp;&amp;nbsp;&amp;nbsp;12.88&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Recursive&amp;nbsp;Call&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;85.01
&amp;nbsp;Rollback&amp;nbsp;per&amp;nbsp;transaction&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.19&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Rows&amp;nbsp;per&amp;nbsp;Sort:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8.74

Instance&amp;nbsp;Efficiency&amp;nbsp;Percentages&amp;nbsp;(Target&amp;nbsp;100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Buffer&amp;nbsp;Nowait&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;99.97&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Redo&amp;nbsp;NoWait&amp;nbsp;%:&amp;nbsp;&amp;nbsp;100.00
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Buffer&amp;nbsp;&amp;nbsp;Hit&amp;nbsp;&amp;nbsp;&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;99.92&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;In-memory&amp;nbsp;Sort&amp;nbsp;%:&amp;nbsp;&amp;nbsp;100.00
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Library&amp;nbsp;Hit&amp;nbsp;&amp;nbsp;&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;99.92&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Soft&amp;nbsp;Parse&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;99.69
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Execute&amp;nbsp;to&amp;nbsp;Parse&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;87.40&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Latch&amp;nbsp;Hit&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;99.33
Parse&amp;nbsp;CPU&amp;nbsp;to&amp;nbsp;Parse&amp;nbsp;Elapsd&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;29.94&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;%&amp;nbsp;Non-Parse&amp;nbsp;CPU:&amp;nbsp;&amp;nbsp;&amp;nbsp;99.17

&amp;nbsp;Shared&amp;nbsp;Pool&amp;nbsp;Statistics&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Begin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;------&amp;nbsp;&amp;nbsp;------
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Memory&amp;nbsp;Usage&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;95.42&amp;nbsp;&amp;nbsp;&amp;nbsp;95.02
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;%&amp;nbsp;SQL&amp;nbsp;with&amp;nbsp;executions&amp;gt;1:&amp;nbsp;&amp;nbsp;&amp;nbsp;61.41&amp;nbsp;&amp;nbsp;&amp;nbsp;72.38
&amp;nbsp;&amp;nbsp;%&amp;nbsp;Memory&amp;nbsp;for&amp;nbsp;SQL&amp;nbsp;w/exec&amp;gt;1:&amp;nbsp;&amp;nbsp;&amp;nbsp;60.04&amp;nbsp;&amp;nbsp;&amp;nbsp;73.07

Top&amp;nbsp;5&amp;nbsp;Timed&amp;nbsp;Events&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Avg&amp;nbsp;%Total
~~~~~~~~~~~~~~~~~~&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wait&amp;nbsp;&amp;nbsp;&amp;nbsp;Call
Event&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Waits&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Time&amp;nbsp;(s)&amp;nbsp;&amp;nbsp;&amp;nbsp;(ms)&amp;nbsp;&amp;nbsp;&amp;nbsp;Time&amp;nbsp;Wait&amp;nbsp;Class
------------------------------&amp;nbsp;------------&amp;nbsp;-----------&amp;nbsp;------&amp;nbsp;------&amp;nbsp;----------
CPU&amp;nbsp;time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;69,736&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;56.2
Backup:&amp;nbsp;sbtwrite2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,319,231&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;22,510&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10&amp;nbsp;&amp;nbsp;&amp;nbsp;18.1&amp;nbsp;Administra
db&amp;nbsp;file&amp;nbsp;sequential&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3,476,830&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;20,923&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&amp;nbsp;&amp;nbsp;&amp;nbsp;16.9&amp;nbsp;&amp;nbsp;&amp;nbsp;User&amp;nbsp;I/O
latch:&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;159,416&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9,280&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;58&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7.5&amp;nbsp;Concurrenc
Backup:&amp;nbsp;sbtbackup&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;28&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,746&amp;nbsp;&amp;nbsp;98056&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.2&amp;nbsp;Administra
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-------------------------------------------------------------
^LWait&amp;nbsp;Events&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DB/Inst:&amp;nbsp;CRM2DB/crm2db1&amp;nbsp;&amp;nbsp;Snaps:&amp;nbsp;3602-3604
-&amp;gt;&amp;nbsp;s&amp;nbsp;&amp;nbsp;-&amp;nbsp;second
-&amp;gt;&amp;nbsp;cs&amp;nbsp;-&amp;nbsp;centisecond&amp;nbsp;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;100th&amp;nbsp;of&amp;nbsp;a&amp;nbsp;second
-&amp;gt;&amp;nbsp;ms&amp;nbsp;-&amp;nbsp;millisecond&amp;nbsp;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1000th&amp;nbsp;of&amp;nbsp;a&amp;nbsp;second
-&amp;gt;&amp;nbsp;us&amp;nbsp;-&amp;nbsp;microsecond&amp;nbsp;-&amp;nbsp;1000000th&amp;nbsp;of&amp;nbsp;a&amp;nbsp;second
-&amp;gt;&amp;nbsp;ordered&amp;nbsp;by&amp;nbsp;wait&amp;nbsp;time&amp;nbsp;desc,&amp;nbsp;waits&amp;nbsp;desc&amp;nbsp;(idle&amp;nbsp;events&amp;nbsp;last)
-&amp;gt;&amp;nbsp;%Timeouts:&amp;nbsp;value&amp;nbsp;of&amp;nbsp;0&amp;nbsp;indicates&amp;nbsp;value&amp;nbsp;was&amp;nbsp;&amp;lt; &amp;nbsp;.5%.&amp;nbsp;&amp;nbsp;Value&amp;nbsp;of&amp;nbsp;null&amp;nbsp;is&amp;nbsp;truly&amp;nbsp;0

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Avg
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;%Time&amp;nbsp;&amp;nbsp;Total&amp;nbsp;Wait&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wait&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Waits
Event&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Waits&amp;nbsp;-outs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Time&amp;nbsp;(s)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(ms)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/txn
----------------------------&amp;nbsp;--------------&amp;nbsp;-----&amp;nbsp;-----------&amp;nbsp;-------&amp;nbsp;---------
Backup:&amp;nbsp;sbtwrite2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,319,231&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;22,510&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.8
db&amp;nbsp;file&amp;nbsp;sequential&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3,476,830&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;20,923&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.7
latch:&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;159,416&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9,280&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;58&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.1
Backup:&amp;nbsp;sbtbackup&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;28&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,746&amp;nbsp;&amp;nbsp;&amp;nbsp;98056&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
log&amp;nbsp;file&amp;nbsp;sync&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,283,319&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,538&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.0
gc&amp;nbsp;buffer&amp;nbsp;busy&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,088,432&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,324&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.8
latch:&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;31,278&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,328&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;42&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
control&amp;nbsp;file&amp;nbsp;sequential&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,512,218&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,082&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.2
log&amp;nbsp;file&amp;nbsp;parallel&amp;nbsp;write&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,157,491&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,045&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.9
SQL*Net&amp;nbsp;message&amp;nbsp;from&amp;nbsp;dblink&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;952,956&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;987&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.7
SQL*Net&amp;nbsp;more&amp;nbsp;data&amp;nbsp;from&amp;nbsp;clien&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;962,454&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;837&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.7
kst:&amp;nbsp;async&amp;nbsp;disk&amp;nbsp;IO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;17,574&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;483&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;27&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
gc&amp;nbsp;cr&amp;nbsp;grant&amp;nbsp;2-way&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,539,289&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;439&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.2
gc&amp;nbsp;current&amp;nbsp;block&amp;nbsp;2-way&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;946,330&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;353&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.7
direct&amp;nbsp;path&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;291,853&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;313&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.2
db&amp;nbsp;file&amp;nbsp;parallel&amp;nbsp;write&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;261,735&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;298&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.2
read&amp;nbsp;by&amp;nbsp;other&amp;nbsp;session&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;92,451&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;270&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.1
cursor:&amp;nbsp;pin&amp;nbsp;S&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;304,676,088&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;233&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;235.1
db&amp;nbsp;file&amp;nbsp;scattered&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;28,062&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;132&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
enq:&amp;nbsp;TX&amp;nbsp;-&amp;nbsp;row&amp;nbsp;lock&amp;nbsp;contentio&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;466&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;52&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;263&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
direct&amp;nbsp;path&amp;nbsp;write&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;227,989&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;113&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.2
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/pre&gt;
&lt;p&gt;从Load profile数据对比来看，应用调整后系统负载有一定的提高，同时每事务逻辑读也有一定的增加（不足10%）。这会是个问题吗？&lt;br /&gt;
从第2份数据来看，latch: shared pool 和 latch: library cache有明显的增加。&lt;/p&gt;
&lt;p&gt;下面的是性能问题更加严重的时候的AWR数据（采集时长为2小时）：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Snap&amp;nbsp;Id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Snap&amp;nbsp;Time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sessions&amp;nbsp;Curs/Sess
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;---------&amp;nbsp;-------------------&amp;nbsp;--------&amp;nbsp;---------
Begin&amp;nbsp;Snap:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3744&amp;nbsp;26-Sep-11&amp;nbsp;09:00:01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4,504&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;38.2
&amp;nbsp;&amp;nbsp;End&amp;nbsp;Snap:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3748&amp;nbsp;26-Sep-11&amp;nbsp;11:00:26&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4,916&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;52.7
&amp;nbsp;&amp;nbsp;&amp;nbsp;Elapsed:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;120.41&amp;nbsp;(mins)
&amp;nbsp;&amp;nbsp;&amp;nbsp;DB&amp;nbsp;Time:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;21,868.27&amp;nbsp;(mins)

Cache&amp;nbsp;Sizes
~~~~~~~~~~~&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Begin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;----------&amp;nbsp;----------
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Buffer&amp;nbsp;Cache:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;35,840M&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;35,840M&amp;nbsp;&amp;nbsp;Std&amp;nbsp;Block&amp;nbsp;Size:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8K
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Shared&amp;nbsp;Pool&amp;nbsp;Size:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6,144M&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6,144M&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Log&amp;nbsp;Buffer:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;30,632K

Load&amp;nbsp;Profile
~~~~~~~~~~~~&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Per&amp;nbsp;Second&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Per&amp;nbsp;Transaction
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;---------------&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;---------------
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Redo&amp;nbsp;size:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,790,430.57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5,945.33
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Logical&amp;nbsp;reads:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,162,875.15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3,861.46
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Block&amp;nbsp;changes:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;154,064.15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;511.59
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Physical&amp;nbsp;reads:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3,007.80&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9.99
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Physical&amp;nbsp;writes:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;337.21&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.12
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;User&amp;nbsp;calls:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8,227.28&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;27.32
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Parses:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3,603.24&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;11.96
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Hard&amp;nbsp;parses:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;11.25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.04
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sorts:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7,304.40&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;24.26
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Logons:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;11.27&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.04
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Executes:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;25,994.53&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;86.32
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Transactions:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;301.15

&amp;nbsp;&amp;nbsp;%&amp;nbsp;Blocks&amp;nbsp;changed&amp;nbsp;per&amp;nbsp;Read:&amp;nbsp;&amp;nbsp;&amp;nbsp;13.25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Recursive&amp;nbsp;Call&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;82.87
&amp;nbsp;Rollback&amp;nbsp;per&amp;nbsp;transaction&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.21&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Rows&amp;nbsp;per&amp;nbsp;Sort:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8.14

Instance&amp;nbsp;Efficiency&amp;nbsp;Percentages&amp;nbsp;(Target&amp;nbsp;100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Buffer&amp;nbsp;Nowait&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;99.99&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Redo&amp;nbsp;NoWait&amp;nbsp;%:&amp;nbsp;&amp;nbsp;100.00
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Buffer&amp;nbsp;&amp;nbsp;Hit&amp;nbsp;&amp;nbsp;&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;99.75&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;In-memory&amp;nbsp;Sort&amp;nbsp;%:&amp;nbsp;&amp;nbsp;100.00
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Library&amp;nbsp;Hit&amp;nbsp;&amp;nbsp;&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;99.94&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Soft&amp;nbsp;Parse&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;99.69
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Execute&amp;nbsp;to&amp;nbsp;Parse&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;86.14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Latch&amp;nbsp;Hit&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;98.90
Parse&amp;nbsp;CPU&amp;nbsp;to&amp;nbsp;Parse&amp;nbsp;Elapsd&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;14.69&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;%&amp;nbsp;Non-Parse&amp;nbsp;CPU:&amp;nbsp;&amp;nbsp;&amp;nbsp;84.51

&amp;nbsp;Shared&amp;nbsp;Pool&amp;nbsp;Statistics&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Begin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;------&amp;nbsp;&amp;nbsp;------
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Memory&amp;nbsp;Usage&amp;nbsp;%:&amp;nbsp;&amp;nbsp;&amp;nbsp;95.48&amp;nbsp;&amp;nbsp;&amp;nbsp;94.33
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;%&amp;nbsp;SQL&amp;nbsp;with&amp;nbsp;executions&amp;gt;1:&amp;nbsp;&amp;nbsp;&amp;nbsp;87.63&amp;nbsp;&amp;nbsp;&amp;nbsp;74.92
&amp;nbsp;&amp;nbsp;%&amp;nbsp;Memory&amp;nbsp;for&amp;nbsp;SQL&amp;nbsp;w/exec&amp;gt;1:&amp;nbsp;&amp;nbsp;&amp;nbsp;86.52&amp;nbsp;&amp;nbsp;&amp;nbsp;74.66

Top&amp;nbsp;5&amp;nbsp;Timed&amp;nbsp;Events&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Avg&amp;nbsp;%Total
~~~~~~~~~~~~~~~~~~&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wait&amp;nbsp;&amp;nbsp;&amp;nbsp;Call
Event&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Waits&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Time&amp;nbsp;(s)&amp;nbsp;&amp;nbsp;&amp;nbsp;(ms)&amp;nbsp;&amp;nbsp;&amp;nbsp;Time&amp;nbsp;Wait&amp;nbsp;Class
------------------------------&amp;nbsp;------------&amp;nbsp;-----------&amp;nbsp;------&amp;nbsp;------&amp;nbsp;----------
latch:&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;991,918&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;274,715&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;277&amp;nbsp;&amp;nbsp;&amp;nbsp;20.9&amp;nbsp;Concurrenc
latch:&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;941,443&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;232,344&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;247&amp;nbsp;&amp;nbsp;&amp;nbsp;17.7&amp;nbsp;Concurrenc
CPU&amp;nbsp;time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;212,150&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;16.2
cursor:&amp;nbsp;pin&amp;nbsp;S&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;############&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;115,049&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8.8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Other
latch:&amp;nbsp;cache&amp;nbsp;buffers&amp;nbsp;lru&amp;nbsp;chain&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,106,570&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;96,442&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;87&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7.4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Other
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-------------------------------------------------------------
^LWait&amp;nbsp;Events&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DB/Inst:&amp;nbsp;CRM2DB/crm2db1&amp;nbsp;&amp;nbsp;Snaps:&amp;nbsp;3744-3748
-&amp;gt;&amp;nbsp;s&amp;nbsp;&amp;nbsp;-&amp;nbsp;second
-&amp;gt;&amp;nbsp;cs&amp;nbsp;-&amp;nbsp;centisecond&amp;nbsp;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;100th&amp;nbsp;of&amp;nbsp;a&amp;nbsp;second
-&amp;gt;&amp;nbsp;ms&amp;nbsp;-&amp;nbsp;millisecond&amp;nbsp;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1000th&amp;nbsp;of&amp;nbsp;a&amp;nbsp;second
-&amp;gt;&amp;nbsp;us&amp;nbsp;-&amp;nbsp;microsecond&amp;nbsp;-&amp;nbsp;1000000th&amp;nbsp;of&amp;nbsp;a&amp;nbsp;second
-&amp;gt;&amp;nbsp;ordered&amp;nbsp;by&amp;nbsp;wait&amp;nbsp;time&amp;nbsp;desc,&amp;nbsp;waits&amp;nbsp;desc&amp;nbsp;(idle&amp;nbsp;events&amp;nbsp;last)
-&amp;gt;&amp;nbsp;%Timeouts:&amp;nbsp;value&amp;nbsp;of&amp;nbsp;0&amp;nbsp;indicates&amp;nbsp;value&amp;nbsp;was&amp;nbsp;&amp;lt;&amp;nbsp;.5%.&amp;nbsp;&amp;nbsp;Value&amp;nbsp;of&amp;nbsp;null&amp;nbsp;is&amp;nbsp;truly&amp;nbsp;0

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Avg
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;%Time&amp;nbsp;&amp;nbsp;Total&amp;nbsp;Wait&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wait&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Waits
Event&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Waits&amp;nbsp;-outs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Time&amp;nbsp;(s)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(ms)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/txn
----------------------------&amp;nbsp;--------------&amp;nbsp;-----&amp;nbsp;-----------&amp;nbsp;-------&amp;nbsp;---------
latch:&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;991,918&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;274,715&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;277&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.5
latch:&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;941,443&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;232,344&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;247&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.4
cursor:&amp;nbsp;pin&amp;nbsp;S&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9,095,470,035&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;115,049&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;4,180.5
latch:&amp;nbsp;cache&amp;nbsp;buffers&amp;nbsp;lru&amp;nbsp;cha&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,106,570&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;96,442&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;87&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.5
db&amp;nbsp;file&amp;nbsp;sequential&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7,819,285&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;49,564&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.6
latch:&amp;nbsp;cache&amp;nbsp;buffers&amp;nbsp;chains&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;511,936&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;35,753&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;70&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.2
latch&amp;nbsp;free&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;95,257&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;14,609&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;153&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
latch:&amp;nbsp;object&amp;nbsp;queue&amp;nbsp;header&amp;nbsp;o&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;221,907&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;14,378&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;65&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.1
log&amp;nbsp;file&amp;nbsp;sync&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,156,343&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;11,496&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.0
cursor:&amp;nbsp;pin&amp;nbsp;S&amp;nbsp;wait&amp;nbsp;on&amp;nbsp;X&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;422,320&amp;nbsp;&amp;nbsp;&amp;nbsp;100&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4,603&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.2
gc&amp;nbsp;cr&amp;nbsp;grant&amp;nbsp;2-way&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3,526,856&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3,430&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.6
db&amp;nbsp;file&amp;nbsp;scattered&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;624,480&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3,083&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.3
enq:&amp;nbsp;TX&amp;nbsp;-&amp;nbsp;row&amp;nbsp;lock&amp;nbsp;contentio&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5,946&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;88&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,600&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;437&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
latch:&amp;nbsp;row&amp;nbsp;cache&amp;nbsp;objects&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;16,983&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,281&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;134&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
SQL*Net&amp;nbsp;message&amp;nbsp;from&amp;nbsp;dblink&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,284,487&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,179&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.6
gc&amp;nbsp;buffer&amp;nbsp;busy&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;353,228&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,054&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.2
gc&amp;nbsp;cr&amp;nbsp;multi&amp;nbsp;block&amp;nbsp;request&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,499,709&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,974&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.1
gc&amp;nbsp;current&amp;nbsp;block&amp;nbsp;2-way&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,969,516&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,920&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.9
SQL*Net&amp;nbsp;more&amp;nbsp;data&amp;nbsp;from&amp;nbsp;clien&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,667,513&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,914&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.8
control&amp;nbsp;file&amp;nbsp;sequential&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,974,349&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,735&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.4
db&amp;nbsp;file&amp;nbsp;parallel&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;230,795&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,645&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.1
log&amp;nbsp;file&amp;nbsp;parallel&amp;nbsp;write&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,581,432&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,303&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.7
Backup:&amp;nbsp;sbtbackup&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;14&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;730&amp;nbsp;&amp;nbsp;&amp;nbsp;52120&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
buffer&amp;nbsp;busy&amp;nbsp;waits&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;143,869&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;488&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.1
latch:&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;lock&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5,058&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;378&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;75&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
enq:&amp;nbsp;HW&amp;nbsp;-&amp;nbsp;contention&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;22,039&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;370&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;17&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
gc&amp;nbsp;current&amp;nbsp;grant&amp;nbsp;2-way&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;424,243&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;357&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.2
enq:&amp;nbsp;SQ&amp;nbsp;-&amp;nbsp;contention&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5,010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;354&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;71&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
read&amp;nbsp;by&amp;nbsp;other&amp;nbsp;session&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;50,153&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;339&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
direct&amp;nbsp;path&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;324,226&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;305&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.1
db&amp;nbsp;file&amp;nbsp;parallel&amp;nbsp;write&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;207,793&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;274&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.1
row&amp;nbsp;cache&amp;nbsp;lock&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;175,301&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;263&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/pre&gt;
&lt;p&gt;从第3份数据来看，性能更为恶化，情形更为复杂。&lt;/p&gt;
&lt;p&gt;那么针对这个性能现象，可以提出如下的问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;最直观的，最容易想到的就是，性能问题的出现是否与应用调整有关，如果是，为什么另一套库没有出现问题？会不会是另一套库的负载在2个节点都有相对均衡的负担，而出问题的库，负载全部集中在1个节点上引起？&lt;/li&gt;
&lt;li&gt;客户是在应用调整几天后才报告性能问题，这个问题会不会是一个逐渐出现的问题？如果一开始就有严重的性能问题，那么应该会很快报告。不过中间跨了一个周末，所以对于”逐渐出现问题“的判断又加了一些难度。&lt;/li&gt;
&lt;li&gt;这么多的性能问题相关的现象中，哪个更贴近问题的原因？实际上在主机的CPU长期保持在100%左右时，会放大平时的一些轻微的问题，或者引起另一些问题。从等待来看，latch: cache buffers chains和cursor: pin S都会引起CPU的急剧增加，而其他的latch竞争同样也会引起CPU的上升，虽然上升没有前者大。到底是SQL执行效率不高引起CPU急剧增加然后引起了shared pool latch等与解析相关的资源争用还是因为解析相关的问题导致CPU急剧增加引起了cache buffers chains等与SQL执行相关的latch争用？或者是2者的共同作用？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;下面首先来分析，会不会是应用调整引起的问题，也就是说，是不是由SQL引起的问题。如果是SQL引起的问题，会有几种可能，1是部分频繁执行的SQL执行效率变差；2是增加了很多的硬解析；3是并发增加或者说是SQL的执行次数有上升。仔细检查对比现在和以前的AWR数据，可以排除第1和2这种可能。至于第3种，可能略有增加，但是不一定跟应用调整有关，毕竟正常情况下业务量的变化也是有可能的。所以应用调整引起问题的可能性较小。&lt;/p&gt;
&lt;p&gt;会不会是因为负载过大引起的问题，这个很容易验证。取业务低谷期，比如下班时间的数据，进行分析可以发现，既然在CPU在稍低(75%以下）的时候，仍然有大量的library cache latch的争用。下面是取自周日19:00-20:00的AWR数据（注：本文涉及故障的分析时间是在星期一）：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
Top&amp;nbsp;5&amp;nbsp;Timed&amp;nbsp;Events&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Avg&amp;nbsp;%Total
~~~~~~~~~~~~~~~~~~&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wait&amp;nbsp;&amp;nbsp;&amp;nbsp;Call
Event&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Waits&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Time&amp;nbsp;(s)&amp;nbsp;&amp;nbsp;&amp;nbsp;(ms)&amp;nbsp;&amp;nbsp;&amp;nbsp;Time&amp;nbsp;Wait&amp;nbsp;Class
------------------------------&amp;nbsp;------------&amp;nbsp;-----------&amp;nbsp;------&amp;nbsp;------&amp;nbsp;----------
CPU&amp;nbsp;time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;49,224&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;48.3
latch:&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;185,951&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;41,178&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;221&amp;nbsp;&amp;nbsp;&amp;nbsp;40.4&amp;nbsp;Concurrenc
latch:&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;45,636&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8,861&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;194&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8.7&amp;nbsp;Concurrenc
db&amp;nbsp;file&amp;nbsp;sequential&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;815,066&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4,763&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.7&amp;nbsp;&amp;nbsp;&amp;nbsp;User&amp;nbsp;I/O
cursor:&amp;nbsp;pin&amp;nbsp;S&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;############&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,732&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Other
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-------------------------------------------------------------

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Avg
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;%Time&amp;nbsp;&amp;nbsp;Total&amp;nbsp;Wait&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wait&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Waits
Event&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Waits&amp;nbsp;-outs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Time&amp;nbsp;(s)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(ms)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/txn
----------------------------&amp;nbsp;--------------&amp;nbsp;-----&amp;nbsp;-----------&amp;nbsp;-------&amp;nbsp;---------
latch:&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;185,951&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;41,178&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;221&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.6
latch:&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;45,636&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8,861&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;194&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.2
db&amp;nbsp;file&amp;nbsp;sequential&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;815,066&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4,763&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.8
cursor:&amp;nbsp;pin&amp;nbsp;S&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,890,998,700&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,732&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;6,459.2
latch&amp;nbsp;free&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8,549&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,278&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;150&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
control&amp;nbsp;file&amp;nbsp;sequential&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,507,789&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;466&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5.2
Backup:&amp;nbsp;sbtbackup&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;428&amp;nbsp;&amp;nbsp;&amp;nbsp;61096&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
log&amp;nbsp;file&amp;nbsp;sync&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;285,442&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;309&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.0
SQL*Net&amp;nbsp;more&amp;nbsp;data&amp;nbsp;from&amp;nbsp;clien&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;145,137&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;221&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.5
db&amp;nbsp;file&amp;nbsp;scattered&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;67,716&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;173&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.2
gc&amp;nbsp;buffer&amp;nbsp;busy&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;56,842&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;135&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.2
gc&amp;nbsp;cr&amp;nbsp;grant&amp;nbsp;2-way&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;359,146&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;99&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.2
SQL*Net&amp;nbsp;message&amp;nbsp;from&amp;nbsp;dblink&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;123,206&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;98&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.4
log&amp;nbsp;file&amp;nbsp;parallel&amp;nbsp;write&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;289,048&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;91&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.0
SQL*Net&amp;nbsp;more&amp;nbsp;data&amp;nbsp;to&amp;nbsp;client&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,242,471&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;79&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.2
gc&amp;nbsp;current&amp;nbsp;block&amp;nbsp;2-way&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;179,654&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;66&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.6
direct&amp;nbsp;path&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;62,336&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;65&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.2
gc&amp;nbsp;cr&amp;nbsp;multi&amp;nbsp;block&amp;nbsp;request&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;228,693&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;52&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.8
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/pre&gt;
&lt;p&gt;至于性能问题是不是逐渐引起的，这个问题目前并不关键，暂时不考虑。只是做为后面分析问题的一个参考。&lt;br /&gt;
&lt;span id=&quot;more-857&quot;&gt;&lt;/span&gt;&lt;br /&gt;
再看最后一个问题，这些性能现象中，哪一个更接近问题的原因？幸庆的是，从上面的业务低谷期数据可以看到，这个时候的等待主要是跟解析相关的等待，而其他的latch: cache buffers lru chain等与SQL执行期相关的等待已经不再明显。&lt;/p&gt;
&lt;p&gt;所以到此阶段的结论是：性能并不是由于应用调整引起、与负载关系不是太大、主要是与shared pool latch等解析相关的争用有关。&lt;br /&gt;
进一步分析上面的数据，其实可以看到latch: shared pool的等待时间占主导地位，同时由于shared pool latch的争用也会一定程度上引起library cache latch的争用（请参考我的另一篇文章&lt;a href=&quot;http://www.laoxiong.net/shared-pool-latch-and-library-cache-latch.html&quot;&gt;《shared pool latch和library cache latch》&lt;/a&gt;），所以我们这里主要考虑是什么引起了shared pool latch的争用。另外，cursor: pin S的等待是一个极少出现的等待，一般是由于bug或者高并发地执行同一条SQL引起。那么，cursor: pin S会跟shared pool latch的争用有所关联么？目前不得而知。或者这3者都是相关的？&lt;/p&gt;
&lt;p&gt;基于上面的分析，下面重点来分析shared pool latch的争用。使用上面提及的业务低谷期的AWR数据，因为这个时候没有了其他的干扰，更容易分析：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
^LLatch&amp;nbsp;Miss&amp;nbsp;Sources&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DB/Inst:&amp;nbsp;CRM2DB/crm2db1&amp;nbsp;&amp;nbsp;Snaps:&amp;nbsp;3716-3718
-&amp;gt;&amp;nbsp;only&amp;nbsp;latches&amp;nbsp;with&amp;nbsp;sleeps&amp;nbsp;are&amp;nbsp;shown
-&amp;gt;&amp;nbsp;ordered&amp;nbsp;by&amp;nbsp;name,&amp;nbsp;sleeps&amp;nbsp;desc

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NoWait&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Waiter
Latch&amp;nbsp;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Where&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Misses&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sleeps&amp;nbsp;&amp;nbsp;&amp;nbsp;Sleeps
------------------------&amp;nbsp;--------------------------&amp;nbsp;-------&amp;nbsp;----------&amp;nbsp;--------
library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kglpndl:&amp;nbsp;child:&amp;nbsp;after&amp;nbsp;proc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;19,599&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;55
library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kglpndl:&amp;nbsp;child:&amp;nbsp;before&amp;nbsp;pro&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;12,653&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,969
library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kglpnp:&amp;nbsp;child&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10,188&amp;nbsp;&amp;nbsp;&amp;nbsp;34,808
library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kglLockCursor&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;632&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,539
library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kglhdgn:&amp;nbsp;child:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;487&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3,729
library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kglobpn:&amp;nbsp;child:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;408&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,077
library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kgldte:&amp;nbsp;child&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;381&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;747
library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kglukp:&amp;nbsp;child&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;184&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;66
library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kglati&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;52&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1
library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kqlmbpil:&amp;nbsp;parent&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;52&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4
library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kglpin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;38&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9
library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kgldti:&amp;nbsp;2child&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kglhdbrnl:&amp;nbsp;child&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;29
library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kglhdgc:&amp;nbsp;child:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kglobld&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kglic&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7
library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kglini:&amp;nbsp;child&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghupr1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;168,465&amp;nbsp;&amp;nbsp;148,602
shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghalo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9,881&amp;nbsp;&amp;nbsp;&amp;nbsp;23,589
shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghfre&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7,136&amp;nbsp;&amp;nbsp;&amp;nbsp;13,425
shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghfrunp:&amp;nbsp;clatch:&amp;nbsp;nowait&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;470&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghalp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;204&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;82
shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghfrunp:&amp;nbsp;alloc:&amp;nbsp;wait&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghfrunp:&amp;nbsp;clatch:&amp;nbsp;wait&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;15
shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghasp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghfrh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
shared&amp;nbsp;pool&amp;nbsp;simulator&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kglsim_unpin_simhp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;319&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;70
shared&amp;nbsp;pool&amp;nbsp;simulator&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kglsim_scan_lru:&amp;nbsp;scan&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;101
shared&amp;nbsp;pool&amp;nbsp;simulator&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kglsim_upd_newhp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;89
shared&amp;nbsp;pool&amp;nbsp;simulator&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kglsim_chg_simhp_free&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;25
slave&amp;nbsp;class&amp;nbsp;create&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ksvcreate&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0
&lt;/pre&gt;
&lt;p&gt;那么从Latch Miss Source的数据可以看到，对于shared pool latch，绝大部分的sleep发生在kghupr1这个函数这里。在oracle中kghupr1这个函数是干什么的呢，简单来说就是un-pin recreatable内存块，其主要目的是要将creatable的内存块链接到shared pool的LRU链表中，在这个过程中要持有shared pool latch。这里我们可以确认不是由于在shared pool中的内存分配引起了latch的争用，而是在sql的execute阶段完成后才应该发生的争用。&lt;/p&gt;
&lt;p&gt;从上面的数据同样可以看到，library cache latch的争用主要发生在kglpndl (KGL PiN DeLete)。&lt;/p&gt;
&lt;p&gt;再来考虑cursor: pin S等待，这个等待通常发生在2个时间点，第1个是在SQL软解析对cursor进行PIN时增加mutex的引用计数时发生；第2个是在cursor执行完un-PIN时，减少mutex的引用计数时发生。&lt;/p&gt;
&lt;p&gt;实际上在SQL整个执行过程中，除了parse阶段，在execute完成后（注意，可能是在fetch完成之前）同样会有shared pool latch、shared pool latch的获取。因为执行后要执行很多的操作，比如将recreated chunk链接到LRU链表中，更新sql的统计信息，un-pin cursor以及引用的某些对象等待。&lt;/p&gt;
&lt;p&gt;以上三者，将线索都指向了SQL语句execute完成之后的阶段，这里execute指的是SQL语句的open-parse-execute-fetch-close等诸多步骤中的一个，而不是我们通常所讲的”执行“。&lt;/p&gt;
&lt;p&gt;从出现性能问题后的几个不同时间段的AWR报告中，从数据上看现象是一致的，上述结论是可以成立的。&lt;/p&gt;
&lt;p&gt;如果是一个问题的事后分析，到现在这里，如果再继续深入就非常困难了。还好在分析问题时，问题依然存在。&lt;/p&gt;
&lt;p&gt;通过对数据库的实时分析，可以发现以下几点：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;latch: shared pool、latch: library cache、cursor: pin S这三种基本上都是同时出现，这也验证了前面的结论，这3者是相关的。&lt;/li&gt;
&lt;li&gt;等待cursor: pin S的会话其当前的SQL通常为2条并发量很高的SQL，这几条SQL都是存储过程中的SQL，而执行存储过程并发量很高。latch: library cache等待的会话当前的SQL也类似此现象，当然这样的话library cache latch的争用就发生在极少数的child latch上。&lt;/li&gt;
&lt;li&gt;等待latch: shared pool的会话其当前的SQL绝大部分为空，这似乎验证了之前提到的shared pool latch的争用发生在SQL执行完之后。同时shared pool latch争用全部发生在同一个child latch上，这个是极不寻常的。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;然后使用来自&lt;a href=&quot;http://www.tanelpoder.com/&quot;&gt;Tanel Poder&lt;/a&gt;的脚本@latchprof进行更深入的分析：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
SQL&amp;gt;&amp;nbsp;@latchprofx&amp;nbsp;sid,name,ksllwnam,ksllwlbl&amp;nbsp;%&amp;nbsp;library&amp;nbsp;10000
&amp;nbsp;&amp;nbsp;SID&amp;nbsp;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KSLLWNAM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KSLLWLBL&amp;nbsp;&amp;nbsp;Held&amp;nbsp;Gets&amp;nbsp;&amp;nbsp;Held&amp;nbsp;%&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Held&amp;nbsp;ms
-----&amp;nbsp;---------------&amp;nbsp;-----------------------------------&amp;nbsp;--------&amp;nbsp;-----&amp;nbsp;----&amp;nbsp;-------&amp;nbsp;-----------
&amp;nbsp;3146&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;kglpndl:&amp;nbsp;child:&amp;nbsp;after&amp;nbsp;processing&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;latch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2442&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&amp;nbsp;&amp;nbsp;&amp;nbsp;24.42&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4595.844
&amp;nbsp;3138&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;kglpndl:&amp;nbsp;child:&amp;nbsp;after&amp;nbsp;processing&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;latch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2274&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&amp;nbsp;&amp;nbsp;&amp;nbsp;22.74&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4279.668
&amp;nbsp;&amp;nbsp;694&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;kglpndl:&amp;nbsp;child:&amp;nbsp;before&amp;nbsp;processing&amp;nbsp;&amp;nbsp;&amp;nbsp;latch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1443&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;14.43&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2715.726
&amp;nbsp;4198&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;kglpndl:&amp;nbsp;child:&amp;nbsp;after&amp;nbsp;processing&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;latch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1214&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;12.14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2284.748
&amp;nbsp;&amp;nbsp;611&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;kglpndl:&amp;nbsp;child:&amp;nbsp;after&amp;nbsp;processing&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;latch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1157&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;11.57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2177.474
&amp;nbsp;&amp;nbsp;638&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;kglpndl:&amp;nbsp;child:&amp;nbsp;before&amp;nbsp;processing&amp;nbsp;&amp;nbsp;&amp;nbsp;latch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;11.23&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2113.486
&amp;nbsp;5949&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;kglobpn:&amp;nbsp;child:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;latch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1103&amp;nbsp;&amp;nbsp;&amp;nbsp;24&amp;nbsp;&amp;nbsp;&amp;nbsp;11.03&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2075.846
&amp;nbsp;5949&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;kglukp:&amp;nbsp;child&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;child&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1062&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&amp;nbsp;&amp;nbsp;&amp;nbsp;10.62&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1998.684
&amp;nbsp;&amp;nbsp;584&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;kglpndl:&amp;nbsp;child:&amp;nbsp;before&amp;nbsp;processing&amp;nbsp;&amp;nbsp;&amp;nbsp;latch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;974&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9.74&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1833.068
&amp;nbsp;5762&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;kglpndl:&amp;nbsp;child:&amp;nbsp;before&amp;nbsp;processing&amp;nbsp;&amp;nbsp;&amp;nbsp;latch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;960&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9.60&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1806.720
&amp;nbsp;5204&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;kgllkdl:&amp;nbsp;child:&amp;nbsp;no&amp;nbsp;lock&amp;nbsp;handle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;latch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;923&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9.23&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1737.086
&amp;nbsp;5949&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;kghfrunp:&amp;nbsp;clatch:&amp;nbsp;nowait&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;888&amp;nbsp;&amp;nbsp;&amp;nbsp;17&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8.88&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1671.216
&amp;nbsp;2338&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;kglpndl:&amp;nbsp;child:&amp;nbsp;after&amp;nbsp;processing&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;latch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;823&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8.23&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1548.886
&amp;nbsp;6243&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;kglpndl:&amp;nbsp;child:&amp;nbsp;before&amp;nbsp;processing&amp;nbsp;&amp;nbsp;&amp;nbsp;latch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;822&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8.22&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1547.004
&amp;nbsp;6184&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;kglpndl:&amp;nbsp;child:&amp;nbsp;before&amp;nbsp;processing&amp;nbsp;&amp;nbsp;&amp;nbsp;latch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;790&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7.90&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1486.780
&amp;nbsp;4121&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;kglpndl:&amp;nbsp;child:&amp;nbsp;after&amp;nbsp;processing&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;latch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;684&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6.84&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1287.288
&amp;nbsp;5601&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;kglpndl:&amp;nbsp;child:&amp;nbsp;before&amp;nbsp;processing&amp;nbsp;&amp;nbsp;&amp;nbsp;latch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;675&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6.75&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1270.350
&amp;nbsp;3948&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;kglpndl:&amp;nbsp;child:&amp;nbsp;before&amp;nbsp;processing&amp;nbsp;&amp;nbsp;&amp;nbsp;latch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;657&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6.57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1236.474
&amp;nbsp;3277&amp;nbsp;library&amp;nbsp;cache&amp;nbsp;&amp;nbsp;&amp;nbsp;kglpndl:&amp;nbsp;child:&amp;nbsp;before&amp;nbsp;processing&amp;nbsp;&amp;nbsp;&amp;nbsp;latch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;652&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6.52&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1227.064

SQL&amp;gt;&amp;nbsp;@latchprofx&amp;nbsp;sid,name,ksllwnam,ksllwlbl&amp;nbsp;%&amp;nbsp;shared&amp;nbsp;10000
&amp;nbsp;SID&amp;nbsp;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KSLLWNAM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KSLLWLBL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Held&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Gets&amp;nbsp;&amp;nbsp;Held&amp;nbsp;%&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Held&amp;nbsp;ms
----&amp;nbsp;----------------------&amp;nbsp;-------------------&amp;nbsp;-------------&amp;nbsp;----&amp;nbsp;----------&amp;nbsp;-------&amp;nbsp;-----------
2338&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghupr1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Chunk&amp;nbsp;Header&amp;nbsp;&amp;nbsp;2173&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;21.73&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4343.827
2338&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;simulator&amp;nbsp;&amp;nbsp;kglsim_unpin_simhp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2172&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&amp;nbsp;&amp;nbsp;&amp;nbsp;21.72&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4341.828
5710&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghalo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1107&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;15&amp;nbsp;&amp;nbsp;&amp;nbsp;11.07&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2212.893
3423&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;simulator&amp;nbsp;&amp;nbsp;kglsim_unpin_simhp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1075&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;10.75&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2148.925
3423&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghupr1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Chunk&amp;nbsp;Header&amp;nbsp;&amp;nbsp;1075&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;10.75&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2148.925
5348&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;simulator&amp;nbsp;&amp;nbsp;kglsim_unpin_simhp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1025&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;10.25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2048.975
5348&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghupr1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Chunk&amp;nbsp;Header&amp;nbsp;&amp;nbsp;1025&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;10.25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2048.975
2895&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghupr1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Chunk&amp;nbsp;Header&amp;nbsp;&amp;nbsp;&amp;nbsp;767&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7.67&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1533.233
2895&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;simulator&amp;nbsp;&amp;nbsp;kglsim_unpin_simhp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;767&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7.67&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1533.233
4779&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghupr1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Chunk&amp;nbsp;Header&amp;nbsp;&amp;nbsp;&amp;nbsp;609&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6.09&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1217.391
2602&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghupr1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Chunk&amp;nbsp;Header&amp;nbsp;&amp;nbsp;&amp;nbsp;551&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5.51&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1101.449
2602&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;simulator&amp;nbsp;&amp;nbsp;kglsim_unpin_simhp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;550&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5.50&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1099.450
4591&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghupr1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Chunk&amp;nbsp;Header&amp;nbsp;&amp;nbsp;&amp;nbsp;523&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5.23&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1045.477
5164&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;simulator&amp;nbsp;&amp;nbsp;kglsim_unpin_simhp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;518&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5.18&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1035.482
5164&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghupr1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Chunk&amp;nbsp;Header&amp;nbsp;&amp;nbsp;&amp;nbsp;518&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5.18&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1035.482
3677&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghupr1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Chunk&amp;nbsp;Header&amp;nbsp;&amp;nbsp;&amp;nbsp;493&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.93&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;985.507
3040&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghalo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;329&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.29&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;657.671
2146&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghupr1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Chunk&amp;nbsp;Header&amp;nbsp;&amp;nbsp;&amp;nbsp;272&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.72&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;543.728
2146&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;simulator&amp;nbsp;&amp;nbsp;kglsim_unpin_simhp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;272&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.72&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;543.728
5949&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghalo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;63&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;63&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.63&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;125.937
5949&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;simulator&amp;nbsp;&amp;nbsp;kglsim_unpin_simhp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;28&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.28&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;55.972
5949&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghupr1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Chunk&amp;nbsp;Header&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;28&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.28&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;55.972
5949&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;simulator&amp;nbsp;&amp;nbsp;kglsim_upd_newhp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9.995
&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghalo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9.995
1558&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghalo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.03&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5.997
&amp;nbsp;682&amp;nbsp;shared&amp;nbsp;pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kghalo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.998
&lt;/pre&gt;
&lt;p&gt;实际上在处理问题时，还查询了v$mutex_sleep的数据，不过在写这篇文章时，已经找不到了:)&lt;/p&gt;
&lt;p&gt;当然latchprof这个脚本反复执行多次，以确认不会只是一个偶然的结果。从数据上来看，跟AWR的数据是相吻合的。然而，在shared pool latch请求的数据上有了新的发现，同一个会话，在kghupr1过程中请求和持有shared pool latch的时间，与kglsim_unpin_simhp过程中请求和持有shared pool simulator latch的时间几乎是一致的。这是一个很重要的发现!&lt;/p&gt;
&lt;p&gt;查看shared pool simulator latch的level，发现其比shared pool latch的level高，这就是说，完全有可能shared pool latch的持有之后又去请求shared pool simulator latch，而由于shared pool simulator latch的竞争，而最终导致了shared pool latch的竞争。&lt;/p&gt;
&lt;p&gt;shared pool simulator latch用于保护shared pool simulator相关的内存区域。那么shared pool simulator是干什么的呢？简单地说就是用于shared pool  advisor。当library cache object被刷出shared pool时，将这个对象的关键信息比如hash value记录下来，当对象load时，会查找这个对象在之前是否存在过，以此来计算shared pool增加一定数量的内存时，会使Shared pool 增加多少命中率。可参考&lt;a href=&quot;http://blog.tanelpoder.com/2009/09/13/kgl-simulator-shared-pool-simulator-and-buffer-cache-simulator-what-are-these/&quot;&gt;”KGL simulator, shared pool simulator and buffer cache simulator – what are these?“&lt;/a&gt;和&lt;a href=&quot;http://stackoverflow.com/questions/183963/what-is-the-oracle-kgl-simulator&quot;&gt;http://stackoverflow.com/questions/183963/what-is-the-oracle-kgl-simulator&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;而在MOS上，使用shared pool simulator为关键字搜索，可以找到一些BUG，比如”TST PERF _LIBRARY_CACHE_ADVICE CAUSES MORE SHARED POOL AND SIMULATOR LATCH GETS“，这个BUG虽然在10.2.0.5中已经修复，但其描述的现象至少证明了当shared pool simulator争用时，将导致shared pool latch的争用。&lt;/p&gt;
&lt;p&gt;那么这个问题，到现在为止，大体上可以判断为shared pool simulator latch的争用引起了问题，接下来在业务不太繁忙时间将&amp;#8221;_library_cache_advice&amp;#8221;参数在线修改为FALSE，观察系统，发现系统有短暂的时间负载冲高，但是很快就恢复到以往的正常水平，长时间的观察发现性能问题已经解决。&lt;/p&gt;
&lt;p&gt;虽然性能问题已经解决，但是留下来需要更深入的问题还有：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;cursor: pin S这个等待，在shared pool simulator latch争用时，是如何产生的？&lt;/li&gt;
&lt;li&gt;share pool simulator latch的争用是如何产生的，为什么之前没有，是什么引起的？是BUG吗？如果是BUG又是怎么触发的？实际上后面尝试将&amp;#8221;_library_cache_advice&amp;#8221;参数改回为TRUE，但是该性能问题并没有再次出现。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;不幸的是，上述的问题都不容易回答。&lt;/p&gt;
&lt;p&gt;写到这里，不得不写一点与trouble shooting方法相关的话题。对于一个问题，有的人喜欢找到问题的根源，然后去彻底解决它；有的人喜欢想办法先解决问题再说，至于找原因，事后再找。实际上我是介于二者之间。对于问题，首先尝试去分析产生的原因，即root cause，如果在某个时间点上，能够得到解决办法，或者寻找原因的时间过长，那么就会先偏向于解决问题。实际上针对这个案例，在问题解决之后其根源还没找到，但是如果只是一味去寻找原因，那毫无疑问，时间将会很长，即便是有原厂参与，这已经涉及到比较internal的东西。但是客户的系统能等那么久吗？显然不能。另外，对于一些解决方案，比如这个案例，修改隐含参数，因为没有找到根源，实际上当时并没有100%的把握，然而我是幸运的，因为客户信任我，才让实施这种不会100%能解决问题的方案。在不能100%保证能解决问题的情况下，可以做以下评估：就算不能解决问题，会不会有负面影响？针对这个案例来说，首先实施是在业务低谷期，负载不是最高的时候；其二，对于这个参数相对应的功能有相当的了解，比如shared pool advisor和db cache advisor我一直认为是比较鸡肋的功能，关闭之后对系统基本没什么影响。&lt;/p&gt;
&lt;p&gt;解决问题，有时称之为排除问题，实际上就是排除一个个可能存在问题的点。而有时候的排除，需要一定的试验性质。有的客户总是希望什么问题只有在100%完全能够证明的情况下才允许对系统进行更改，不幸的是，很多复杂的问题，这样做几乎是不可能完成的任务。&lt;/p&gt;
&lt;p&gt;同时，对于这个案例，如果仅从AWR很难发现这个问题，与shared pool simulator latch的争用有关，这个latch的等待时间与shared pool latch、library cache latch、cursor: pin S的等待相比，是如此的短。比如在分析问题的当天，性能问题最突出的2小时内，shared pool latch的等待时间为274,715秒，而shared pool simulator latch的等待时间只不过1555秒，甚至还不及row cache objects latch等待的2316秒。而shared pool simulator latch的miss percent也只不过0.1%，远远小于shared pool latch和library cache latch的miss percent。但是通过AWR分析给我们指明了方向，然后通过数据库的实时数据分析，最终找到了解决办法。&lt;/p&gt;
&lt;p&gt;--后面有点乱，写好几个小时，思绪有点乱了&amp;#8230;.&lt;br /&gt;
--the end.&lt;/p&gt;
&lt;div id=&quot;crp_related&quot;&gt; &lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/630491434/laoxiong/feedsky/s.gif?r=http://www.laoxiong.net/resolve-performance-problem-using-library-cache-advice-parameter.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.laoxiong.net/resolve-performance-problem-using-library-cache-advice-parameter.html/feed</wfw:commentRss><description>客户的一套重要生产系统，出现了性能问题。这个问题涉及的信息如下：

数据库主机的CPU利用率长期在100%左右。
应用系统在晚上进行调整后，开始出现了问题。
数据库中出现大量的latch: shared pool、latch: library cache、cursor: pin S、latch: cache buffers chains和latch: cache buffers lru chain等各种等待。
由于系统较大，整个系统实际上被分成了2个部分，每个部分服务不同的用户。二者的应用基本相同，分别对应2套数据库，二者也同样在出问题之前进行了调整，而数据库的主机配置及参数也是相同的，同时均为10.2.0.5双节点RAC数据库。但是只有其中1套库有性能问题。
2套库的配置虽然没有差别，但是负载方式却有很大的区别，正常的那套库，2个节点的负载基本上是均衡的，而现在有性能问题的这套库，所有的负载基本上全部在第1个节点上（虽然已经多次要求开发商整改，不幸的是&amp;#8230;这里不用说了）。

下面是AWR报告中的数据：
性能正常时间段的数据（采集时间2小时）：

&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Snap&amp;#160;Id&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Snap&amp;#160;Time&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Sessions&amp;#160;Curs/Sess
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;---------&amp;#160;-------------------&amp;#160;--------&amp;#160;---------
Begin&amp;#160;Snap:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3408&amp;#160;19-Sep-11&amp;#160;09:00:21&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;4,690&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;39.5
&amp;#160;&amp;#160;End&amp;#160;Snap:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3412&amp;#160;19-Sep-11&amp;#160;11:00:07&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;4,950&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;38.7
&amp;#160;&amp;#160;&amp;#160;Elapsed:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;119.76&amp;#160;(mins)
&amp;#160;&amp;#160;&amp;#160;DB&amp;#160;Time:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,900.95&amp;#160;(mins)

Cache&amp;#160;Sizes
~~~~~~~~~~~&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Begin&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;End
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;----------&amp;#160;----------
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Buffer&amp;#160;Cache:&amp;#160;&amp;#160;&amp;#160;&amp;#160;35,840M&amp;#160;&amp;#160;&amp;#160;&amp;#160;35,840M&amp;#160;&amp;#160;Std&amp;#160;Block&amp;#160;Size:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;8K
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Shared&amp;#160;Pool&amp;#160;Size:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;6,144M&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;6,144M&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Log&amp;#160;Buffer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;30,632K

Load&amp;#160;Profile
~~~~~~~~~~~~&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Per&amp;#160;Second&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Per&amp;#160;Transaction
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;---------------&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;---------------
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Redo&amp;#160;size:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,968,314.84&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;6,360.04
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Logical&amp;#160;reads:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,038,182.89&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3,354.59
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Block&amp;#160;changes:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;148,577.35&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;480.09
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Physical&amp;#160;reads:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3,541.98&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;11.44
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Physical&amp;#160;writes:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;546.31&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.77
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;User&amp;#160;calls:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;7,811.87&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;25.24
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Parses:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3,187.30&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;10.30
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Hard&amp;#160;parses:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;10.07&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.03
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Sorts:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;6,258.90&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;20.22
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Logons:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;9.65&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.03
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Executes:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;24,100.52&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;77.87
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Transactions:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;309.48
Instance&amp;#160;Efficiency&amp;#160;Percentages&amp;#160;(Target&amp;#160;100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Buffer&amp;#160;Nowait&amp;#160;%:&amp;#160;&amp;#160;100.00&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Redo&amp;#160;NoWait&amp;#160;%:&amp;#160;&amp;#160;100.00
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Buffer&amp;#160;&amp;#160;Hit&amp;#160;&amp;#160;&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;99.69&amp;#160;&amp;#160;&amp;#160;&amp;#160;In-memory&amp;#160;Sort&amp;#160;%:&amp;#160;&amp;#160;100.00
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Library&amp;#160;Hit&amp;#160;&amp;#160;&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;99.36&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Soft&amp;#160;Parse&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;99.68
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Execute&amp;#160;to&amp;#160;Parse&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;86.77&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Latch&amp;#160;Hit&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;99.64
Parse&amp;#160;CPU&amp;#160;to&amp;#160;Parse&amp;#160;Elapsd&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;45.61&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;%&amp;#160;Non-Parse&amp;#160;CPU:&amp;#160;&amp;#160;&amp;#160;99.46

&amp;#160;Shared&amp;#160;Pool&amp;#160;Statistics&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Begin&amp;#160;&amp;#160;&amp;#160;&amp;#160;End
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;------&amp;#160;&amp;#160;------
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Memory&amp;#160;Usage&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;95.44&amp;#160;&amp;#160;&amp;#160;94.46
&amp;#160;&amp;#160;&amp;#160;&amp;#160;%&amp;#160;SQL&amp;#160;with&amp;#160;executions&amp;#62;1:&amp;#160;&amp;#160;&amp;#160;89.10&amp;#160;&amp;#160;&amp;#160;77.18
&amp;#160;&amp;#160;%&amp;#160;Memory&amp;#160;for&amp;#160;SQL&amp;#160;w/exec&amp;#62;1:&amp;#160;&amp;#160;&amp;#160;87.82&amp;#160;&amp;#160;&amp;#160;76.62

Top&amp;#160;5&amp;#160;Timed&amp;#160;Events&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Avg&amp;#160;%Total
~~~~~~~~~~~~~~~~~~&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;wait&amp;#160;&amp;#160;&amp;#160;Call
Event&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Waits&amp;#160;&amp;#160;&amp;#160;&amp;#160;Time&amp;#160;(s)&amp;#160;&amp;#160;&amp;#160;(ms)&amp;#160;&amp;#160;&amp;#160;Time&amp;#160;Wait&amp;#160;Class
------------------------------&amp;#160;------------&amp;#160;-----------&amp;#160;------&amp;#160;------&amp;#160;----------
CPU&amp;#160;time&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;114,107&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;65.6
db&amp;#160;file&amp;#160;sequential&amp;#160;read&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;8,232,067&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;40,956&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;5&amp;#160;&amp;#160;&amp;#160;23.5&amp;#160;&amp;#160;&amp;#160;User&amp;#160;I/O
db&amp;#160;file&amp;#160;scattered&amp;#160;read&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;929,509&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,392&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.4&amp;#160;&amp;#160;&amp;#160;User&amp;#160;I/O
log&amp;#160;file&amp;#160;sync&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,119,459&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,372&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.4&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Commit
SQL*Net&amp;#160;message&amp;#160;from&amp;#160;dblink&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,375,619&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,576&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.9&amp;#160;&amp;#160;&amp;#160;&amp;#160;Network
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;-------------------------------------------------------------
^LWait&amp;#160;Events&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;DB/Inst:&amp;#160;CRM2DB/crm2db1&amp;#160;&amp;#160;Snaps:&amp;#160;3408-3412
-&amp;#62;&amp;#160;s&amp;#160;&amp;#160;-&amp;#160;second
-&amp;#62;&amp;#160;cs&amp;#160;-&amp;#160;centisecond&amp;#160;-&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;100th&amp;#160;of&amp;#160;a&amp;#160;second
-&amp;#62;&amp;#160;ms&amp;#160;-&amp;#160;millisecond&amp;#160;-&amp;#160;&amp;#160;&amp;#160;&amp;#160;1000th&amp;#160;of&amp;#160;a&amp;#160;second
-&amp;#62;&amp;#160;us&amp;#160;-&amp;#160;microsecond&amp;#160;-&amp;#160;1000000th&amp;#160;of&amp;#160;a&amp;#160;second
-&amp;#62;&amp;#160;ordered&amp;#160;by&amp;#160;wait&amp;#160;time&amp;#160;desc,&amp;#160;waits&amp;#160;desc&amp;#160;(idle&amp;#160;events&amp;#160;last)
-&amp;#62;&amp;#160;%Timeouts:&amp;#160;value&amp;#160;of&amp;#160;0&amp;#160;indicates&amp;#160;value&amp;#160;was&amp;#160;&amp;#60; &amp;#160;.5%.&amp;#160;&amp;#160;Value&amp;#160;of&amp;#160;null&amp;#160;is&amp;#160;truly&amp;#160;0

&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Avg
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;%Time&amp;#160;&amp;#160;Total&amp;#160;Wait&amp;#160;&amp;#160;&amp;#160;&amp;#160;wait&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Waits
Event&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Waits&amp;#160;-outs&amp;#160;&amp;#160;&amp;#160;&amp;#160;Time&amp;#160;(s)&amp;#160;&amp;#160;&amp;#160;&amp;#160;(ms)&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;/txn
----------------------------&amp;#160;--------------&amp;#160;-----&amp;#160;-----------&amp;#160;-------&amp;#160;---------
db&amp;#160;file&amp;#160;sequential&amp;#160;read&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;8,232,067&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;40,956&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;5&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3.7
db&amp;#160;file&amp;#160;scattered&amp;#160;read&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;929,509&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,392&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.4
log&amp;#160;file&amp;#160;sync&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,119,459&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,372&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.0
SQL*Net&amp;#160;message&amp;#160;from&amp;#160;dblink&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,375,619&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,576&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.6
SQL*Net&amp;#160;more&amp;#160;data&amp;#160;from&amp;#160;clien&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,871,442&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,428&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.8
control&amp;#160;file&amp;#160;sequential&amp;#160;read&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3,010,438&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,179&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.4
Backup:&amp;#160;sbtbackup&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;12&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,167&amp;#160;&amp;#160;&amp;#160;97243&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.0
gc&amp;#160;cr&amp;#160;grant&amp;#160;2-way&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3,688,572&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;993&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.7
log&amp;#160;file&amp;#160;parallel&amp;#160;write&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,205,552&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;974&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.0
gc&amp;#160;cr&amp;#160;multi&amp;#160;block&amp;#160;request&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,378,748&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;721&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.1
gc&amp;#160;current&amp;#160;block&amp;#160;2-way&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,941,104&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;693&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.9
SQL*Net&amp;#160;more&amp;#160;data&amp;#160;to&amp;#160;client&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;5,142,664&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;498&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2.3
gc&amp;#160;buffer&amp;#160;busy&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;166,717&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;428&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.1
direct&amp;#160;path&amp;#160;read&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;424,645&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;344&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.2
db&amp;#160;file&amp;#160;parallel&amp;#160;read&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;61,816&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;298&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;5&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.0
enq:&amp;#160;HW&amp;#160;-&amp;#160;contention&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;17,487&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;216&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;12&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.0
db&amp;#160;file&amp;#160;parallel&amp;#160;write&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;221,865&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;210&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.1
Backup:&amp;#160;sbtwrite2&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;36,271&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;145&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;4&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.0
gc&amp;#160;current&amp;#160;grant&amp;#160;2-way&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;445,456&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;115&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.2
enq:&amp;#160;TM&amp;#160;-&amp;#160;contention&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;255&amp;#160;&amp;#160;&amp;#160;&amp;#160;74&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;102&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;400&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.0
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;

在应用调整第2天上午的awr数据（采集时长1小时）：

Load&amp;#160;Profile
~~~~~~~~~~~~&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Per&amp;#160;Second&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Per&amp;#160;Transaction
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;---------------&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;---------------
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Redo&amp;#160;size:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,420,236.58&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;6,734.48
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Logical&amp;#160;reads:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,277,888.60&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3,555.82
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Block&amp;#160;changes:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;164,638.57&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;458.12
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Physical&amp;#160;reads:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,208.59&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3.36
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Physical&amp;#160;writes:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;456.79&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.27
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;User&amp;#160;calls:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;8,785.42&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;24.45
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Parses:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;4,103.35&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;11.42
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Hard&amp;#160;parses:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;12.87&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.04
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Sorts:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;8,052.30&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;22.41
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Logons:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;9.05&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.03
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Executes:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;32,573.41&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;90.64
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Transactions:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;359.38

&amp;#160;&amp;#160;%&amp;#160;Blocks&amp;#160;changed&amp;#160;per&amp;#160;Read:&amp;#160;&amp;#160;&amp;#160;12.88&amp;#160;&amp;#160;&amp;#160;&amp;#160;Recursive&amp;#160;Call&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;&amp;#160;85.01
&amp;#160;Rollback&amp;#160;per&amp;#160;transaction&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.19&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Rows&amp;#160;per&amp;#160;Sort:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;8.74

Instance&amp;#160;Efficiency&amp;#160;Percentages&amp;#160;(Target&amp;#160;100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Buffer&amp;#160;Nowait&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;99.97&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Redo&amp;#160;NoWait&amp;#160;%:&amp;#160;&amp;#160;100.00
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Buffer&amp;#160;&amp;#160;Hit&amp;#160;&amp;#160;&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;99.92&amp;#160;&amp;#160;&amp;#160;&amp;#160;In-memory&amp;#160;Sort&amp;#160;%:&amp;#160;&amp;#160;100.00
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Library&amp;#160;Hit&amp;#160;&amp;#160;&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;99.92&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Soft&amp;#160;Parse&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;99.69
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Execute&amp;#160;to&amp;#160;Parse&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;87.40&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Latch&amp;#160;Hit&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;99.33
Parse&amp;#160;CPU&amp;#160;to&amp;#160;Parse&amp;#160;Elapsd&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;29.94&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;%&amp;#160;Non-Parse&amp;#160;CPU:&amp;#160;&amp;#160;&amp;#160;99.17

&amp;#160;Shared&amp;#160;Pool&amp;#160;Statistics&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Begin&amp;#160;&amp;#160;&amp;#160;&amp;#160;End
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;------&amp;#160;&amp;#160;------
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Memory&amp;#160;Usage&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;95.42&amp;#160;&amp;#160;&amp;#160;95.02
&amp;#160;&amp;#160;&amp;#160;&amp;#160;%&amp;#160;SQL&amp;#160;with&amp;#160;executions&amp;#62;1:&amp;#160;&amp;#160;&amp;#160;61.41&amp;#160;&amp;#160;&amp;#160;72.38
&amp;#160;&amp;#160;%&amp;#160;Memory&amp;#160;for&amp;#160;SQL&amp;#160;w/exec&amp;#62;1:&amp;#160;&amp;#160;&amp;#160;60.04&amp;#160;&amp;#160;&amp;#160;73.07

Top&amp;#160;5&amp;#160;Timed&amp;#160;Events&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Avg&amp;#160;%Total
~~~~~~~~~~~~~~~~~~&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;wait&amp;#160;&amp;#160;&amp;#160;Call
Event&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Waits&amp;#160;&amp;#160;&amp;#160;&amp;#160;Time&amp;#160;(s)&amp;#160;&amp;#160;&amp;#160;(ms)&amp;#160;&amp;#160;&amp;#160;Time&amp;#160;Wait&amp;#160;Class
------------------------------&amp;#160;------------&amp;#160;-----------&amp;#160;------&amp;#160;------&amp;#160;----------
CPU&amp;#160;time&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;69,736&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;56.2
Backup:&amp;#160;sbtwrite2&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,319,231&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;22,510&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;10&amp;#160;&amp;#160;&amp;#160;18.1&amp;#160;Administra
db&amp;#160;file&amp;#160;sequential&amp;#160;read&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3,476,830&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;20,923&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;6&amp;#160;&amp;#160;&amp;#160;16.9&amp;#160;&amp;#160;&amp;#160;User&amp;#160;I/O
latch:&amp;#160;shared&amp;#160;pool&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;159,416&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;9,280&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;58&amp;#160;&amp;#160;&amp;#160;&amp;#160;7.5&amp;#160;Concurrenc
Backup:&amp;#160;sbtbackup&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;28&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,746&amp;#160;&amp;#160;98056&amp;#160;&amp;#160;&amp;#160;&amp;#160;2.2&amp;#160;Administra
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;-------------------------------------------------------------
^LWait&amp;#160;Events&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;DB/Inst:&amp;#160;CRM2DB/crm2db1&amp;#160;&amp;#160;Snaps:&amp;#160;3602-3604
-&amp;#62;&amp;#160;s&amp;#160;&amp;#160;-&amp;#160;second
-&amp;#62;&amp;#160;cs&amp;#160;-&amp;#160;centisecond&amp;#160;-&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;100th&amp;#160;of&amp;#160;a&amp;#160;second
-&amp;#62;&amp;#160;ms&amp;#160;-&amp;#160;millisecond&amp;#160;-&amp;#160;&amp;#160;&amp;#160;&amp;#160;1000th&amp;#160;of&amp;#160;a&amp;#160;second
-&amp;#62;&amp;#160;us&amp;#160;-&amp;#160;microsecond&amp;#160;-&amp;#160;1000000th&amp;#160;of&amp;#160;a&amp;#160;second
-&amp;#62;&amp;#160;ordered&amp;#160;by&amp;#160;wait&amp;#160;time&amp;#160;desc,&amp;#160;waits&amp;#160;desc&amp;#160;(idle&amp;#160;events&amp;#160;last)
-&amp;#62;&amp;#160;%Timeouts:&amp;#160;value&amp;#160;of&amp;#160;0&amp;#160;indicates&amp;#160;value&amp;#160;was&amp;#160;&amp;#60; &amp;#160;.5%.&amp;#160;&amp;#160;Value&amp;#160;of&amp;#160;null&amp;#160;is&amp;#160;truly&amp;#160;0

&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Avg
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;%Time&amp;#160;&amp;#160;Total&amp;#160;Wait&amp;#160;&amp;#160;&amp;#160;&amp;#160;wait&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Waits
Event&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Waits&amp;#160;-outs&amp;#160;&amp;#160;&amp;#160;&amp;#160;Time&amp;#160;(s)&amp;#160;&amp;#160;&amp;#160;&amp;#160;(ms)&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;/txn
----------------------------&amp;#160;--------------&amp;#160;-----&amp;#160;-----------&amp;#160;-------&amp;#160;---------
Backup:&amp;#160;sbtwrite2&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,319,231&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;22,510&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;10&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.8
db&amp;#160;file&amp;#160;sequential&amp;#160;read&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3,476,830&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;20,923&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;6&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2.7
latch:&amp;#160;shared&amp;#160;pool&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;159,416&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;9,280&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;58&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.1
Backup:&amp;#160;sbtbackup&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;28&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,746&amp;#160;&amp;#160;&amp;#160;98056&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.0
log&amp;#160;file&amp;#160;sync&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,283,319&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,538&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.0
gc&amp;#160;buffer&amp;#160;busy&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,088,432&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,324&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.8
latch:&amp;#160;library&amp;#160;cache&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;31,278&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,328&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;42&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.0
control&amp;#160;file&amp;#160;sequential&amp;#160;read&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,512,218&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,082&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.2
log&amp;#160;file&amp;#160;parallel&amp;#160;write&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,157,491&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,045&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.9
SQL*Net&amp;#160;message&amp;#160;from&amp;#160;dblink&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;952,956&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;987&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.7
SQL*Net&amp;#160;more&amp;#160;data&amp;#160;from&amp;#160;clien&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;962,454&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;837&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.7
kst:&amp;#160;async&amp;#160;disk&amp;#160;IO&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;17,574&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;483&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;27&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.0
gc&amp;#160;cr&amp;#160;grant&amp;#160;2-way&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,539,289&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;439&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.2
gc&amp;#160;current&amp;#160;block&amp;#160;2-way&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;946,330&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;353&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.7
direct&amp;#160;path&amp;#160;read&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;291,853&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;313&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.2
db&amp;#160;file&amp;#160;parallel&amp;#160;write&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;261,735&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;298&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.2
read&amp;#160;by&amp;#160;other&amp;#160;session&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;92,451&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;270&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.1
cursor:&amp;#160;pin&amp;#160;S&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;304,676,088&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;233&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;235.1
db&amp;#160;file&amp;#160;scattered&amp;#160;read&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;28,062&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;132&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;5&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.0
enq:&amp;#160;TX&amp;#160;-&amp;#160;row&amp;#160;lock&amp;#160;contentio&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;466&amp;#160;&amp;#160;&amp;#160;&amp;#160;52&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;123&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;263&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.0
direct&amp;#160;path&amp;#160;write&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;227,989&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;113&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.2
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;

从Load profile数据对比来看，应用调整后系统负载有一定的提高，同时每事务逻辑读也有一定的增加（不足10%）。这会是个问题吗？
从第2份数据来看，latch: shared pool 和 latch: library cache有明显的增加。
下面的是性能问题更加严重的时候的AWR数据（采集时长为2小时）：

&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Snap&amp;#160;Id&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Snap&amp;#160;Time&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Sessions&amp;#160;Curs/Sess
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;---------&amp;#160;-------------------&amp;#160;--------&amp;#160;---------
Begin&amp;#160;Snap:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3744&amp;#160;26-Sep-11&amp;#160;09:00:01&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;4,504&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;38.2
&amp;#160;&amp;#160;End&amp;#160;Snap:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3748&amp;#160;26-Sep-11&amp;#160;11:00:26&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;4,916&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;52.7
&amp;#160;&amp;#160;&amp;#160;Elapsed:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;120.41&amp;#160;(mins)
&amp;#160;&amp;#160;&amp;#160;DB&amp;#160;Time:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;21,868.27&amp;#160;(mins)

Cache&amp;#160;Sizes
~~~~~~~~~~~&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Begin&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;End
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;----------&amp;#160;----------
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Buffer&amp;#160;Cache:&amp;#160;&amp;#160;&amp;#160;&amp;#160;35,840M&amp;#160;&amp;#160;&amp;#160;&amp;#160;35,840M&amp;#160;&amp;#160;Std&amp;#160;Block&amp;#160;Size:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;8K
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Shared&amp;#160;Pool&amp;#160;Size:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;6,144M&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;6,144M&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Log&amp;#160;Buffer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;30,632K

Load&amp;#160;Profile
~~~~~~~~~~~~&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Per&amp;#160;Second&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Per&amp;#160;Transaction
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;---------------&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;---------------
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Redo&amp;#160;size:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,790,430.57&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;5,945.33
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Logical&amp;#160;reads:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,162,875.15&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3,861.46
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Block&amp;#160;changes:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;154,064.15&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;511.59
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Physical&amp;#160;reads:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3,007.80&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;9.99
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Physical&amp;#160;writes:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;337.21&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.12
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;User&amp;#160;calls:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;8,227.28&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;27.32
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Parses:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3,603.24&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;11.96
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Hard&amp;#160;parses:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;11.25&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.04
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Sorts:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;7,304.40&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;24.26
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Logons:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;11.27&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.04
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Executes:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;25,994.53&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;86.32
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Transactions:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;301.15

&amp;#160;&amp;#160;%&amp;#160;Blocks&amp;#160;changed&amp;#160;per&amp;#160;Read:&amp;#160;&amp;#160;&amp;#160;13.25&amp;#160;&amp;#160;&amp;#160;&amp;#160;Recursive&amp;#160;Call&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;&amp;#160;82.87
&amp;#160;Rollback&amp;#160;per&amp;#160;transaction&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.21&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Rows&amp;#160;per&amp;#160;Sort:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;8.14

Instance&amp;#160;Efficiency&amp;#160;Percentages&amp;#160;(Target&amp;#160;100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Buffer&amp;#160;Nowait&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;99.99&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Redo&amp;#160;NoWait&amp;#160;%:&amp;#160;&amp;#160;100.00
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Buffer&amp;#160;&amp;#160;Hit&amp;#160;&amp;#160;&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;99.75&amp;#160;&amp;#160;&amp;#160;&amp;#160;In-memory&amp;#160;Sort&amp;#160;%:&amp;#160;&amp;#160;100.00
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Library&amp;#160;Hit&amp;#160;&amp;#160;&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;99.94&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Soft&amp;#160;Parse&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;99.69
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Execute&amp;#160;to&amp;#160;Parse&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;86.14&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Latch&amp;#160;Hit&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;98.90
Parse&amp;#160;CPU&amp;#160;to&amp;#160;Parse&amp;#160;Elapsd&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;14.69&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;%&amp;#160;Non-Parse&amp;#160;CPU:&amp;#160;&amp;#160;&amp;#160;84.51

&amp;#160;Shared&amp;#160;Pool&amp;#160;Statistics&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Begin&amp;#160;&amp;#160;&amp;#160;&amp;#160;End
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;------&amp;#160;&amp;#160;------
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Memory&amp;#160;Usage&amp;#160;%:&amp;#160;&amp;#160;&amp;#160;95.48&amp;#160;&amp;#160;&amp;#160;94.33
&amp;#160;&amp;#160;&amp;#160;&amp;#160;%&amp;#160;SQL&amp;#160;with&amp;#160;executions&amp;#62;1:&amp;#160;&amp;#160;&amp;#160;87.63&amp;#160;&amp;#160;&amp;#160;74.92
&amp;#160;&amp;#160;%&amp;#160;Memory&amp;#160;for&amp;#160;SQL&amp;#160;w/exec&amp;#62;1:&amp;#160;&amp;#160;&amp;#160;86.52&amp;#160;&amp;#160;&amp;#160;74.66

Top&amp;#160;5&amp;#160;Timed&amp;#160;Events&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Avg&amp;#160;%Total
~~~~~~~~~~~~~~~~~~&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;wait&amp;#160;&amp;#160;&amp;#160;Call
Event&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Waits&amp;#160;&amp;#160;&amp;#160;&amp;#160;Time&amp;#160;(s)&amp;#160;&amp;#160;&amp;#160;(ms)&amp;#160;&amp;#160;&amp;#160;Time&amp;#160;Wait&amp;#160;Class
------------------------------&amp;#160;------------&amp;#160;-----------&amp;#160;------&amp;#160;------&amp;#160;----------
latch:&amp;#160;shared&amp;#160;pool&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;991,918&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;274,715&amp;#160;&amp;#160;&amp;#160;&amp;#160;277&amp;#160;&amp;#160;&amp;#160;20.9&amp;#160;Concurrenc
latch:&amp;#160;library&amp;#160;cache&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;941,443&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;232,344&amp;#160;&amp;#160;&amp;#160;&amp;#160;247&amp;#160;&amp;#160;&amp;#160;17.7&amp;#160;Concurrenc
CPU&amp;#160;time&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;212,150&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;16.2
cursor:&amp;#160;pin&amp;#160;S&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;############&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;115,049&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;8.8&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Other
latch:&amp;#160;cache&amp;#160;buffers&amp;#160;lru&amp;#160;chain&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,106,570&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;96,442&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;87&amp;#160;&amp;#160;&amp;#160;&amp;#160;7.4&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Other
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;-------------------------------------------------------------
^LWait&amp;#160;Events&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;DB/Inst:&amp;#160;CRM2DB/crm2db1&amp;#160;&amp;#160;Snaps:&amp;#160;3744-3748
-&amp;#62;&amp;#160;s&amp;#160;&amp;#160;-&amp;#160;second
-&amp;#62;&amp;#160;cs&amp;#160;-&amp;#160;centisecond&amp;#160;-&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;100th&amp;#160;of&amp;#160;a&amp;#160;second
-&amp;#62;&amp;#160;ms&amp;#160;-&amp;#160;millisecond&amp;#160;-&amp;#160;&amp;#160;&amp;#160;&amp;#160;1000th&amp;#160;of&amp;#160;a&amp;#160;second
-&amp;#62;&amp;#160;us&amp;#160;-&amp;#160;microsecond&amp;#160;-&amp;#160;1000000th&amp;#160;of&amp;#160;a&amp;#160;second
-&amp;#62;&amp;#160;ordered&amp;#160;by&amp;#160;wait&amp;#160;time&amp;#160;desc,&amp;#160;waits&amp;#160;desc&amp;#160;(idle&amp;#160;events&amp;#160;last)
-&amp;#62;&amp;#160;%Timeouts:&amp;#160;value&amp;#160;of&amp;#160;0&amp;#160;indicates&amp;#160;value&amp;#160;was&amp;#160;&amp;#60;&amp;#160;.5%.&amp;#160;&amp;#160;Value&amp;#160;of&amp;#160;null&amp;#160;is&amp;#160;truly&amp;#160;0

&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Avg
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;%Time&amp;#160;&amp;#160;Total&amp;#160;Wait&amp;#160;&amp;#160;&amp;#160;&amp;#160;wait&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Waits
Event&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Waits&amp;#160;-outs&amp;#160;&amp;#160;&amp;#160;&amp;#160;Time&amp;#160;(s)&amp;#160;&amp;#160;&amp;#160;&amp;#160;(ms)&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;/txn
----------------------------&amp;#160;--------------&amp;#160;-----&amp;#160;-----------&amp;#160;-------&amp;#160;---------
latch:&amp;#160;shared&amp;#160;pool&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;991,918&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;274,715&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;277&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.5
latch:&amp;#160;library&amp;#160;cache&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;941,443&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;232,344&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;247&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.4
cursor:&amp;#160;pin&amp;#160;S&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;9,095,470,035&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;115,049&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;4,180.5
latch:&amp;#160;cache&amp;#160;buffers&amp;#160;lru&amp;#160;cha&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,106,570&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;96,442&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;87&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.5
db&amp;#160;file&amp;#160;sequential&amp;#160;read&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;7,819,285&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;49,564&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;6&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3.6
latch:&amp;#160;cache&amp;#160;buffers&amp;#160;chains&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;511,936&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;35,753&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;70&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.2
latch&amp;#160;free&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;95,257&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;14,609&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;153&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.0
latch:&amp;#160;object&amp;#160;queue&amp;#160;header&amp;#160;o&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;221,907&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;14,378&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;65&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.1
log&amp;#160;file&amp;#160;sync&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,156,343&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;11,496&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;5&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.0
cursor:&amp;#160;pin&amp;#160;S&amp;#160;wait&amp;#160;on&amp;#160;X&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;422,320&amp;#160;&amp;#160;&amp;#160;100&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;4,603&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;11&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.2
gc&amp;#160;cr&amp;#160;grant&amp;#160;2-way&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3,526,856&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3,430&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.6
db&amp;#160;file&amp;#160;scattered&amp;#160;read&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;624,480&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3,083&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;5&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.3
enq:&amp;#160;TX&amp;#160;-&amp;#160;row&amp;#160;lock&amp;#160;contentio&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;5,946&amp;#160;&amp;#160;&amp;#160;&amp;#160;88&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,600&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;437&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.0
latch:&amp;#160;row&amp;#160;cache&amp;#160;objects&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;16,983&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,281&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;134&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.0
SQL*Net&amp;#160;message&amp;#160;from&amp;#160;dblink&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,284,487&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,179&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.6
gc&amp;#160;buffer&amp;#160;busy&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;353,228&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,054&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;6&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.2
gc&amp;#160;cr&amp;#160;multi&amp;#160;block&amp;#160;request&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,499,709&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,974&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.1
gc&amp;#160;current&amp;#160;block&amp;#160;2-way&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,969,516&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,920&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.9
SQL*Net&amp;#160;more&amp;#160;data&amp;#160;from&amp;#160;clien&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,667,513&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,914&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.8
control&amp;#160;file&amp;#160;sequential&amp;#160;read&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2,974,349&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,735&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.4
db&amp;#160;file&amp;#160;parallel&amp;#160;read&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;230,795&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,645&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;7&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.1
log&amp;#160;file&amp;#160;parallel&amp;#160;write&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,581,432&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,303&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.7
Backup:&amp;#160;sbtbackup&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;14&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;730&amp;#160;&amp;#160;&amp;#160;52120&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.0
buffer&amp;#160;busy&amp;#160;waits&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;143,869&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;488&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.1
latch:&amp;#160;library&amp;#160;cache&amp;#160;lock&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;5,058&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;378&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;75&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.0
enq:&amp;#160;HW&amp;#160;-&amp;#160;contention&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;22,039&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;370&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;17&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.0
gc&amp;#160;current&amp;#160;grant&amp;#160;2-way&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;424,243&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;357&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.2
enq:&amp;#160;SQ&amp;#160;-&amp;#160;contention&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;5,010&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;354&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;71&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.0
read&amp;#160;by&amp;#160;other&amp;#160;session&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;50,153&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;339&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;7&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.0
direct&amp;#160;path&amp;#160;read&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;324,226&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;305&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.1
db&amp;#160;file&amp;#160;parallel&amp;#160;write&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;207,793&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;274&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.1
row&amp;#160;cache&amp;#160;lock&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;175,301&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;263&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.1
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;

从第3份数据来看，性能更为恶化，情形更为复杂。
那么针对这个性能现象，可以提出如下的问题：

最直观的，最容易想到的就是，性能问题的出现是否与应用调整有关，如果是，为什么另一套库没有出现问题？会不会是另一套库的负载在2个节点都有相对均衡的负担，而出问题的库，负载全部集中在1个节点上引起？
客户是在应用调整几天后才报告性能问题，这个问题会不会是一个逐渐出现的问题？如果一开始就有严重的性能问题，那么应该会很快报告。不过中间跨了一个周末，所以对于”逐渐出现问题“的判断又加了一些难度。
这么多的性能问题相关的现象中，哪个更贴近问题的原因？实际上在主机的CPU长期保持在100%左右时，会放大平时的一些轻微的问题，或者引起另一些问题。从等待来看，latch: cache buffers chains和cursor: pin S都会引起CPU的急剧增加，而其他的latch竞争同样也会引起CPU的上升，虽然上升没有前者大。到底是SQL执行效率不高引起CPU急剧增加然后引起了shared pool latch等与解析相关的资源争用还是因为解析相关的问题导致CPU急剧增加引起了cache buffers chains等与SQL执行相关的latch争用？或者是2者的共同作用？

下面首先来分析，会不会是应用调整引起的问题，也就是说，是不是由SQL引起的问题。如果是SQL引起的问题，会有几种可能，1是部分频繁执行的SQL执行效率变差；2是增加了很多的硬解析；3是并发增加或者说是SQL的执行次数有上升。仔细检查对比现在和以前的AWR数据，可以排除第1和2这种可能。至于第3种，可能略有增加，但是不一定跟应用调整有关，毕竟正常情况下业务量的变化也是有可能的。所以应用调整引起问题的可能性较小。
会不会是因为负载过大引起的问题，这个很容易验证。取业务低谷期，比如下班时间的数据，进行分析可以发现，既然在CPU在稍低(75%以下）的时候，仍然有大量的library cache latch的争用。下面是取自周日19:00-20:00的AWR数据（注：本文涉及故障的分析时间是在星期一）：

Top&amp;#160;5&amp;#160;Timed&amp;#160;Events&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Avg&amp;#160;%Total
~~~~~~~~~~~~~~~~~~&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;wait&amp;#160;&amp;#160;&amp;#160;Call
Event&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Waits&amp;#160;&amp;#160;&amp;#160;&amp;#160;Time&amp;#160;(s)&amp;#160;&amp;#160;&amp;#160;(ms)&amp;#160;&amp;#160;&amp;#160;Time&amp;#160;Wait&amp;#160;Class
------------------------------&amp;#160;------------&amp;#160;-----------&amp;#160;------&amp;#160;------&amp;#160;----------
CPU&amp;#160;time&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;49,224&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;48.3
latch:&amp;#160;shared&amp;#160;pool&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;185,951&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;41,178&amp;#160;&amp;#160;&amp;#160;&amp;#160;221&amp;#160;&amp;#160;&amp;#160;40.4&amp;#160;Concurrenc
latch:&amp;#160;library&amp;#160;cache&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;45,636&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;8,861&amp;#160;&amp;#160;&amp;#160;&amp;#160;194&amp;#160;&amp;#160;&amp;#160;&amp;#160;8.7&amp;#160;Concurrenc
db&amp;#160;file&amp;#160;sequential&amp;#160;read&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;815,066&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;4,763&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;6&amp;#160;&amp;#160;&amp;#160;&amp;#160;4.7&amp;#160;&amp;#160;&amp;#160;User&amp;#160;I/O
cursor:&amp;#160;pin&amp;#160;S&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;############&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,732&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.7&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Other
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;-------------------------------------------------------------

&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Avg
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;%Time&amp;#160;&amp;#160;Total&amp;#160;Wait&amp;#160;&amp;#160;&amp;#160;&amp;#160;wait&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Waits
Event&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Waits&amp;#160;-outs&amp;#160;&amp;#160;&amp;#160;&amp;#160;Time&amp;#160;(s)&amp;#160;&amp;#160;&amp;#160;&amp;#160;(ms)&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;/txn
----------------------------&amp;#160;--------------&amp;#160;-----&amp;#160;-----------&amp;#160;-------&amp;#160;---------
latch:&amp;#160;shared&amp;#160;pool&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;185,951&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;41,178&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;221&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.6
latch:&amp;#160;library&amp;#160;cache&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;45,636&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;8,861&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;194&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.2
db&amp;#160;file&amp;#160;sequential&amp;#160;read&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;815,066&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;4,763&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;6&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2.8
cursor:&amp;#160;pin&amp;#160;S&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,890,998,700&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,732&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;6,459.2
latch&amp;#160;free&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;8,549&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,278&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;150&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.0
control&amp;#160;file&amp;#160;sequential&amp;#160;read&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,507,789&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;466&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;5.2
Backup:&amp;#160;sbtbackup&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;7&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;428&amp;#160;&amp;#160;&amp;#160;61096&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.0
log&amp;#160;file&amp;#160;sync&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;285,442&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;309&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.0
SQL*Net&amp;#160;more&amp;#160;data&amp;#160;from&amp;#160;clien&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;145,137&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;221&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.5
db&amp;#160;file&amp;#160;scattered&amp;#160;read&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;67,716&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;173&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.2
gc&amp;#160;buffer&amp;#160;busy&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;56,842&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;135&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.2
gc&amp;#160;cr&amp;#160;grant&amp;#160;2-way&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;359,146&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;99&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.2
SQL*Net&amp;#160;message&amp;#160;from&amp;#160;dblink&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;123,206&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;98&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.4
log&amp;#160;file&amp;#160;parallel&amp;#160;write&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;289,048&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;91&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.0
SQL*Net&amp;#160;more&amp;#160;data&amp;#160;to&amp;#160;client&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,242,471&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;79&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;4.2
gc&amp;#160;current&amp;#160;block&amp;#160;2-way&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;179,654&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;66&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.6
direct&amp;#160;path&amp;#160;read&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;62,336&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;65&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.2
gc&amp;#160;cr&amp;#160;multi&amp;#160;block&amp;#160;request&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;228,693&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;52&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.8
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;

至于性能问题是不是逐渐引起的，这个问题目前并不关键，暂时不考虑。只是做为后面分析问题的一个参考。

再看最后一个问题，这些性能现象中，哪一个更接近问题的原因？幸庆的是，从上面的业务低谷期数据可以看到，这个时候的等待主要是跟解析相关的等待，而其他的latch: cache buffers lru chain等与SQL执行期相关的等待已经不再明显。
所以到此阶段的结论是：性能并不是由于应用调整引起、与负载关系不是太大、主要是与shared pool latch等解析相关的争用有关。
进一步分析上面的数据，其实可以看到latch: shared pool的等待时间占主导地位，同时由于shared pool latch的争用也会一定程度上引起library cache latch的争用（请参考我的另一篇文章《shared pool latch和library cache latch》），所以我们这里主要考虑是什么引起了shared pool latch的争用。另外，cursor: pin S的等待是一个极少出现的等待，一般是由于bug或者高并发地执行同一条SQL引起。那么，cursor: pin [...]&lt;img src=&quot;http://www1.feedsky.com/t1/630491434/laoxiong/feedsky/s.gif?r=http://www.laoxiong.net/resolve-performance-problem-using-library-cache-advice-parameter.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>parameter</category><category>performance</category><category>Oracle Trouble Shooting</category><pubDate>Mon, 03 Oct 2011 01:10:26 +0800</pubDate><author>老熊</author><comments>http://www.laoxiong.net/resolve-performance-problem-using-library-cache-advice-parameter.html#comments</comments><guid isPermaLink="false">http://www.laoxiong.net/?p=857</guid><dc:creator>老熊</dc:creator><fs:srclink>http://www.laoxiong.net/resolve-performance-problem-using-library-cache-advice-parameter.html</fs:srclink><fs:srcfeed>http://www.laoxiong.net/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/laoxiong/~7093197/630491434/5201748</fs:itemid></item><item><title>在存储过程中的clob数据类型</title><link>http://www.laoxiong.net/clob-in-procedure.html</link><content:encoded>&lt;p&gt;客户新上线的一套重要生产系统，某个存储过程每小时调用约11万次，每次调用的逻辑读超过了10000，消耗的CPU占数据库CPU Time的25-30%。很显然，这样一个存储过程是值得优化的。&lt;/p&gt;
&lt;p&gt;不幸的是，这个存储过程的业务逻辑很复杂，光是参数就有9个。而存储过程所在的包其代码超过了1万行。通过复查代码的方式，耗时耗力，还不一定能够找出问题。&lt;/p&gt;
&lt;p&gt;诊断性能问题，首要的是了解这个存储过程所大概要完成的业务功能，然后通过trace或instrument收集足够详细的性能数据。从客户和开发商那里了解到，存在性能问题的存储过程，主要用于系统之间的数据查询接口，根据不同的参数输入查询不同的数据，那么，对于这种小数据量的存储过程，可以考虑使用10046事件来分析是哪些SQL产生了这么多的逻辑读。&lt;/p&gt;
&lt;p&gt;但是通过10046事件，发现存储过程中实际执行的SQL并不多，同时并没有逻辑读高的SQL语句。也许问题并没有出现在SQL语句中，而是出现在存储过程中其他非SQL部分。虽然用10046没有找到SQL语句，但还是有重大发现，在过程执行时，大量的逻辑读来自于current方式的读，这显示不是通常的SELECT语句所产生的。接下来我们用dbms_profiler来分析存储过程：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
select dbms_profiler.start_profiler from dual;
exec intf.CRM_SERVICE_INTF.QueryService(.....);
exec dbms_profiler.stop_profiler;
&lt;/pre&gt;
&lt;p&gt;然后使用来自MOS文档“Implementing and Using the PL/SQL Profiler [ID 243755.1]”中的profiler.sql脚本，生成一个profiler的结果文件，格式为html。下面是部分的内容：&lt;br /&gt;
&lt;img src=&quot;http://www.laoxiong.net/wp-content/uploads/2011/09/profiler1-1024x358.jpg&quot; alt=&quot;profiler1&quot; title=&quot;profiler1&quot; width=&quot;1024&quot; height=&quot;358&quot; class=&quot;alignnone size-large wp-image-843&quot; /&gt;&lt;/p&gt;
&lt;p&gt;点击其显示的代码行(line)，跳转到相应的源代码，发现大量的字符串拼接代码，很明显是用于拼接成XML格式。这很容易理解，因为现在系统之间的文本数据交互，xml几乎成了标准。从上面的截图中也可以看到很多类型于xml:=xml || ‘xxxx’ 这样的代码。是这样的代码引起的问题吗？&lt;/p&gt;
&lt;p&gt;检查代码发现，这里用于拼接字符串的变量xml，被定义为clob类型，这引起了我极大的关注。在oracle的标准数据类型中，lob类型由于其能够存储大数据的本质，导致其内部格式和操作是最复杂的。有理由怀疑是clob的大量拼接引起的问题。&lt;/p&gt;
&lt;p&gt;在有怀疑对象后，我们可以构造下面的测试来进行验证：&lt;/p&gt;
&lt;p&gt;首先创建下面3个不同的存储过程，但是实现的功能是一致的：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
create&amp;nbsp;or&amp;nbsp;replace&amp;nbsp;procedure&amp;nbsp;p1&amp;nbsp;(&amp;nbsp;v_out&amp;nbsp;out&amp;nbsp;clob)
is
&amp;nbsp;&amp;nbsp;v_lob&amp;nbsp;clob;
begin
&amp;nbsp;&amp;nbsp;v_lob:='';
&amp;nbsp;&amp;nbsp;for&amp;nbsp;rec&amp;nbsp;in&amp;nbsp;(select&amp;nbsp;object_name&amp;nbsp;from&amp;nbsp;dba_objects&amp;nbsp;where&amp;nbsp;rownum&lt; =1000)&amp;nbsp;loop
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;v_lob:=v_lob&amp;nbsp;||&amp;nbsp;rec.object_name;
&amp;nbsp;&amp;nbsp;end&amp;nbsp;loop;
&amp;nbsp;&amp;nbsp;v_out:=v_lob;
end;
/

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
create&amp;nbsp;or&amp;nbsp;replace&amp;nbsp;procedure&amp;nbsp;p2&amp;nbsp;(&amp;nbsp;v_out&amp;nbsp;out&amp;nbsp;clob)
is
&amp;nbsp;&amp;nbsp;v_lob&amp;nbsp;varchar2(32767);
begin
&amp;nbsp;&amp;nbsp;v_lob:='';
&amp;nbsp;&amp;nbsp;for&amp;nbsp;rec&amp;nbsp;in&amp;nbsp;(select&amp;nbsp;object_name&amp;nbsp;from&amp;nbsp;dba_objects&amp;nbsp;where&amp;nbsp;rownum&lt;=1000)&amp;nbsp;loop
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;v_lob:=v_lob&amp;nbsp;||&amp;nbsp;rec.object_name;
&amp;nbsp;&amp;nbsp;end&amp;nbsp;loop;
&amp;nbsp;&amp;nbsp;v_out:=v_lob;
end;
/

create&amp;nbsp;or&amp;nbsp;replace&amp;nbsp;procedure&amp;nbsp;p3&amp;nbsp;(&amp;nbsp;v_out&amp;nbsp;out&amp;nbsp;clob)
is
&amp;nbsp;&amp;nbsp;v_lob&amp;nbsp;clob;
&amp;nbsp;&amp;nbsp;v_str&amp;nbsp;varchar2(32767);
&amp;nbsp;&amp;nbsp;v_cnt&amp;nbsp;number;
begin
&amp;nbsp;&amp;nbsp;v_lob:='';
&amp;nbsp;&amp;nbsp;v_cnt:=0;
&amp;nbsp;&amp;nbsp;v_str:='';
&amp;nbsp;&amp;nbsp;for&amp;nbsp;rec&amp;nbsp;in&amp;nbsp;(select&amp;nbsp;object_name&amp;nbsp;from&amp;nbsp;dba_objects&amp;nbsp;where&amp;nbsp;rownum&lt;=1000)&amp;nbsp;loop
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;v_str:=v_str&amp;nbsp;||&amp;nbsp;rec.object_name;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;v_cnt:=v_cnt+1;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;v_cnt&amp;nbsp;=&amp;nbsp;50&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;v_cnt:=0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;v_lob:=v_lob&amp;nbsp;||&amp;nbsp;v_str;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;v_str:='';
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&amp;nbsp;if;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;end&amp;nbsp;loop;
&amp;nbsp;&amp;nbsp;if&amp;nbsp;v_cnt&amp;nbsp;&lt;&gt;0&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;v_lob:=v_lob&amp;nbsp;||&amp;nbsp;v_str;
&amp;nbsp;&amp;nbsp;end&amp;nbsp;if;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;v_out:=v_lob;
end;
/
&lt;/pre&gt;
&lt;p&gt;&lt;span id=&quot;more-838&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;第1个存储过程，P1，完全使用clob类型来拼接字符串；第2个存储过程，P2，使用varchar2类型拼接字符串，只有在过程最后将varchar2转成clob；第3个存储过程，P3，先使用varchar2类型拼接成较长的字符串，然后再用较长的字符串用clob类型来拼接。&lt;/p&gt;
&lt;p&gt;下面看看P1和P2的差距：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;

SQL&amp;gt;&amp;nbsp;var&amp;nbsp;v_lob1&amp;nbsp;clob;
SQL&amp;gt;&amp;nbsp;var&amp;nbsp;v_lob2&amp;nbsp;clob;
SQL&amp;gt;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sys.runstats_pkg.rs_start;
&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p1(:v_lob1);
&amp;nbsp;&amp;nbsp;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sys.runstats_pkg.rs_middle;
&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p2(:v_lob2);
&amp;nbsp;&amp;nbsp;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sys.runstats_pkg.rs_stop;
&amp;nbsp;&amp;nbsp;7&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;8&amp;nbsp;&amp;nbsp;/
Run1&amp;nbsp;ran&amp;nbsp;in&amp;nbsp;5&amp;nbsp;hsecs
Run2&amp;nbsp;ran&amp;nbsp;in&amp;nbsp;0&amp;nbsp;hsecs
run&amp;nbsp;1&amp;nbsp;ran&amp;nbsp;in&amp;nbsp;50000000%&amp;nbsp;of&amp;nbsp;the&amp;nbsp;time

Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Run1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Run2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Diff
STAT...lob&amp;nbsp;reads&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;999&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-999
LATCH.cache&amp;nbsp;buffers&amp;nbsp;lru&amp;nbsp;chain&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-1,000
STAT...free&amp;nbsp;buffer&amp;nbsp;requested&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,012&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-1,003
STAT...lob&amp;nbsp;writes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-1,999
STAT...lob&amp;nbsp;writes&amp;nbsp;unaligned&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-1,999
LATCH.object&amp;nbsp;queue&amp;nbsp;header&amp;nbsp;oper&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,024&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-2,015
STAT...consistent&amp;nbsp;gets&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3,581&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;580&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-3,001
STAT...consistent&amp;nbsp;gets&amp;nbsp;from&amp;nbsp;ca&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3,581&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;580&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-3,001
STAT...consistent&amp;nbsp;changes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5,051&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;42&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-5,009
STAT...db&amp;nbsp;block&amp;nbsp;changes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5,061&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;52&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-5,009
STAT...calls&amp;nbsp;to&amp;nbsp;get&amp;nbsp;snapshot&amp;nbsp;s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7,008&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-6,998
STAT...db&amp;nbsp;block&amp;nbsp;gets&amp;nbsp;from&amp;nbsp;cach&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;14,075&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-14,018
STAT...db&amp;nbsp;block&amp;nbsp;gets&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;14,075&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-14,018
STAT...session&amp;nbsp;logical&amp;nbsp;reads&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;17,656&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;637&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-17,019
LATCH.cache&amp;nbsp;buffers&amp;nbsp;chains&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;46,151&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,083&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-45,068
STAT...session&amp;nbsp;uga&amp;nbsp;memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;138,608&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;15,072&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-123,536
STAT...session&amp;nbsp;uga&amp;nbsp;memory&amp;nbsp;max&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;315,052&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;131,024&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-184,028
STAT...session&amp;nbsp;pga&amp;nbsp;memory&amp;nbsp;max&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;393,216&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;131,072&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-262,144
STAT...session&amp;nbsp;pga&amp;nbsp;memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;393,216&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;65,536&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-327,680

Run1&amp;nbsp;latches&amp;nbsp;total&amp;nbsp;versus&amp;nbsp;runs&amp;nbsp;--&amp;nbsp;difference&amp;nbsp;and&amp;nbsp;pct
Run1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Run2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Diff&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Pct
49,789&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,674&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-48,115&amp;nbsp;&amp;nbsp;2,974.25%

PL/SQL&amp;nbsp;过程已成功完成。
&lt;/pre&gt;
&lt;p&gt;从上面的数据来看，差距是巨大的，执行P1时产生的一致性读(consistent gets)和当前模式读(db block gets)，都远远大于执行P2时产生的一致读和当前模式读。特别是大量的db block gets验证了之前使用10046事件跟踪存储过程执行得到的结果。上面的数据中，甚至是会话消耗的内存都有很明显的差异。同时，还有其他对性能显著影响的地方，cache buffers chains latch，cache buffers lru chain latch，object queue header operation latch，这3种latch的获取次数是相当多的，在大并发时无疑将引起争用。实际上，在客户的这套系统中，这3种latch的争用经常出现，只是目前还没形成特别严重的后果。&lt;/p&gt;
&lt;p&gt;再看看P1和P3的差异：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;

SQL&amp;gt;&amp;nbsp;var&amp;nbsp;v_lob1&amp;nbsp;clob;
SQL&amp;gt;&amp;nbsp;var&amp;nbsp;v_lob2&amp;nbsp;clob;
SQL&amp;gt;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sys.runstats_pkg.rs_start;
&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p1(:v_lob1);
&amp;nbsp;&amp;nbsp;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sys.runstats_pkg.rs_middle;
&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p3(:v_lob2);
&amp;nbsp;&amp;nbsp;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sys.runstats_pkg.rs_stop;
&amp;nbsp;&amp;nbsp;7&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;8&amp;nbsp;&amp;nbsp;/
Run1&amp;nbsp;ran&amp;nbsp;in&amp;nbsp;7&amp;nbsp;hsecs
Run2&amp;nbsp;ran&amp;nbsp;in&amp;nbsp;2&amp;nbsp;hsecs
run&amp;nbsp;1&amp;nbsp;ran&amp;nbsp;in&amp;nbsp;350%&amp;nbsp;of&amp;nbsp;the&amp;nbsp;time

Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Run1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Run2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Diff
STAT...lob&amp;nbsp;reads&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;999&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;19&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-980
LATCH.cache&amp;nbsp;buffers&amp;nbsp;lru&amp;nbsp;chain&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,002&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-982
STAT...free&amp;nbsp;buffer&amp;nbsp;requested&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,012&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;29&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-983
STAT...lob&amp;nbsp;writes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;40&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-1,960
STAT...lob&amp;nbsp;writes&amp;nbsp;unaligned&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;40&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-1,960
LATCH.object&amp;nbsp;queue&amp;nbsp;header&amp;nbsp;oper&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,016&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;49&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-1,967
STAT...consistent&amp;nbsp;gets&amp;nbsp;from&amp;nbsp;ca&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3,579&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;639&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-2,940
STAT...consistent&amp;nbsp;gets&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3,579&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;639&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-2,940
STAT...consistent&amp;nbsp;changes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5,051&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;143&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-4,908
STAT...db&amp;nbsp;block&amp;nbsp;changes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5,061&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;153&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-4,908
STAT...calls&amp;nbsp;to&amp;nbsp;get&amp;nbsp;snapshot&amp;nbsp;s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7,007&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;146&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-6,861
STAT...db&amp;nbsp;block&amp;nbsp;gets&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;14,075&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;346&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-13,729
STAT...db&amp;nbsp;block&amp;nbsp;gets&amp;nbsp;from&amp;nbsp;cach&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;14,075&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;346&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-13,729
STAT...session&amp;nbsp;logical&amp;nbsp;reads&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;17,654&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;985&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-16,669
LATCH.cache&amp;nbsp;buffers&amp;nbsp;chains&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;46,147&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,999&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-44,148
STAT...session&amp;nbsp;uga&amp;nbsp;memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;189,012&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;65,464&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-123,548
STAT...session&amp;nbsp;pga&amp;nbsp;memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;196,608&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;65,536&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-131,072
STAT...session&amp;nbsp;pga&amp;nbsp;memory&amp;nbsp;max&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;262,144&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;65,536&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-196,608
STAT...session&amp;nbsp;uga&amp;nbsp;memory&amp;nbsp;max&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;315,052&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;65,560&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-249,492

Run1&amp;nbsp;latches&amp;nbsp;total&amp;nbsp;versus&amp;nbsp;runs&amp;nbsp;--&amp;nbsp;difference&amp;nbsp;and&amp;nbsp;pct
Run1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Run2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Diff&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Pct
49,380&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,264&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-47,116&amp;nbsp;&amp;nbsp;2,181.10%
&lt;/pre&gt;
&lt;p&gt;二者的差异同样很明显。&lt;/p&gt;
&lt;p&gt;不仅如此，在存储过程中，执行P1过程之后，甚至在临时表空间中产生了临时段，而这个临时段是不会自动清除的，经测试，即使没有用于返回结果的clob参数，在过程内部生成的clob所占的临时段也不会自动清除，只有会话退出才会清除掉。如果更深入跟踪，也许可以发现大量的逻辑读来源于这个临时段。&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
SQL&amp;gt; select tablespace,contents,segtype,blocks from v$sort_usage;

TABLESPACE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CONTENTS&amp;nbsp;&amp;nbsp;SEGTYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BLOCKS
-------------------------------&amp;nbsp;---------&amp;nbsp;---------&amp;nbsp;----------
TEMP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TEMPORARY&amp;nbsp;LOB_DATA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;128
&lt;/pre&gt;
&lt;p&gt;通过验证，证明clob类型的数据的确是引起客户系统中存储过程大量逻辑读和Latch争用的原因，找到了这个原因，优化就相对简单了。&lt;/p&gt;
&lt;p&gt;在PL/SQL存储过程中，clob是相当方便的一种数据类型，由于其能够存储超长字符数据的特性，使得在这种用于数据交换的存储过程中用得较多。然而，从上面的数据中，不难发现，如果大量使用clob运算，将普通的字符串拼接成clob，其CPU消耗、逻辑读、甚至是latch的获取都是非常高的，对性能影响非常大。实际上在10g中，存储过程中的varchar2类型，其长度最大可以达到32767，所以如果返回的结果确保不超过这个长度，完全可以使用varchar2类型，只是在返回时再转换为clob，正如上面的存储过程P2所做的那样。如果其长度超过了32767，也可以如存储过程P3一样，先将短小的字符串拼接成较大的字符串，然后将较大的字符串拼接到clob中。&lt;/p&gt;
&lt;div id=&quot;crp_related&quot;&gt; &lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/630491435/laoxiong/feedsky/s.gif?r=http://www.laoxiong.net/clob-in-procedure.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.laoxiong.net/clob-in-procedure.html/feed</wfw:commentRss><description>客户新上线的一套重要生产系统，某个存储过程每小时调用约11万次，每次调用的逻辑读超过了10000，消耗的CPU占数据库CPU Time的25-30%。很显然，这样一个存储过程是值得优化的。
不幸的是，这个存储过程的业务逻辑很复杂，光是参数就有9个。而存储过程所在的包其代码超过了1万行。通过复查代码的方式，耗时耗力，还不一定能够找出问题。
诊断性能问题，首要的是了解这个存储过程所大概要完成的业务功能，然后通过trace或instrument收集足够详细的性能数据。从客户和开发商那里了解到，存在性能问题的存储过程，主要用于系统之间的数据查询接口，根据不同的参数输入查询不同的数据，那么，对于这种小数据量的存储过程，可以考虑使用10046事件来分析是哪些SQL产生了这么多的逻辑读。
但是通过10046事件，发现存储过程中实际执行的SQL并不多，同时并没有逻辑读高的SQL语句。也许问题并没有出现在SQL语句中，而是出现在存储过程中其他非SQL部分。虽然用10046没有找到SQL语句，但还是有重大发现，在过程执行时，大量的逻辑读来自于current方式的读，这显示不是通常的SELECT语句所产生的。接下来我们用dbms_profiler来分析存储过程：

select dbms_profiler.start_profiler from dual;
exec intf.CRM_SERVICE_INTF.QueryService(.....);
exec dbms_profiler.stop_profiler;

然后使用来自MOS文档“Implementing and Using the PL/SQL Profiler [ID 243755.1]”中的profiler.sql脚本，生成一个profiler的结果文件，格式为html。下面是部分的内容：

点击其显示的代码行(line)，跳转到相应的源代码，发现大量的字符串拼接代码，很明显是用于拼接成XML格式。这很容易理解，因为现在系统之间的文本数据交互，xml几乎成了标准。从上面的截图中也可以看到很多类型于xml:=xml &amp;#124;&amp;#124; ‘xxxx’ 这样的代码。是这样的代码引起的问题吗？
检查代码发现，这里用于拼接字符串的变量xml，被定义为clob类型，这引起了我极大的关注。在oracle的标准数据类型中，lob类型由于其能够存储大数据的本质，导致其内部格式和操作是最复杂的。有理由怀疑是clob的大量拼接引起的问题。
在有怀疑对象后，我们可以构造下面的测试来进行验证：
首先创建下面3个不同的存储过程，但是实现的功能是一致的：

create&amp;#160;or&amp;#160;replace&amp;#160;procedure&amp;#160;p1&amp;#160;(&amp;#160;v_out&amp;#160;out&amp;#160;clob)
is
&amp;#160;&amp;#160;v_lob&amp;#160;clob;
begin
&amp;#160;&amp;#160;v_lob:='';
&amp;#160;&amp;#160;for&amp;#160;rec&amp;#160;in&amp;#160;(select&amp;#160;object_name&amp;#160;from&amp;#160;dba_objects&amp;#160;where&amp;#160;rownum&lt; =1000)&amp;#160;loop
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;v_lob:=v_lob&amp;#160;&amp;#124;&amp;#124;&amp;#160;rec.object_name;
&amp;#160;&amp;#160;end&amp;#160;loop;
&amp;#160;&amp;#160;v_out:=v_lob;
end;
/

&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;
create&amp;#160;or&amp;#160;replace&amp;#160;procedure&amp;#160;p2&amp;#160;(&amp;#160;v_out&amp;#160;out&amp;#160;clob)
is
&amp;#160;&amp;#160;v_lob&amp;#160;varchar2(32767);
begin
&amp;#160;&amp;#160;v_lob:='';
&amp;#160;&amp;#160;for&amp;#160;rec&amp;#160;in&amp;#160;(select&amp;#160;object_name&amp;#160;from&amp;#160;dba_objects&amp;#160;where&amp;#160;rownum&lt;img src=&quot;http://www1.feedsky.com/t1/630491435/laoxiong/feedsky/s.gif?r=http://www.laoxiong.net/clob-in-procedure.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>Oracle性能优化</category><category>performance</category><pubDate>Wed, 28 Sep 2011 23:24:51 +0800</pubDate><author>老熊</author><comments>http://www.laoxiong.net/clob-in-procedure.html#comments</comments><guid isPermaLink="false">http://www.laoxiong.net/?p=838</guid><dc:creator>老熊</dc:creator><fs:srclink>http://www.laoxiong.net/clob-in-procedure.html</fs:srclink><fs:srcfeed>http://www.laoxiong.net/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/laoxiong/~7093197/630491435/5201748</fs:itemid></item><item><title>Hint的常见错误使用方式</title><link>http://www.laoxiong.net/common-incorrect-using-hints.html</link><content:encoded>&lt;p&gt;提起Oracle数据库的Hint，几乎每一个DBA都知道这一强大工具。在Oracle中，Hint可以用来改变SQL的执行计划、固定SQL的执行计划。Oracle数据库内部的很多特性也依赖于Hint，比如Outline、Profile等。&lt;/p&gt;
&lt;p&gt;但是在日常工作中，很多开发人员或DBA，对Hint的使用仍然存在一些错误的方式。下面将列举主要的2种。（本文不讨论Hint的滥用即过度使用问题）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. NOLOGGING的不正确使用。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;很多人知道，在进行数据处理时，如果不产生日志或只产生少量的日志，将会有明显的、甚至是巨大的效率提升。下面有几条不同的SQL：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
INSERT INTO T1 NOLOGGING;
INSERT INTO T1 SELECT * FROM T2 NOLOGGING;
INSERT /*+ NOLOGGING */ INTO T1 VALUES ('0');
INSERT /*+ NOLOGGING */ INTO T1 SELECT * FROM T2;
DELETE /*+ NOLOGGING */ FROM T1;
UPDATE /*+ NOLOGGING */ T1 SET A='1';
&lt;/pre&gt;
&lt;p&gt;实际上，上述所有的SQL没有一个能够实现“不产生”日志的数据更改操作。第1-2条SQL语句虽然没有将NOLOGGING写为Hint的形式，但是也是很多人的错误写法，一并列在此处。事实上，NOLOGGING并不是Oracle的一个有效的Hint，而是一个SQL关键字，通常用于DDL语句中。这里NOLOGGING相当于给SELECT的表指定了一个别名为“NOLOGGING”。下面是NOLOGGING的一些正确用法：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
CREATE TABLE T1 NOLOGGING AS SELECT * FROM T2;
CREATE INDEX T1_IDX ON T1(A) NOLOGGING;
ALTER INDEX T1_IDX REDUILD ONLINE NOLOGGING;
ALTER TABLE T1 NOLOGGING;
&lt;/pre&gt;
&lt;p&gt;上述SQL中，最后一条SQL只是将表的LOGGING属性改为&amp;#8221;NO&amp;#8221;。而之前的几条SQL能够有效地减少DDL操作时减少的日志量。&lt;/p&gt;
&lt;p&gt;在DML操作中，只有下面一种方式能够在大数据量时仍然只会产生极少量的日志：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
INSERT /*+ APPEND */ INTO T1 SELECT * FROM T2;
&lt;/pre&gt;
&lt;p&gt;也就是使用append hint。但是这个hint要达到目的，需要以下几个条件：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;使用INSERT /*+ APPEND */ INTO .. SELECT .. FROM形式的INSERT SQL。&lt;/li&gt;
&lt;li&gt;如果是在归档模式下，需要将表的LOGGING属性置为NO。&lt;/li&gt;
&lt;li&gt;表空间或数据库的FORCE LOGGING属性为NO。注意在非归档模式下也是可以设置FORCE LOGGING的。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这里提到的insert语句中的append hint，对于索引，仍然会产生日志，也就是说append hint对索引是没有效果的。&lt;br /&gt;
另外，DDL中使用的nologging关键字和inset语句中使用的append hint，并不是说完全不产生日志，只是对表的数据块的数据部分的更改不会有日志产生，但是SQL执行过程中数据字典的更改、空间分配等递归SQL、段头和位图块的更改、将数据块标记为unrecoverable等仍然会产生少量日志。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Hint的不正确写法。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这是一个比较不容易发现的问题。下面几条SQL，哪一条SQL的append hint会生效：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
1. INSERT /*+ append,parallel(t1) */ INTO T1 SELECT * FROM T2;
2. INSERT /*+ parallel(t1), append */ INTO T1 SELECT * FROM T2;
3. INSERT /*+ this is append */ INTO T1 SELECT * FROM T2;
4. INSERT /*+ this append */ INTO T1 SELECT * FROM T2;
&lt;/pre&gt;
&lt;p&gt;要回答这个问题，请先看下面的测试（测试环境：10.2.0.1 for Windows）：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
SQL&amp;gt; INSERT /*+ append,parallel(t1) */ INTO T1 SELECT * FROM T2;
已创建55640行。
统计信息
----------------------------------------------------------
      12304  redo size
SQL&amp;gt; COMMIT;

SQL&amp;gt; INSERT /*+ parallel(t1), append */ INTO T1 SELECT * FROM T2;
已创建55640行。
统计信息
----------------------------------------------------------
    5739584  redo size
SQL&amp;gt; COMMIT;

SQL&amp;gt; INSERT /*+ this is append */ INTO T1 SELECT * FROM T2;
已创建55640行。
统计信息
----------------------------------------------------------
    5746604  redo size
SQL&amp;gt; COMMIT;

SQL&amp;gt; INSERT /*+ this append */ INTO T1 SELECT * FROM T2;
已创建55640行。
统计信息
----------------------------------------------------------
      12052  redo size
SQL&amp;gt; COMMIT;
&lt;/pre&gt;
&lt;p&gt;从上面的输出可以看到，通过insert语句执行产生的redo size判断，4条SQL语句中，1和4这2条SQL中的append hint起了作用，而2和3这2条SQL中的append hint没有起作用。我们看看第1和第2条SQL，只不过是parallel和append换了个位置，结果就截然不同；而第3和第4条SQL，只是一个多了&amp;#8221;is&amp;#8221;这个词，另一个没有，其结果也完全不同。这里有什么玄机吗？&lt;/p&gt;
&lt;p&gt;这里就需要了解Oracle在解析SQL时，是怎样解析hint的。&lt;br /&gt;
Oracle在解析hint，从左到右进行，如果遇到一个词是oracle关键字或者说是保留字，将忽略这个词以及之后的所有词。如果遇到的一个词即不是关键字也不是hint，就忽略该词。如果遇到的一个词是有效的hint，那么就会保留该hint。&lt;/p&gt;
&lt;p&gt;Oracle的保留字或者说是关键词（虽然二者在意义不一样，但这里不将其区分），可以通过视图v$reserved_words来查询。&amp;#8221;is&amp;#8221;正是一个关键词，甚至连&amp;#8221;,&amp;#8221;（逗号）也是一个关键词。这样，上面的第2和第3条SQL，Oracle解析时当遇到&amp;#8221;,&amp;#8221;和&amp;#8221;is&amp;#8221;时，就忽略了后面的所有hint。在第4条SQL中，this并不是一个关键词，所以append hint有效。基于这个原理，下面的一条SQL中的hint也是不起作用的：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
INSERT /*+ NOLOGGING APPEND */ INTO T1 SELECT * FROM T2;
&lt;/pre&gt;
&lt;p&gt;在9.2.0.8和11.2.0.2这2个版本下进行同样的测试，结果完全一样。&lt;br /&gt;
为了避免这样的情况，在SQL中书写hint时，在&lt;strong&gt;/*+ */&lt;/strong&gt;和&lt;strong&gt;--+&lt;/strong&gt;这2种结构内只写hint，而不要写逗号，或者是其他的注释。如果要对SQL写注释，在专门的注释结构中写入。比如&lt;strong&gt;/* test comment */&lt;/strong&gt;。如果与hint混写注释，虽然当时没有关键词在里面，但随着版本升级，很可能会加入新的关键词。&lt;/p&gt;
&lt;p&gt;另外，一些很常见的hint形式，比如&lt;strong&gt;/*+ parallel(t,8) */，/*+ index(t,t_idx) */&lt;/strong&gt;，虽然当前没有问题，但标准的写法应该是：&lt;br /&gt;
&lt;strong&gt;/*+ parallel(t 8) */，/*+ index(t t_idx) */&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;--end end.&lt;/p&gt;
&lt;div id=&quot;crp_related&quot;&gt; &lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/630491436/laoxiong/feedsky/s.gif?r=http://www.laoxiong.net/common-incorrect-using-hints.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.laoxiong.net/common-incorrect-using-hints.html/feed</wfw:commentRss><description>提起Oracle数据库的Hint，几乎每一个DBA都知道这一强大工具。在Oracle中，Hint可以用来改变SQL的执行计划、固定SQL的执行计划。Oracle数据库内部的很多特性也依赖于Hint，比如Outline、Profile等。
但是在日常工作中，很多开发人员或DBA，对Hint的使用仍然存在一些错误的方式。下面将列举主要的2种。（本文不讨论Hint的滥用即过度使用问题）。
1. NOLOGGING的不正确使用。
很多人知道，在进行数据处理时，如果不产生日志或只产生少量的日志，将会有明显的、甚至是巨大的效率提升。下面有几条不同的SQL：

INSERT INTO T1 NOLOGGING;
INSERT INTO T1 SELECT * FROM T2 NOLOGGING;
INSERT /*+ NOLOGGING */ INTO T1 VALUES ('0');
INSERT /*+ NOLOGGING */ INTO T1 SELECT * FROM T2;
DELETE /*+ NOLOGGING */ FROM T1;
UPDATE /*+ NOLOGGING */ T1 SET A='1';

实际上，上述所有的SQL没有一个能够实现“不产生”日志的数据更改操作。第1-2条SQL语句虽然没有将NOLOGGING写为Hint的形式，但是也是很多人的错误写法，一并列在此处。事实上，NOLOGGING并不是Oracle的一个有效的Hint，而是一个SQL关键字，通常用于DDL语句中。这里NOLOGGING相当于给SELECT的表指定了一个别名为“NOLOGGING”。下面是NOLOGGING的一些正确用法：

CREATE TABLE T1 NOLOGGING AS SELECT * FROM T2;
CREATE INDEX T1_IDX ON T1(A) NOLOGGING;
ALTER INDEX T1_IDX REDUILD [...]&lt;img src=&quot;http://www1.feedsky.com/t1/630491436/laoxiong/feedsky/s.gif?r=http://www.laoxiong.net/common-incorrect-using-hints.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>hint</category><category>Oracle性能优化</category><pubDate>Fri, 09 Sep 2011 00:14:01 +0800</pubDate><author>老熊</author><comments>http://www.laoxiong.net/common-incorrect-using-hints.html#comments</comments><guid isPermaLink="false">http://www.laoxiong.net/?p=819</guid><dc:creator>老熊</dc:creator><fs:srclink>http://www.laoxiong.net/common-incorrect-using-hints.html</fs:srclink><fs:srcfeed>http://www.laoxiong.net/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/laoxiong/~7093197/630491436/5201748</fs:itemid></item><item><title>DRM引起的问题解决一例</title><link>http://www.laoxiong.net/problem-caused-by-drm.html</link><content:encoded>&lt;p&gt;客户一套运行在Oracle 10.2.0.5 RAC上的系统，间歇性地出现性能问题。其性能现象为前台反映性能缓慢，从系统上看CPU利用率大幅增加，load增加。这种性能问题通常在出现几分钟后自动恢复正常。&lt;/p&gt;
&lt;p&gt;从AWR中的TOP 5等待来看：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
Top&amp;nbsp;5&amp;nbsp;Timed&amp;nbsp;Events&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Avg&amp;nbsp;%Total
~~~~~~~~~~~~~~~~~~&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wait&amp;nbsp;&amp;nbsp;&amp;nbsp;Call
Event&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Waits&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Time&amp;nbsp;(s)&amp;nbsp;&amp;nbsp;&amp;nbsp;(ms)&amp;nbsp;&amp;nbsp;&amp;nbsp;Time&amp;nbsp;Wait&amp;nbsp;Class
------------------------------&amp;nbsp;------------&amp;nbsp;-----------&amp;nbsp;------&amp;nbsp;------&amp;nbsp;----------
latch:&amp;nbsp;cache&amp;nbsp;buffers&amp;nbsp;lru&amp;nbsp;chain&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;774,812&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;140,185&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;181&amp;nbsp;&amp;nbsp;&amp;nbsp;29.7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Other
gc&amp;nbsp;buffer&amp;nbsp;busy&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,356,786&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61,708&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;45&amp;nbsp;&amp;nbsp;&amp;nbsp;13.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Cluster
latch:&amp;nbsp;object&amp;nbsp;queue&amp;nbsp;header&amp;nbsp;ope&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;903,456&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;55,089&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61&amp;nbsp;&amp;nbsp;&amp;nbsp;11.7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Other
latch:&amp;nbsp;cache&amp;nbsp;buffers&amp;nbsp;chains&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;360,522&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;49,016&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;136&amp;nbsp;&amp;nbsp;&amp;nbsp;10.4&amp;nbsp;Concurrenc
gc&amp;nbsp;current&amp;nbsp;grant&amp;nbsp;busy&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;112,970&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;19,893&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;176&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Cluster
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-------------------------------------------------------------
&lt;/pre&gt;
&lt;p&gt;可以看到，TOP 5中，有3个是latch相关的等待，而另外2个则是跟RAC相关的等待。&lt;br /&gt;
如果再查看更细的等待数据，可以发现其他问题：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Avg
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;%Time&amp;nbsp;&amp;nbsp;Total&amp;nbsp;Wait&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wait&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Waits
Event&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Waits&amp;nbsp;-outs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Time&amp;nbsp;(s)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(ms)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/txn
----------------------------&amp;nbsp;--------------&amp;nbsp;-----&amp;nbsp;-----------&amp;nbsp;-------&amp;nbsp;---------
latch:&amp;nbsp;cache&amp;nbsp;buffers&amp;nbsp;lru&amp;nbsp;cha&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;774,812&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;140,185&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;181&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.9
gc&amp;nbsp;buffer&amp;nbsp;busy&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,356,786&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61,708&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.3
latch:&amp;nbsp;object&amp;nbsp;queue&amp;nbsp;header&amp;nbsp;o&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;903,456&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;55,089&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;61&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.2
latch:&amp;nbsp;cache&amp;nbsp;buffers&amp;nbsp;chains&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;360,522&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;49,016&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;136&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.9
gc&amp;nbsp;current&amp;nbsp;grant&amp;nbsp;busy&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;112,970&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;19,893&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;176&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.3
gcs&amp;nbsp;drm&amp;nbsp;freeze&amp;nbsp;in&amp;nbsp;enter&amp;nbsp;serv&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;38,442&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;97&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;18,537&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;482&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.1
gc&amp;nbsp;cr&amp;nbsp;block&amp;nbsp;2-way&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,626,280&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;15,742&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.9
gc&amp;nbsp;remaster&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6,741&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;89&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;12,397&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1839&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
row&amp;nbsp;cache&amp;nbsp;lock&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;52,143&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9,834&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;189&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.1
&lt;/pre&gt;
&lt;p&gt;从上面的数据还可以看到，除了TOP 5等待，还有&amp;#8221;gcs drm freeze in enter server mode“以及&amp;#8221;gc remaster&amp;#8221;这2种比较少见的等待事件，从其名称来看，明显与DRM有关。那么这2种等待事件与TOP 5的事件有没有什么关联？。MOS文档&amp;#8221;Bug 6960699 - &amp;#8220;latch: cache buffers chains&amp;#8221; contention/ORA-481/kjfcdrmrfg: SYNC TIMEOUT/ OERI[kjbldrmrpst:!master] [ID 6960699.8]”提及，DRM的确可能会引起大量的&amp;#8221;latch: cache buffers chains&amp;#8221;、&amp;#8221;latch: object queue header operation&amp;#8221;等待，虽然文档没有提及，但不排除会引起”latch: cache buffers lru chain“这样的等待。&lt;/p&gt;
&lt;p&gt;为了进一步证实性能问题与DRM相关，使用tail -f命令监控LMD后台进程的trace文件。在trace文件中显示开始进行DRM时，查询v$session视图，发现大量的 &amp;#8220;latch: cache buffers chains&amp;#8221; 、&amp;#8221;latch: object queue header operation&amp;#8221;等待事件，同时有&amp;#8221;gcs drm freeze in enter server mode“和&amp;#8221;gc remaster&amp;#8221;等待事件，同时系统负载升高，前台反映性能下降。而在DRM完成之后，这些等待消失，系统性能恢复到正常。&lt;/p&gt;
&lt;p&gt;看起来，只需要关闭DRM就能避免这个问题。怎么样来关闭/禁止DRM呢？很多MOS文档提到的方法是设置2个隐含参数：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
_gc_affinity_time=0
_gc_undo_affinity=FALSE
&lt;/pre&gt;
&lt;p&gt;不幸的是，这2个参数是静态参数，也就是说必须要重启实例才能生效。&lt;br /&gt;
实际上可以设置另外2个动态的隐含参数，来达到这个目的。按下面的值设置这2个参数之后，不能完全算是禁止/关闭了DRM，而是从”事实上“关闭了DRM。&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
_gc_affinity_limit=250
_gc_affinity_minimum=10485760
&lt;/pre&gt;
&lt;p&gt;甚至可以将以上2个参数值设置得更大。这2个参数是立即生效的，在所有的节点上设置这2个参数之后，系统不再进行DRM，经常一段时间的观察，本文描述的性能问题也不再出现。&lt;/p&gt;
&lt;p&gt;下面是关闭DRM之后的等待事件数据：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
Top&amp;nbsp;5&amp;nbsp;Timed&amp;nbsp;Events&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Avg&amp;nbsp;%Total
~~~~~~~~~~~~~~~~~~&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wait&amp;nbsp;&amp;nbsp;&amp;nbsp;Call
Event&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Waits&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Time&amp;nbsp;(s)&amp;nbsp;&amp;nbsp;&amp;nbsp;(ms)&amp;nbsp;&amp;nbsp;&amp;nbsp;Time&amp;nbsp;Wait&amp;nbsp;Class
------------------------------&amp;nbsp;------------&amp;nbsp;-----------&amp;nbsp;------&amp;nbsp;------&amp;nbsp;----------
CPU&amp;nbsp;time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;15,684&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;67.5
db&amp;nbsp;file&amp;nbsp;sequential&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,138,905&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5,212&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;22.4&amp;nbsp;&amp;nbsp;&amp;nbsp;User&amp;nbsp;I/O
gc&amp;nbsp;cr&amp;nbsp;block&amp;nbsp;2-way&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;780,224&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;285&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Cluster
log&amp;nbsp;file&amp;nbsp;sync&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;246,580&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;246&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Commit
SQL*Net&amp;nbsp;more&amp;nbsp;data&amp;nbsp;from&amp;nbsp;client&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;296,657&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;236&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Network
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-------------------------------------------------------------

                                                                  Avg
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;%Time&amp;nbsp;&amp;nbsp;Total&amp;nbsp;Wait&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wait&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Waits
Event&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Waits&amp;nbsp;-outs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Time&amp;nbsp;(s)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(ms)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/txn
----------------------------&amp;nbsp;--------------&amp;nbsp;-----&amp;nbsp;-----------&amp;nbsp;-------&amp;nbsp;---------
db&amp;nbsp;file&amp;nbsp;sequential&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,138,905&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5,212&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.8
gc&amp;nbsp;cr&amp;nbsp;block&amp;nbsp;2-way&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;780,224&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;285&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.6
log&amp;nbsp;file&amp;nbsp;sync&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;246,580&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;246&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.8
SQL*Net&amp;nbsp;more&amp;nbsp;data&amp;nbsp;from&amp;nbsp;clien&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;296,657&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;236&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.0
SQL*Net&amp;nbsp;message&amp;nbsp;from&amp;nbsp;dblink&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;98,833&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;218&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.3
gc&amp;nbsp;current&amp;nbsp;block&amp;nbsp;2-way&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;593,133&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;218&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.0
gc&amp;nbsp;cr&amp;nbsp;grant&amp;nbsp;2-way&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;530,507&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;154&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.8
db&amp;nbsp;file&amp;nbsp;scattered&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;54,446&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;151&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.2
kst:&amp;nbsp;async&amp;nbsp;disk&amp;nbsp;IO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6,502&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;107&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
gc&amp;nbsp;cr&amp;nbsp;multi&amp;nbsp;block&amp;nbsp;request&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;601,927&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;105&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.0
SQL*Net&amp;nbsp;more&amp;nbsp;data&amp;nbsp;to&amp;nbsp;client&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,336,225&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;91&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.5
log&amp;nbsp;file&amp;nbsp;parallel&amp;nbsp;write&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;306,331&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;83&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.0
gc&amp;nbsp;current&amp;nbsp;block&amp;nbsp;busy&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6,298&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;72&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
Backup:&amp;nbsp;sbtwrite2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4,076&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;63&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.0
gc&amp;nbsp;buffer&amp;nbsp;busy&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;17,677&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;54&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.1
gc&amp;nbsp;current&amp;nbsp;grant&amp;nbsp;busy&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;75,075&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;54&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.3
direct&amp;nbsp;path&amp;nbsp;read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;49,246&amp;nbsp;&amp;nbsp;&amp;nbsp;N/A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;38&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.2
&lt;/pre&gt;
&lt;p&gt;那么，这里不得不提的是，什么是DRM？DRM对系统来说有什么好处？本文不再详述，因为下面的2篇文档已经描述得比较清楚，有兴趣的朋友可以参考：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MOS文档：DRM - Dynamic Resource management [ID 390483.1]&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.orainternals.com/investigations/Dynamic_remastering_RAC_orainternals.pdf&quot;&gt;Object Remastering In RAC&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;关于本文所使用的2个隐含参数，在上述第二篇文档中也有详细描述。&lt;br /&gt;
--END---&lt;/p&gt;
&lt;div id=&quot;crp_related&quot;&gt; &lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/630491437/laoxiong/feedsky/s.gif?r=http://www.laoxiong.net/problem-caused-by-drm.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.laoxiong.net/problem-caused-by-drm.html/feed</wfw:commentRss><description>客户一套运行在Oracle 10.2.0.5 RAC上的系统，间歇性地出现性能问题。其性能现象为前台反映性能缓慢，从系统上看CPU利用率大幅增加，load增加。这种性能问题通常在出现几分钟后自动恢复正常。
从AWR中的TOP 5等待来看：

Top&amp;#160;5&amp;#160;Timed&amp;#160;Events&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Avg&amp;#160;%Total
~~~~~~~~~~~~~~~~~~&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;wait&amp;#160;&amp;#160;&amp;#160;Call
Event&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Waits&amp;#160;&amp;#160;&amp;#160;&amp;#160;Time&amp;#160;(s)&amp;#160;&amp;#160;&amp;#160;(ms)&amp;#160;&amp;#160;&amp;#160;Time&amp;#160;Wait&amp;#160;Class
------------------------------&amp;#160;------------&amp;#160;-----------&amp;#160;------&amp;#160;------&amp;#160;----------
latch:&amp;#160;cache&amp;#160;buffers&amp;#160;lru&amp;#160;chain&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;774,812&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;140,185&amp;#160;&amp;#160;&amp;#160;&amp;#160;181&amp;#160;&amp;#160;&amp;#160;29.7&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Other
gc&amp;#160;buffer&amp;#160;busy&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,356,786&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;61,708&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;45&amp;#160;&amp;#160;&amp;#160;13.1&amp;#160;&amp;#160;&amp;#160;&amp;#160;Cluster
latch:&amp;#160;object&amp;#160;queue&amp;#160;header&amp;#160;ope&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;903,456&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;55,089&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;61&amp;#160;&amp;#160;&amp;#160;11.7&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Other
latch:&amp;#160;cache&amp;#160;buffers&amp;#160;chains&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;360,522&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;49,016&amp;#160;&amp;#160;&amp;#160;&amp;#160;136&amp;#160;&amp;#160;&amp;#160;10.4&amp;#160;Concurrenc
gc&amp;#160;current&amp;#160;grant&amp;#160;busy&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;112,970&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;19,893&amp;#160;&amp;#160;&amp;#160;&amp;#160;176&amp;#160;&amp;#160;&amp;#160;&amp;#160;4.2&amp;#160;&amp;#160;&amp;#160;&amp;#160;Cluster
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;-------------------------------------------------------------

可以看到，TOP 5中，有3个是latch相关的等待，而另外2个则是跟RAC相关的等待。
如果再查看更细的等待数据，可以发现其他问题：


&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Avg
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;%Time&amp;#160;&amp;#160;Total&amp;#160;Wait&amp;#160;&amp;#160;&amp;#160;&amp;#160;wait&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Waits
Event&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Waits&amp;#160;-outs&amp;#160;&amp;#160;&amp;#160;&amp;#160;Time&amp;#160;(s)&amp;#160;&amp;#160;&amp;#160;&amp;#160;(ms)&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;/txn
----------------------------&amp;#160;--------------&amp;#160;-----&amp;#160;-----------&amp;#160;-------&amp;#160;---------
latch:&amp;#160;cache&amp;#160;buffers&amp;#160;lru&amp;#160;cha&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;774,812&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;140,185&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;181&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.9
gc&amp;#160;buffer&amp;#160;busy&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,356,786&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;6&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;61,708&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;45&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3.3
latch:&amp;#160;object&amp;#160;queue&amp;#160;header&amp;#160;o&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;903,456&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;55,089&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;61&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;2.2
latch:&amp;#160;cache&amp;#160;buffers&amp;#160;chains&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;360,522&amp;#160;&amp;#160;&amp;#160;N/A&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;49,016&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;136&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.9
gc&amp;#160;current&amp;#160;grant&amp;#160;busy&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;112,970&amp;#160;&amp;#160;&amp;#160;&amp;#160;25&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;19,893&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;176&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.3
gcs&amp;#160;drm&amp;#160;freeze&amp;#160;in&amp;#160;enter&amp;#160;serv&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;38,442&amp;#160;&amp;#160;&amp;#160;&amp;#160;97&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;18,537&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;482&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.1
gc&amp;#160;cr&amp;#160;block&amp;#160;2-way&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,626,280&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;15,742&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;10&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;3.9
gc&amp;#160;remaster&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;6,741&amp;#160;&amp;#160;&amp;#160;&amp;#160;89&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;12,397&amp;#160;&amp;#160;&amp;#160;&amp;#160;1839&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.0
row&amp;#160;cache&amp;#160;lock&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;52,143&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;6&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;9,834&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;189&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0.1

从上面的数据还可以看到，除了TOP 5等待，还有&amp;#8221;gcs drm freeze in enter server mode“以及&amp;#8221;gc remaster&amp;#8221;这2种比较少见的等待事件，从其名称来看，明显与DRM有关。那么这2种等待事件与TOP 5的事件有没有什么关联？。MOS文档&amp;#8221;Bug 6960699 - &amp;#8220;latch: cache buffers chains&amp;#8221; contention/ORA-481/kjfcdrmrfg: SYNC TIMEOUT/ OERI[kjbldrmrpst:!master] [ID 6960699.8]”提及，DRM的确可能会引起大量的&amp;#8221;latch: cache buffers chains&amp;#8221;、&amp;#8221;latch: object queue header operation&amp;#8221;等待，虽然文档没有提及，但不排除会引起”latch: cache buffers lru chain“这样的等待。
为了进一步证实性能问题与DRM相关，使用tail -f命令监控LMD后台进程的trace文件。在trace文件中显示开始进行DRM时，查询v$session视图，发现大量的 &amp;#8220;latch: cache buffers chains&amp;#8221; 、&amp;#8221;latch: object queue header operation&amp;#8221;等待事件，同时有&amp;#8221;gcs drm freeze in enter server mode“和&amp;#8221;gc remaster&amp;#8221;等待事件，同时系统负载升高，前台反映性能下降。而在DRM完成之后，这些等待消失，系统性能恢复到正常。
看起来，只需要关闭DRM就能避免这个问题。怎么样来关闭/禁止DRM呢？很多MOS文档提到的方法是设置2个隐含参数：

_gc_affinity_time=0
_gc_undo_affinity=FALSE

不幸的是，这2个参数是静态参数，也就是说必须要重启实例才能生效。
实际上可以设置另外2个动态的隐含参数，来达到这个目的。按下面的值设置这2个参数之后，不能完全算是禁止/关闭了DRM，而是从”事实上“关闭了DRM。

_gc_affinity_limit=250
_gc_affinity_minimum=10485760

甚至可以将以上2个参数值设置得更大。这2个参数是立即生效的，在所有的节点上设置这2个参数之后，系统不再进行DRM，经常一段时间的观察，本文描述的性能问题也不再出现。
下面是关闭DRM之后的等待事件数据：

Top&amp;#160;5&amp;#160;Timed&amp;#160;Events&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Avg&amp;#160;%Total
~~~~~~~~~~~~~~~~~~&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;wait&amp;#160;&amp;#160;&amp;#160;Call
Event&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Waits&amp;#160;&amp;#160;&amp;#160;&amp;#160;Time&amp;#160;(s)&amp;#160;&amp;#160;&amp;#160;(ms)&amp;#160;&amp;#160;&amp;#160;Time&amp;#160;Wait&amp;#160;Class
------------------------------&amp;#160;------------&amp;#160;-----------&amp;#160;------&amp;#160;------&amp;#160;----------
CPU&amp;#160;time&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;15,684&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;67.5
db&amp;#160;file&amp;#160;sequential&amp;#160;read&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1,138,905&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;5,212&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;5&amp;#160;&amp;#160;&amp;#160;22.4&amp;#160;&amp;#160;&amp;#160;User&amp;#160;I/O
gc&amp;#160;cr&amp;#160;block&amp;#160;2-way&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;780,224&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;285&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;0&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.2&amp;#160;&amp;#160;&amp;#160;&amp;#160;Cluster
log&amp;#160;file&amp;#160;sync&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;246,580&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;246&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Commit
SQL*Net&amp;#160;more&amp;#160;data&amp;#160;from&amp;#160;client&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;296,657&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;236&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;1&amp;#160;&amp;#160;&amp;#160;&amp;#160;1.0&amp;#160;&amp;#160;&amp;#160;&amp;#160;Network
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;-------------------------------------------------------------

  [...]&lt;img src=&quot;http://www1.feedsky.com/t1/630491437/laoxiong/feedsky/s.gif?r=http://www.laoxiong.net/problem-caused-by-drm.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>rac</category><category>Oracle Trouble Shooting</category><pubDate>Fri, 22 Jul 2011 09:39:17 +0800</pubDate><author>老熊</author><comments>http://www.laoxiong.net/problem-caused-by-drm.html#comments</comments><guid isPermaLink="false">http://www.laoxiong.net/?p=801</guid><dc:creator>老熊</dc:creator><fs:srclink>http://www.laoxiong.net/problem-caused-by-drm.html</fs:srclink><fs:srcfeed>http://www.laoxiong.net/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/laoxiong/~7093197/630491437/5201748</fs:itemid></item><item><title>存储过程与DB LINK的依赖关系存在的问题</title><link>http://www.laoxiong.net/stored-procedure-db-link-problem.html</link><content:encoded>&lt;p&gt;当一个存储过程所依赖（引用的）对象发生某些更改时，会使得存储过程失效（invalidated），比如存储过程依赖（引用）的表增加减少了列、存储过程依赖（引用）的存储过程被重新编译。本文将介绍一种特殊的会引起存储过程失效的情况。&lt;/p&gt;
&lt;p&gt;下面通过测试来演示与DB LINK相关的存储过程失效的情况：&lt;/p&gt;
&lt;p&gt;1. 在TEST用户下创建到db1的DB LINK：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
SQL&amp;gt; create database link to_db connect to perfstat identified by xxx using 'db1';

数据库链接已创建。
&lt;/pre&gt;
&lt;p&gt;2.在TEST2用户下创建到db2的DB LINK，DB LINK的名称仍然为to_db，但实际上连接的数据库与TEST用户下to_db这个DB LINK连接的数据库并不是同一个数据库：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
SQL&amp;gt; create database link to_db connect to perfstat identified by xxx using 'db2';

数据库链接已创建。
&lt;/pre&gt;
&lt;p&gt;3. 在TEST用户下创建存储过程TEST_P1：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
SQL&amp;gt;&amp;nbsp;create&amp;nbsp;or&amp;nbsp;replace&amp;nbsp;procedure&amp;nbsp;test_p1
&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;is
&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;v_dbid&amp;nbsp;number;
&amp;nbsp;&amp;nbsp;4&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;select&amp;nbsp;dbid&amp;nbsp;into&amp;nbsp;v_dbid&amp;nbsp;from&amp;nbsp;stats$snapshot@to_db&amp;nbsp;where&amp;nbsp;rownum&amp;lt;2;
&amp;nbsp;&amp;nbsp;6&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;7&amp;nbsp;&amp;nbsp;/

过程已创建。

SQL&amp;gt; select object_id,status from user_objects where object_name='TEST_P1';

&amp;nbsp;OBJECT_ID&amp;nbsp;STATUS
----------&amp;nbsp;----------
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;18443&amp;nbsp;VALID
&lt;/pre&gt;
&lt;p&gt;4. 在TEST2用户下创建存储过程TEST2_P1，这里存储过程TEST2_P1的代码与TEST用户下存储过程TEST_P1的代码明显不同。&lt;strong&gt;这两个存储过程的共同点是都引用了STATS$SNAPSHOT@TO_DB这个远程表。由于TEST和TEST2用户下TO_DB连接的是不同的数据库，因此这2个存储过程引用的STATS$SNAPSHOT@TO_DB位于不同的数据库上，也就是说是不同的表&lt;/strong&gt;：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
SQL&amp;gt; create or replace procedure test2_p1
&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;is
&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;v_snap_time&amp;nbsp;date;
&amp;nbsp;&amp;nbsp;4&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;select&amp;nbsp;snap_time&amp;nbsp;into&amp;nbsp;v_snap_time&amp;nbsp;from&amp;nbsp;stats$snapshot@to_db&amp;nbsp;where&amp;nbsp;rownum&amp;lt;2;
&amp;nbsp;&amp;nbsp;6&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;7&amp;nbsp;&amp;nbsp;/

过程已创建。

SQL&amp;gt; select object_id,status from user_objects where object_name='TEST2_P1';

&amp;nbsp;OBJECT_ID&amp;nbsp;STATUS
----------&amp;nbsp;----------
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;18445&amp;nbsp;VALID
&lt;/pre&gt;
&lt;p&gt;5. 在TEST用户下查看存储过程TEST_P1的状态，发现其状态为INVALID，而实际上这个时候这个存储过程以及其引用的对象没有任何变更：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
SQL&amp;gt; select object_id,status from user_objects where object_name='TEST_P1';

&amp;nbsp;OBJECT_ID&amp;nbsp;STATUS
----------&amp;nbsp;----------
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;18443&amp;nbsp;INVALID
&lt;/pre&gt;
&lt;p&gt;6. 如果重新编译TEST.TEST_P1，那么其状态会成为VALID，但是这个时候TEST2.TEST2_P1则又莫名其妙地变成为INVALID：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
SQL&amp;gt; alter procedure test.test_p1 compile;

过程已更改。

SQL&amp;gt; select object_id,owner,object_name,status from dba_objects
  where object_name in ('TEST_P1','TEST2_P1');

&amp;nbsp;OBJECT_ID&amp;nbsp;OWNER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OBJECT_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;STATUS
----------&amp;nbsp;---------------&amp;nbsp;------------------------------&amp;nbsp;----------
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;18443&amp;nbsp;TEST&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TEST_P1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VALID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;18445&amp;nbsp;TEST2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TEST2_P1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;INVALID
&lt;/pre&gt;
&lt;p&gt;7. 在TEST2用户下执行存储过程TEST2_P1，然后再次检查存储过程状态：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
SQL&amp;gt; exec test2_p1

PL/SQL 过程已成功完成。

SQL&amp;gt; select object_id,owner,object_name,status from dba_objects
  2  where object_name in ('TEST_P1','TEST2_P1');

&amp;nbsp;OBJECT_ID&amp;nbsp;OWNER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OBJECT_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;STATUS
----------&amp;nbsp;---------------&amp;nbsp;------------------------------&amp;nbsp;----------
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;18443&amp;nbsp;TEST&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TEST_P1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;INVALID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;18445&amp;nbsp;TEST2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TEST2_P1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VALID
&lt;/pre&gt;
&lt;p&gt;可以看到，TEST.TEST_P1失效了，而TEST2.TEST2_P1又正常了。&lt;/p&gt;
&lt;p&gt;在这里就可以提出问题了：为什么创建了TEST2.TEST2_P1这个存储过程之后，TEST.TEST_P1就失效了？为什么TEST.TEST_P1重新编译之后TEST2.TEST2_P1又失效了？为什么TEST2.TEST2_P1重新执行（有一个隐式的编译过程）后，TEST.TEST_P1又失效了？&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;其实上以上三个问题可以归纳为一个问题：为什么TEST.TEST_P1和TEST2.TEST2_P1这2个存储过程，在其中一个状态正常的情况下，另一个为失效状态？&lt;/strong&gt;&lt;br /&gt;
&lt;span id=&quot;more-782&quot;&gt;&lt;/span&gt;&lt;br /&gt;
此时TEST.TEST_P1这个存储过程是失效状态，那么我们看看这个存储过程引用的哪个对象存在问题：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
SQL&amp;gt; select po.obj# p_obj,
  2         po.name p_name,
  3         to_char(p_timestamp, 'DD-MON-YYYY HH24:MI:SS') &quot;P_Timestamp&quot;,
  4         to_char(po.stime, 'DD-MON-YYYY HH24:MI:SS') &quot;STIME&quot;,
  5         decode(sign(po.stime - p_timestamp), 0, 'SAME', '*DIFFER*') X,
  6         po.status
  7    from sys.obj$ do, sys.dependency$ d, sys.obj$ po
  8   where P_OBJ# = po.obj#(+)
  9     and D_OBJ# = do.obj#
 10     and do.obj# = 18443
 11   order by 2, 1;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;P_OBJ&amp;nbsp;P_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;P_Timestamp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;STIME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;X&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;STATUS
----------&amp;nbsp;------------------------------&amp;nbsp;-------------------------&amp;nbsp;-------------------------&amp;nbsp;--------&amp;nbsp;------
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;648&amp;nbsp;STANDARD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;18-4月&amp;nbsp;-2003&amp;nbsp;00:00:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;18-4月&amp;nbsp;-2003&amp;nbsp;00:00:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;18444&amp;nbsp;STATS$SNAPSHOT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;25-1月&amp;nbsp;-2011&amp;nbsp;18:20:01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;26-1月&amp;nbsp;-2011&amp;nbsp;11:21:27&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*DIFFER*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3217&amp;nbsp;SYS_STUB_FOR_PURITY_ANALYSIS&amp;nbsp;&amp;nbsp;&amp;nbsp;15-3月&amp;nbsp;-2009&amp;nbsp;17:43:22&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;15-3月&amp;nbsp;-2009&amp;nbsp;17:43:22&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1

SQL&amp;gt; select owner#,name,type#,linkname,remoteowner
  2  from obj$
  3  where obj#=18444;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OWNER#&amp;nbsp;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TYPE#&amp;nbsp;LINKNAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;REMOTEOWNER
----------&amp;nbsp;---------------&amp;nbsp;----------&amp;nbsp;--------------------&amp;nbsp;------------
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;STATS$SNAPSHOT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;TO_DB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PERFSTAT
&lt;/pre&gt;
&lt;p&gt;在上面的输出中，P_TIMESTAMP是指对象产生依赖关系时所依赖的对象的specification time。STIME指的是依赖对象现在的specification time，二者不一者，说明所依赖对象的specification发生过更改，引起对象的引效。&lt;/p&gt;
&lt;p&gt;这里不一致的依赖对象正是PERFSTAT.STATS$SNAPSHOT@TO_DB。我们再看看存储过程TEST2.TEST2_P1的依赖对象：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
SQL&amp;gt; select po.obj# p_obj,
&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;po.name&amp;nbsp;p_name,
&amp;nbsp;&amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;to_char(p_timestamp,&amp;nbsp;'DD-MON-YYYY&amp;nbsp;HH24:MI:SS')&amp;nbsp;&quot;P_Timestamp&quot;,
&amp;nbsp;&amp;nbsp;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;to_char(po.stime,&amp;nbsp;'DD-MON-YYYY&amp;nbsp;HH24:MI:SS')&amp;nbsp;&quot;STIME&quot;,
&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;decode(sign(po.stime&amp;nbsp;-&amp;nbsp;p_timestamp),&amp;nbsp;0,&amp;nbsp;'SAME',&amp;nbsp;'*DIFFER*')&amp;nbsp;X,
&amp;nbsp;&amp;nbsp;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;po.status
&amp;nbsp;&amp;nbsp;7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;from&amp;nbsp;sys.obj$&amp;nbsp;do,&amp;nbsp;sys.dependency$&amp;nbsp;d,&amp;nbsp;sys.obj$&amp;nbsp;po
&amp;nbsp;&amp;nbsp;8&amp;nbsp;&amp;nbsp;&amp;nbsp;where&amp;nbsp;P_OBJ#&amp;nbsp;=&amp;nbsp;po.obj#(+)
&amp;nbsp;&amp;nbsp;9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and&amp;nbsp;D_OBJ#&amp;nbsp;=&amp;nbsp;do.obj#
&amp;nbsp;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;and&amp;nbsp;do.obj#&amp;nbsp;=&amp;nbsp;18445
&amp;nbsp;11&amp;nbsp;&amp;nbsp;&amp;nbsp;order&amp;nbsp;by&amp;nbsp;2,&amp;nbsp;1;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;P_OBJ&amp;nbsp;P_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;P_Timestamp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;STIME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;X&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;STATUS
----------&amp;nbsp;------------------------------&amp;nbsp;-------------------------&amp;nbsp;-------------------------&amp;nbsp;--------&amp;nbsp;------
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;648&amp;nbsp;STANDARD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;18-4月&amp;nbsp;-2003&amp;nbsp;00:00:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;18-4月&amp;nbsp;-2003&amp;nbsp;00:00:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;18444&amp;nbsp;STATS$SNAPSHOT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;26-1月&amp;nbsp;-2011&amp;nbsp;11:21:27&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;26-1月&amp;nbsp;-2011&amp;nbsp;11:21:27&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3217&amp;nbsp;SYS_STUB_FOR_PURITY_ANALYSIS&amp;nbsp;&amp;nbsp;&amp;nbsp;15-3月&amp;nbsp;-2009&amp;nbsp;17:43:22&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;15-3月&amp;nbsp;-2009&amp;nbsp;17:43:22&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1
&lt;/pre&gt;
&lt;p&gt;可以看到TEST2.TEST2_P1这个存储过程同样依赖（引用）object id为18444的对象，也就是PERFSTAT.STATS$SNAPSHOT@TO_DB。也就是说，TEST.TEST_P1和TEST2.TEST2_P2这两个存储过程都依赖于这同一个对象。然而，不幸的是，实际上这两个存储过程所引用的PERFSTAT.STATS$SNAPSHOT@TO_DB对象实际上是不同远程数据库上的对象。这一依赖（引用）对象的唯一标识为REMOTEOWNER, LINKNAME以及NAME，而实际上这三个关键字组合起来并不一定是唯一的。&lt;/p&gt;
&lt;p&gt;从面上的数据可以得到，在TEST用户下TO_DB远程库中，PERFSTAT.STATS$SNAPSHOT的specification  time为&amp;#8221;25-1月 -2011 18:20:01&amp;#8243;，而TEST2用户下TO_DB远程库中，PERFSTAT.STATS$SNAPSHOT的specification  time为&amp;#8221;26-1月 -2011 11:21:27&amp;#8243;。当TEST.TEST_P1重新编译时，object id为18444这个对象的specification time（即obj$中的stime列）为&amp;#8221;25-1月 -2011 18:20:01&amp;#8243;，这样就使TEST2.TEST2_P1的对应依赖对象的时间戳不一致而使其失效。而TEST2.TEST2_P1重新编译后，object id为18444这个对象的specification time（即obj$中的stime列）为&amp;#8221;26-1月 -2011 11:21:27&amp;#8243;，基于同样的理由，TEST.TEST_P1也失效。&lt;/p&gt;
&lt;p&gt;这一问题看上去是Oracle在处理DB LINK远程对象的依赖关系存在缺陷所致。这一问题的触发有如下的条件：不同用户下相同名称的DB LINK连接到不同的数据库，同时这些不同的用户下的存储过程引用了这些DB LINK远程库中的相同用户名下的相同名称的对象。为避免这一问题，不管目前有没有这样的问题，&lt;strong&gt;有一个原则：在创建 DB LINK时，连接到不同数据库的DB LINK，其名称不能相同。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;实际上在生产环境中，已经数次遇到这样的问题，存储过程和PACKAGE经常失效。在这样的生产环境中，由于数据量和业务量巨大，通常将一套业务系统的数据库按某个规则（比如地域）拆分为多套库，很显然其结构是相同的；而另一套系统的数据库需要通过DB LINK访问已经拆分的多套数据库，而在不同的用户下相同名称的DB LINK指向了不同的数据库，由于本文提及的问题，引起了存储过程和PACKAGE经常失效。&lt;/p&gt;
&lt;p&gt;update:&lt;br /&gt;
实际上，在MOS文档中也有提及这个问题：&lt;br /&gt;
Objects sharing same remote object names(on different databases) and same db link name invalidate each other [ID 270534.1]&lt;br /&gt;
Bug 2485372: OBJECTS SHARED SAME REMOTE OBJECT NAME INVALIDATES EACH OTHER&lt;br /&gt;
这个BUG从Oracle8i就有了。这个问题至今都没有修复。其解决办法仍然是“同一个数据库中指向不同数据库的DB LINK不能取相同的名字”。&lt;br /&gt;
--2011-09-16&lt;/p&gt;
&lt;div id=&quot;crp_related&quot;&gt; &lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/630491438/laoxiong/feedsky/s.gif?r=http://www.laoxiong.net/stored-procedure-db-link-problem.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.laoxiong.net/stored-procedure-db-link-problem.html/feed</wfw:commentRss><description>当一个存储过程所依赖（引用的）对象发生某些更改时，会使得存储过程失效（invalidated），比如存储过程依赖（引用）的表增加减少了列、存储过程依赖（引用）的存储过程被重新编译。本文将介绍一种特殊的会引起存储过程失效的情况。
下面通过测试来演示与DB LINK相关的存储过程失效的情况：
1. 在TEST用户下创建到db1的DB LINK：

SQL&amp;#62; create database link to_db connect to perfstat identified by xxx using 'db1';

数据库链接已创建。

2.在TEST2用户下创建到db2的DB LINK，DB LINK的名称仍然为to_db，但实际上连接的数据库与TEST用户下to_db这个DB LINK连接的数据库并不是同一个数据库：

SQL&amp;#62; create database link to_db connect to perfstat identified by xxx using 'db2';

数据库链接已创建。

3. 在TEST用户下创建存储过程TEST_P1：

SQL&amp;#62;&amp;#160;create&amp;#160;or&amp;#160;replace&amp;#160;procedure&amp;#160;test_p1
&amp;#160;&amp;#160;2&amp;#160;&amp;#160;is
&amp;#160;&amp;#160;3&amp;#160;&amp;#160;&amp;#160;&amp;#160;v_dbid&amp;#160;number;
&amp;#160;&amp;#160;4&amp;#160;&amp;#160;begin
&amp;#160;&amp;#160;5&amp;#160;&amp;#160;&amp;#160;&amp;#160;select&amp;#160;dbid&amp;#160;into&amp;#160;v_dbid&amp;#160;from&amp;#160;stats$snapshot@to_db&amp;#160;where&amp;#160;rownum&amp;#60;2;
&amp;#160;&amp;#160;6&amp;#160;&amp;#160;end;
&amp;#160;&amp;#160;7&amp;#160;&amp;#160;/

过程已创建。

SQL&amp;#62; select object_id,status from user_objects where object_name='TEST_P1';

&amp;#160;OBJECT_ID&amp;#160;STATUS
----------&amp;#160;----------
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;18443&amp;#160;VALID

4. 在TEST2用户下创建存储过程TEST2_P1，这里存储过程TEST2_P1的代码与TEST用户下存储过程TEST_P1的代码明显不同。这两个存储过程的共同点是都引用了STATS$SNAPSHOT@TO_DB这个远程表。由于TEST和TEST2用户下TO_DB连接的是不同的数据库，因此这2个存储过程引用的STATS$SNAPSHOT@TO_DB位于不同的数据库上，也就是说是不同的表：

SQL&amp;#62; create or replace procedure test2_p1
&amp;#160;&amp;#160;2&amp;#160;&amp;#160;is
&amp;#160;&amp;#160;3&amp;#160;&amp;#160;&amp;#160;&amp;#160;v_snap_time&amp;#160;date;
&amp;#160;&amp;#160;4&amp;#160;&amp;#160;begin
&amp;#160;&amp;#160;5&amp;#160;&amp;#160;&amp;#160;&amp;#160;select&amp;#160;snap_time&amp;#160;into&amp;#160;v_snap_time&amp;#160;from&amp;#160;stats$snapshot@to_db&amp;#160;where&amp;#160;rownum&amp;#60;2;
&amp;#160;&amp;#160;6&amp;#160;&amp;#160;end;
&amp;#160;&amp;#160;7&amp;#160;&amp;#160;/

过程已创建。

SQL&amp;#62; select object_id,status from user_objects where object_name='TEST2_P1';

&amp;#160;OBJECT_ID&amp;#160;STATUS
----------&amp;#160;----------
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;18445&amp;#160;VALID

5. 在TEST用户下查看存储过程TEST_P1的状态，发现其状态为INVALID，而实际上这个时候这个存储过程以及其引用的对象没有任何变更：

SQL&amp;#62; select object_id,status from user_objects [...]&lt;img src=&quot;http://www1.feedsky.com/t1/630491438/laoxiong/feedsky/s.gif?r=http://www.laoxiong.net/stored-procedure-db-link-problem.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>dblink</category><category>Oracle Trouble Shooting</category><pubDate>Mon, 04 Jul 2011 23:29:12 +0800</pubDate><author>老熊</author><comments>http://www.laoxiong.net/stored-procedure-db-link-problem.html#comments</comments><guid isPermaLink="false">http://www.laoxiong.net/?p=782</guid><dc:creator>老熊</dc:creator><fs:srclink>http://www.laoxiong.net/stored-procedure-db-link-problem.html</fs:srclink><fs:srcfeed>http://www.laoxiong.net/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/laoxiong/~7093197/630491438/5201748</fs:itemid></item><item><title>shared pool latch和library cache latch</title><link>http://www.laoxiong.net/shared-pool-latch-and-library-cache-latch.html</link><content:encoded>&lt;p&gt;我给《DBA 手记III》投的一篇稿子，名为《一次由隐含参数引起性能问题的处理》，这篇文章描述了一套关键的系统，由于&amp;#8221;_kghdsidx_count&amp;#8221;这个参数设置为1，导致了严重的性能问题。从故障现象上看是大量的library cache latch的等待，以及shared pool latch的等待，但是前者的等待时间比后者长得多。在文章中，我提到，在当时我推断，由于&amp;#8221;_kghdsidx_count&amp;#8221;这个隐含参数设置为1，导致shared pool只有1个subpool，引起了shared pool latch的严重竞争，进而引起了library cache cache的更为严重的竞争，这个竞争的过程如下：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;由于&amp;#8221;_kghdsidx_count&amp;#8221;=1，使得shared pool latch只有1个child latch。而library cache latch的child latch数量跟CPU数量有关，最大值为67，编号为child #1-#67。&lt;/li&gt;
&lt;li&gt;会话1持有shared pool latch。&lt;/li&gt;
&lt;li&gt;会话2解析SQL语句，首先持有了library cache latch的child latch，假设这里为child #1，然后去请求shared pool latch。很显然，这时候被会话1持有，那么会话2就会等待shared pool latch。&lt;/li&gt;
&lt;li&gt;会话3解析SQL语句，首先需要请求library cache latch，如果请求的library cache child latch刚好是#1，那么由于会话2持有了这个child latch，就会等待library cache latch。&lt;/li&gt;
&lt;li&gt;因此，实际上会话1和会话2的shared pool latch的竞争引起了会话3的library cache latch的等待。如果并发数不是太高，那么shared pool latch的竞争看上去就会比library cache latch的竞争多一些。但是如果有几百个活动会话，这个时候，就会有大量的会话首先等待library cache latch，因为在解析SQL时是首先需要获取library cache latch再获取shared pool latch。由于大量的软解析，甚至不需要获取shared pool latch，同时一个大型的OLTP系统中，某几条相同的SQL并发执行的概率很高，这样会使很多会话同时请求同一library cache child latch；另外，在解析过程中，可能会多次请求library cache latch和shared pool latch，而前者请求和释放的次数会比后者多得多；这样大量的会话在获取library cache latch时处于等待状态，从现象上看就比shared pool latch的等待多得多。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;br /&gt;
而本文主要表达的是，怎么来验证在解析时，Oracle进程在持有了library cache latch的情况下去请求shared pool latch，而不是在请求shared pool时不需要持有library cache latch。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;由于这个验证过程过于internal，所以没有在《DBA手记III》中描述出来。这里写出来，供有兴趣的朋友参考。&lt;/p&gt;
&lt;p&gt;验证上面的这一点，有2个方法。下面以测试过程来详细描述。&lt;br /&gt;
测试环境 ：Oracle 10.2.0.5.1 for Linux X86.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;方法一：使用oradebug。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;1. 将数据库的&amp;#8221;_kghdsidx_count&amp;#8221;参数值设为1，并重启数据库，以保证只有一个shared pool child latch。&lt;br /&gt;
2. 使用sqlplus连接到数据库，假设这个会话是session-1，查询当前的SID:&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
SQL&amp;gt; select sid from v$mystat where rownum=1;

       SID
----------
       159
&lt;/pre&gt;
&lt;p&gt;同时获得当前连接的spid为2415。&lt;br /&gt;
3. 新建一个连接到数据库，假设会话是session-2，查询shared pool latch的地址，并使用oradebug将这个地址对应的值置为1，以表示该latch已经被持有：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;

SQL&amp;gt; select addr,latch#,level#,child#,name,gets  from v$latch_children where name='shared pool';

ADDR         LATCH#     LEVEL#     CHILD# NAME                                                     GETS
-------- ---------- ---------- ---------- -------------------------------------------------- ----------
200999BC        216          7          1 shared pool                                             34949
20099A20        216          7          2 shared pool                                                 6
20099A84        216          7          3 shared pool                                                 6
20099AE8        216          7          4 shared pool                                                 6
20099B4C        216          7          5 shared pool                                                 6
20099BB0        216          7          6 shared pool                                                 6
20099C14        216          7          7 shared pool                                                 6

SQL&amp;gt; oradebug poke 0x200999BC 4 1
BEFORE: [200999BC, 200999C0) = 00000000
AFTER:  [200999BC, 200999C0) = 00000001
&lt;/pre&gt;
&lt;p&gt;4. 在session-1会话中执行下面的SQL：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
SQL&amp;gt; select owner from t where object_id=3003;
&lt;/pre&gt;
&lt;p&gt;正如预料之中的反映，这个会话hang住。&lt;/p&gt;
&lt;p&gt;5. 在session-2中，对session-1的进程作process dump。（注意这个时候不能查询v$session_wait、v$latchholder等视图）&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
SQL&amp;gt; oradebug setospid 2415
Oracle pid: 15, Unix process pid: 2415, image: oracle@xty (TNS V1-V3)
SQL&amp;gt; oradebug dump processstate 10
Statement processed.
SQL&amp;gt; oradebug tracefile_name
/oracle/app/oracle/admin/xty/udump/xty_ora_2415.trc
&lt;/pre&gt;
&lt;p&gt;然后从/oracle/app/oracle/admin/xty/udump/xty_ora_2415.trc这个TRACE文件中可以找到下面的信息：&lt;span id=&quot;more-755&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;

Process global information:
     process: 0x51a2dce8, call: 0x51b465e4, xact: (nil), curses: 0x51b2a4b8, usrses: 0x51b2a4b8
  ----------------------------------------
  SO: 0x51a2dce8, type: 2, owner: (nil), flag: INIT/-/-/0x00
  (process) Oracle pid=15, calls cur/top: 0x51b465e4/0x51b465e4, flag: (0) -
            int error: 0, call error: 0, sess error: 0, txn error 0
  (post info) last post received: 110 0 4
              last post received-location: kslpsr
              last process to post me: 51a2a904 1 6
              last post sent: 0 0 24
              last post sent-location: ksasnd
              last process posted by me: 51a2a904 1 6
    (latch info) wait_event=0 bits=20
        Location from where call was made: kghupr1: Chunk Header
        Context saved from call: 1306572176
      waiting for 200999bc Child shared pool level=7 child#=1
        Location from where latch is held: kghupr1: Chunk Header
        Context saved from call: 1299065692
        state=busy, wlstate=free
          waiters [orapid (seconds since: put on list, posted, alive check)]:
           10 (54, 1304393092, 54)
           11 (54, 1304393092, 54)
           24 (15, 1304393092, 15)
           15 (6, 1304393092, 6)
           waiter count=4
          gotten 35138 times wait, failed first 502 sleeps 5
          gotten 0 times nowait, failed: 0
      on wait list for 200999bc
      holding    (efd=3) 4f7c75f8 Child library cache level=5 child#=1
        Location from where latch is held: kgllkdl: child: no lock handle: latch
        Context saved from call: 2
        state=busy, wlstate=free
&lt;/pre&gt;
&lt;p&gt;从waiting for 200999bc Child shared pool level=7 child#=1和holding    (efd=3) 4f7c75f8 Child library cache level=5 child#=1可以看到，&lt;strong&gt;进程的确是在持有了library cache latch的同时去请求 shared pool latch。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;最后使用“oradebug poke 0&amp;#215;200999BC 4 0”命令将shared pool latch置为free状态。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;方法二：使用gdb。&lt;/strong&gt;&lt;br /&gt;
1. 还原&amp;#8221;_kghdsidx_count&amp;#8221;参数，重启数据库。&lt;br /&gt;
2. 使用sqlplus连接到数据库，获取对应的Oracle Process的spid为4763。&lt;br /&gt;
3. 使用gdb：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
[oracle@xty ~]$ gdb -p 4763
GNU gdb (GDB) Red Hat Enterprise Linux (7.0.1-23.el5)
Copyright (C) 2009 Free Software Foundation, Inc.
...省略部分输出...
Reading symbols from /lib/libnss_files.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libnss_files.so.2
0x0059b402 in __kernel_vsyscall ()
&lt;/pre&gt;
&lt;p&gt;4. 在gdb中，在latch的获取和释放的函数上设置断点：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
(gdb) b kslgpl
Breakpoint 1 at 0x8339fca
(gdb) b kslgetsl
Breakpoint 2 at 0x833a2d5
(gdb) b kslgpl
Breakpoint 3 at 0x83473bf
(gdb) b kslg2c
Breakpoint 4 at 0x8347886
(gdb) b kslg2csl
Breakpoint 5 at 0x834794e
(gdb) b kslgprl
Breakpoint 6 at 0x8346186
(gdb)
Note: breakpoint 6 also set at pc 0x8346186.
Breakpoint 7 at 0x8346186
(gdb) b kslfre
Breakpoint 8 at 0x833c05d
(gdb) b kslf2c
Breakpoint 9 at 0x8347a1e
(gdb) b kslfpl
Breakpoint 10 at 0x8347812
(gdb) b kslfal
Breakpoint 11 at 0x833fbca
(gdb) b kslfpl0
Breakpoint 12 at 0x834766d
(gdb)
注：最后几个函数只是猜测跟latch有关....latch的请求和释放所调用的函数主要为：kslgetl、kslgetsl和kslfre。
(gdb) c
Continuing.
&lt;/pre&gt;
&lt;p&gt;5. 在sqlplus中执行SQL：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
SQL&amp;gt; select * from t where object_id=10000;
&lt;/pre&gt;
&lt;p&gt;正如预期的那样，会话hang住。这是因为运行到了gdb设置的断点。&lt;/p&gt;
&lt;p&gt;6.在gdb中可以看到：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
Breakpoint 2, 0x0833a2d5 in kslgetsl ()
(gdb) info f
Stack level 0, frame at 0xbfd3fb08:
 eip = 0x833a2d5 in kslgetsl; saved eip 0x84257e1
 called by frame at 0xbfd3fb44
 Arglist at 0xbfd3fb00, args:
 Locals at 0xbfd3fb00, Previous frame's sp is 0xbfd3fb08
 Saved registers:
  ebp at 0xbfd3fb00, eip at 0xbfd3fb04
(gdb) x /10x 0xbfd3fb00
0xbfd3fb00:     0xbfd3fb3c      0x084257e1      0x51b4c38c      0x00000001
0xbfd3fb10:     0x51b11738      0x00000058      0x00000008      0x00000002
0xbfd3fb20:     0x0d099c40      0x0d099d3c
&lt;/pre&gt;
&lt;p&gt;0&amp;#215;51b4c38c这是一个地址，从v$latch和v$latch_children中可以查到正是是 session idle bit latch。&lt;/p&gt;
&lt;p&gt;6.在gdb中继续：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
(gdb) c
Continuing.

Breakpoint 8, 0x0833c05d in kslfre ()
(gdb) info f
Stack level 0, frame at 0xbfd3fb18:
 eip = 0x833c05d in kslfre; saved eip 0x842581a
 called by frame at 0xbfd3fb44
 Arglist at 0xbfd3fb10, args:
 Locals at 0xbfd3fb10, Previous frame's sp is 0xbfd3fb18
 Saved registers:
  ebp at 0xbfd3fb10, eip at 0xbfd3fb14
(gdb) x /10x 0xbfd3fb10
0xbfd3fb10:     0xbfd3fb3c      0x0842581a      0x51b4c38c      0x00000002
0xbfd3fb20:     0x0d099c40      0x0d099d3c      0x0d099c40      0x00000002
0xbfd3fb30:     0x00000000      0x517a7090
(gdb) c
Continuing.
----下面很重要-----
Breakpoint 1, 0x08339fca in kslgetl ()
(gdb) x /10x $ebp+8
0xbfd3ecc0:     0x4f7c7594      0x00000001      0x00000001      0x00000a57
0xbfd3ecd0:     0x0af275ca      0x00000000      0x0dcfdcc0      0x0d045860
0xbfd3ece0:     0xbfd3ed58      0x0b20fc09
(gdb) c
Continuing.

Breakpoint 8, 0x0833c05d in kslfre ()
(gdb) x /10x $ebp+8
0xbfd3ed64:     0x4f7c7594      0x00000000      0x10010040      0x0d045860
0xbfd3ed74:     0xbfd3ef10      0x0b1f5d10      0x0d099c40      0x4f7c7594
0xbfd3ed84:     0x00000000      0x00000008
(gdb) c
Continuing.

Breakpoint 1, 0x08339fca in kslgetl ()
(gdb) x /10x $ebp+8
0xbfd3ecc0:     0x4f7c7594      0x00000001      0x00000001      0x00000a57
0xbfd3ecd0:     0x0af275ca      0x00000000      0x0dcfdcc0      0x0d045860
0xbfd3ece0:     0xbfd3ed58      0x0b20fc09
(gdb) c
Continuing.

Breakpoint 1, 0x08339fca in kslgetl ()
(gdb)  x /10x $ebp+8
0xbfd3eb50:     0x200999bc      0x00000001      0x00000000      0x000009de
0xbfd3eb60:     0x0d099c40      0x0000000f      0x0c3c3ec0      0x0d045860
0xbfd3eb70:     0xbfd3ec10      0x0af3983b
(gdb) c
Continuing.

Breakpoint 8, 0x0833c05d in kslfre ()
(gdb)  x /10x $ebp+8
0xbfd3eb6c:     0x200999bc      0x0d099c40      0x2001d310      0x0d045860
0xbfd3eb7c:     0xbfd3ec10      0x0af390a8      0x0d099c40      0x200999bc
0xbfd3eb8c:     0xbfd3ebe8      0x00000164
(gdb) c
Continuing.

Breakpoint 8, 0x0833c05d in kslfre ()
(gdb)  x /10x $ebp+8
0xbfd3ed64:     0x4f7c7594      0x00000000      0x10010040      0x0d045860
0xbfd3ed74:     0xbfd3ef10      0x0b1f58e6      0x0d099c40      0x4f7c7594
0xbfd3ed84:     0x00000000      0x00000008
(gdb) quit
A debugging session is active.

        Inferior 1 [process 4763] will be detached.
&lt;/pre&gt;
&lt;p&gt;同时可以从数据库中查到：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
SQL&gt; select addr,latch#,child#,level#,name from v$latch_children
where name in ('library cache','shared pool');
ADDR         LATCH#     CHILD#     LEVEL# NAME
-------- ---------- ---------- ---------- --------------------------------------------------
4F7C75F8        217          1          5 library cache
4F7C7594        217          2          5 library cache
4F7C7530        217          3          5 library cache
200999BC        216          1          7 shared pool
20099A20        216          2          7 shared pool
20099A84        216          3          7 shared pool
20099AE8        216          4          7 shared pool
20099B4C        216          5          7 shared pool
20099BB0        216          6          7 shared pool
20099C14        216          7          7 shared pool
&lt;/pre&gt;
&lt;p&gt;标记为”下面很重要“的输出，汇总起来就是：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
kslgetl  0x4f7c7594  library cache
kslfre   0x4f7c7594  library cache
kslgetl  0x4f7c7594  library cache
kslgetl  0x200999bc  shared pool
kslfre   0x200999bc  shared pool
kslfre   0x4f7c7594  library cache
&lt;/pre&gt;
&lt;p&gt;这个过程可以理解为：Oracle进程首先获取library cache latch，在library cache中查找是否已经有要执行的SQL语句（这里显然没有找到），然后释放library cache。接下来是硬解析SQL的后半部分，首先获取library cache latch，然后获取shared pool latch，从shared pool中申请内存，然后释放shared pool latch，最后再获取library cache latch。&lt;/p&gt;
&lt;p&gt;后面不再继续跟踪解析的过程，这个过程会有相当多的latch的获取和释放，但是从上面可以很清晰地看到，&lt;strong&gt;进程在持有了library cache latch的同时去请求shared pool latch。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;至于这个案例，大家会在《DBA 手记III》上看到完整的介绍。&lt;/p&gt;
&lt;div id=&quot;crp_related&quot;&gt; &lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/630491439/laoxiong/feedsky/s.gif?r=http://www.laoxiong.net/shared-pool-latch-and-library-cache-latch.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.laoxiong.net/shared-pool-latch-and-library-cache-latch.html/feed</wfw:commentRss><description>我给《DBA 手记III》投的一篇稿子，名为《一次由隐含参数引起性能问题的处理》，这篇文章描述了一套关键的系统，由于&amp;#8221;_kghdsidx_count&amp;#8221;这个参数设置为1，导致了严重的性能问题。从故障现象上看是大量的library cache latch的等待，以及shared pool latch的等待，但是前者的等待时间比后者长得多。在文章中，我提到，在当时我推断，由于&amp;#8221;_kghdsidx_count&amp;#8221;这个隐含参数设置为1，导致shared pool只有1个subpool，引起了shared pool latch的严重竞争，进而引起了library cache cache的更为严重的竞争，这个竞争的过程如下：

由于&amp;#8221;_kghdsidx_count&amp;#8221;=1，使得shared pool latch只有1个child latch。而library cache latch的child latch数量跟CPU数量有关，最大值为67，编号为child #1-#67。
会话1持有shared pool latch。
会话2解析SQL语句，首先持有了library cache latch的child latch，假设这里为child #1，然后去请求shared pool latch。很显然，这时候被会话1持有，那么会话2就会等待shared pool latch。
会话3解析SQL语句，首先需要请求library cache latch，如果请求的library cache child latch刚好是#1，那么由于会话2持有了这个child latch，就会等待library cache latch。
因此，实际上会话1和会话2的shared pool latch的竞争引起了会话3的library cache latch的等待。如果并发数不是太高，那么shared pool latch的竞争看上去就会比library cache latch的竞争多一些。但是如果有几百个活动会话，这个时候，就会有大量的会话首先等待library cache latch，因为在解析SQL时是首先需要获取library cache latch再获取shared pool latch。由于大量的软解析，甚至不需要获取shared pool latch，同时一个大型的OLTP系统中，某几条相同的SQL并发执行的概率很高，这样会使很多会话同时请求同一library cache child latch；另外，在解析过程中，可能会多次请求library [...]&lt;img src=&quot;http://www1.feedsky.com/t1/630491439/laoxiong/feedsky/s.gif?r=http://www.laoxiong.net/shared-pool-latch-and-library-cache-latch.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>performance</category><category>Oracle Internal研究</category><category>latch</category><pubDate>Tue, 03 May 2011 14:02:35 +0800</pubDate><author>老熊</author><comments>http://www.laoxiong.net/shared-pool-latch-and-library-cache-latch.html#comments</comments><guid isPermaLink="false">http://www.laoxiong.net/?p=755</guid><dc:creator>老熊</dc:creator><fs:srclink>http://www.laoxiong.net/shared-pool-latch-and-library-cache-latch.html</fs:srclink><fs:srcfeed>http://www.laoxiong.net/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/laoxiong/~7093197/630491439/5201748</fs:itemid></item><item><title>ORA-04031案例一则</title><link>http://www.laoxiong.net/an-ora-04031-case.html</link><content:encoded>&lt;p&gt;ORA-04031这个错误，几乎每一个专业的DBA都遇到过。这是一个相当严重的错误，Oracle进程在向SGA申请内存时，如果申请失败，则会报这个错误。大部分情况下是在向SGA中的shared pool申请内存时失败，而少有向large pool等池中申请内存失败。比如下面的报错：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
Wed Apr 27 16:00:25 2011
Errors in file /oracle/app/oracle/admin/zxin/bdump/zxin1_ora_2052294.trc:
ORA-04031: unable to allocate 4128 bytes of shared memory
(&quot;shared pool&quot;,&quot;unknown object&quot;,&quot;sga heap(3,0)&quot;,&quot;kgllk hash table&quot;)
&lt;/pre&gt;
&lt;p&gt;这里很清楚地表示出来，是在向shared pool申请内存时失败。&lt;/p&gt;
&lt;p&gt;shared pool内存申请（分配）失败，通常有如下的几种可能：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;shared pool过小，比如在SGA Manual Management方式下，shared pool设置过小。比如一套数千连接的大系统，shared pool只设置了几百M。这种情况下，要解决问题很解单，增加shared pool的大小即可。&lt;/li&gt;
&lt;li&gt;应用没有使用绑定变量，硬解析非常多，导致shared pool内存碎片严重，分配大块内存时不能获得连续的内存空间。硬解析多的一个变种是虽然使用了绑定变量，但是由于某种原因，Cursor不能共享，导致Child Cursor非常多。实际上，如果shared pool较大（比如数GB大小），这种问题还是很少出现的，并且出现也通常出现在申请大块内存时。这种情况如果使用alter system flush shared_pool可以暂时缓解问题。但是这条命令又通常不适用于shared pool较大而且比较繁忙的系统。使用绑定变量&lt;/li&gt;
&lt;li&gt;Cache的cursor很多，同时cursor_space_for_time这一参数设置为TRUE，可能会使shared pool碎片化严重，导致不能分配到大块的连续内存。&lt;/li&gt;
&lt;li&gt;Oracle的BUG导致内存泄露，比如在一些版本中查询v$segment_statistics这样的视图导致内存泄露，使shared pool内存耗光。同样的情形还有类似于“obj stat memory”,&amp;#8221;gcs resources&amp;#8221;,&amp;#8221;ges resources&amp;#8221;等。通常这类内存为perm类型（permanet），这类内存通常是在分配时就确定了固定的用途，不能用于其他用途，因此极容易产生碎片。&lt;/li&gt;
&lt;li&gt;Oracle从9i开始，根据shared pool的大小将shared pool分为多个子池（subpool)，每个子池有独立的free list，同时在分配时单独管理（有其独立 的shared pool latch）。Oracle的BUG或者说是内存分配策略缺陷导致某一类shared pool的内存分配只在一个子池(subpool)中，即多个子池的使用极不均衡，导致向那个使用得最多的子池申请内存时失败。报错信息中的&amp;#8221;sga heap(3,0)&amp;#8221;即指明是在第3个子池申请内存时失败。本文案例中的ORA-04031错误其产生的原因可以归结为Oracle对shared pool的分配/使用策略问题。&lt;/li&gt;
&lt;li&gt;操作系统内存不足，这只会出现在shared pool的使用还没有达到最大值时才会出现，并且在操作系统都有swap的情况下，只有部分操作系统才可能有这种情况，比如在HP-UX下，reserved 内存过多导致swap满。&lt;/li&gt;
&lt;li&gt;其他原因，多数是因为BUG。请参考下面提及的MOS参考文档。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;本文中的案例，其数据库是运行在AIX 5.3系统中的10.2.0.4 RAC，RAC节点数为2。数据库是从9i升级到10g，而目前处于正式升级前的测试阶段。数据库报的ORA-04031错误信息如本文前面所示（其中的数据库名称已经做了处理）。&lt;/p&gt;
&lt;p&gt;在继续讲解案例之前，不得不提到MOS上的几篇关于ORA-04031错误的文档：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Master Note for Diagnosing ORA-4031 [ID 1088239.1]&lt;/li&gt;
&lt;li&gt;
Diagnosing and Resolving Error ORA-04031 on the Shared Pool or Other Memory Pools [Video] [ID 146599.1]&lt;/li&gt;
&lt;li&gt;Interpreting the automatically generated ORA-4031 diagnostic trace. [ID 809560.1]&lt;/li&gt;
&lt;li&gt;Troubleshooting and Diagnosing ORA-4031 Error [Video] [ID 396940.1]&lt;/li&gt;
&lt;li&gt;ORA-4031 Common Analysis/Diagnostic Scripts [Video] [ID 430473.1]&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;其实分析ORA-04031错误，通常有以下几个要点：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;判断错误发生所有的内存区域，是shared pool,large pool还是streams pool等。这个很容易从错误信息中判断出来，本文主要描述shared pool的ORA-04031错误，这也是最常见的。
&lt;/li&gt;
&lt;li&gt;检查Shared Pool的总大小以及free memory的大小。如果free memory看上去挺多，以subpool为单位检查是否存在是由于碎片导致没有足够的连续内存以供分配，特别是关注报错信息中提及的子池。&lt;/li&gt;
&lt;li&gt;如果Shared Pool相较于系统规模来说足够大（通常数GB都已经是很大的了），检查Shared Pool中有没有占用非常多的内存类型或内存组件，如果有，是什么样的类型的内存，在各个子池之间是否分布均匀。如果有异常占用较多的内存类型，根据此类型在MOS上搜寻是否是会有相应的BUG引起，或者分析这种类型的内存消耗较多的原因。比如如果是sql area很大，检查是不是硬解析特别多，或者是不是child cursor特别多引起。&lt;/li&gt;
&lt;li&gt;基于以上分析的数据，来判断shared pool内存分配失败的原因。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;上面的步骤写得比较粗略，关于分析和解决ORA-04031问题，这里也有一篇不错的文章：&lt;a href=&quot;http://askdba.org/weblog/2008/07/simplified-approach-to-resolve-ora-4031/&quot; target=&quot;_blank&quot;&gt;Simplified Approach to Resolve ORA-4031&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;这里关键的是分析Shared Pool的内存数据。ORA-04031错误发生后如果有条件可以马上连接到数据库中查询相应的x$表和v$视图得到相应的数据，否则只能通过ORA-4031错误发生时产生的trace文件。_4031_dump_bitvec这个隐含参数用于控制发生ORA-04031错误时对SGA的dump行为，而trace文件的分析就不像使用SQL那样简单了。&lt;/p&gt;
&lt;p&gt;下面再来详细地分析案例：&lt;br /&gt;
从错误信息来看，很显然，是向shared pool的第3个subpool申请内存时出错。&lt;br /&gt;
以下的数据是shared pool的数据：&lt;span id=&quot;more-716&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
SQL&amp;gt; select sum(bytes)/1024/1024 mb from v$sgastat where pool='shared pool';

        MB
----------
4096.53062

SQL&amp;gt; SELECT KSMCHCLS CLASS, COUNT(KSMCHCLS) NUM, SUM(KSMCHSIZ)
  2  SIZ,
  3  To_char( ((SUM(KSMCHSIZ)/COUNT(KSMCHCLS)/1024)),'999,999.00')|
  4  |'k' &quot;AVG SIZE&quot;
  5  FROM X$KSMSP GROUP BY KSMCHCLS; 

CLASS           NUM        SIZ AVG SIZE
-------- ---------- ---------- ------------
R-freea         512      24576         .05k
freeabl      807395 1643969848        1.99k
recr         530728  662065240        1.22k
R-free          256  214910976      819.82k
free          43063  100605496        2.28k
perm            140 1673368632   11,672.49k
&lt;/pre&gt;
&lt;p&gt;虽然free的数量不是太多，但是freeable的数量还是很多的。&lt;br /&gt;
下面是各个子池更详细的数据：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
SQL&amp;gt; SELECT KSMCHIDX,KSMCHDUR, KSMCHCLS CLASS, COUNT(KSMCHCLS) NUM, SUM(KSMCHSIZ)
  2  SIZ,
  3  To_char( ((SUM(KSMCHSIZ)/COUNT(KSMCHCLS)/1024)),'999,999.00')|
  4  |'k' &quot;AVG SIZE&quot;
  5  FROM X$KSMSP GROUP BY KSMCHIDX,KSMCHDUR, KSMCHCLS
  6  order by 1,2,3; 

  KSMCHIDX   KSMCHDUR CLASS           NUM        SIZ AVG SIZE
---------- ---------- -------- ---------- ---------- ------------
         1          1 R-free           27   22666392      819.82k
                      R-freea          54       2592         .05k
                      free             26      14024         .53k
                      perm             32  430299448   13,131.70k
                    2 R-free           12   10073952      819.82k
                      R-freea          24       1152         .05k
                      free          10531   24519112        2.27k
                      freeabl       44922   32457736         .71k
                      recr         163177  134273584         .80k
                    3 R-free            9    7555464      819.82k
                      R-freea          18        864         .05k
                      free           1678    4555704        2.65k
                      freeabl       79815  102514024        1.25k
                      recr          32689   36368096        1.09k
                    4 R-free           20   16789920      819.82k
                      R-freea          40       1920         .05k
                      free           2182    5810056        2.60k
                      freeabl       66235  254656184        3.75k
                      recr          16245   58284480        3.50k
         2          1 R-free           25   20987400      819.82k
                      R-freea          50       2400         .05k
                      free             23      20016         .85k
                      perm             35  398418384   11,116.58k
                    2 R-free            4    3357984      819.82k
                      R-freea           8        384         .05k
                      free           5137    6604176        1.26k
                      freeabl       40377   12140944         .29k
                      recr          54942   45005024         .80k
                    3 R-free            9    7555464      819.82k
                      R-freea          18        864         .05k
                      free           1477    5524568        3.65k
                      freeabl       79548  101879808        1.25k
                      recr          32380   36033448        1.09k
                    4 R-free           21   17629416      819.82k
                      R-freea          42       2016         .05k
                      free           2540    7092424        2.73k
                      freeabl       70133  270332800        3.76k
                      recr          15924   57263032        3.51k
         3          1 R-free           26   21826896      819.82k
                      R-freea          52       2496         .05k
                      free             26      20520         .77k
                      perm             33  414355416   12,261.94k
                    2 R-free            4    3357984      819.82k
                      R-freea           8        384         .05k
                      free           4693    7053032        1.47k
                      freeabl       49723   14339800         .28k
                      recr          52771   42357312         .78k
                    3 R-free           11    9234456      819.82k
                      R-freea          22       1056         .05k
                      free           3594    9280904        2.52k
                      freeabl       95823  121934488        1.24k
                      recr          39643   44097504        1.09k
                    4 R-free           25   20987400      819.82k
                      R-freea          50       2400         .05k
                      free           2822    7291680        2.52k
                      freeabl       84443  323149712        3.74k
                      recr          19148   67997008        3.47k
         4          1 R-free           27   22666392      819.82k
                      R-freea          54       2592         .05k
                      free             26      18088         .68k
                      perm             40  430295384   10,505.26k
                    2 R-free            6    5036976      819.82k
                      R-freea          12        576         .05k
                      free           4818   11473920        2.33k
                      freeabl       46089   39963224         .85k
                      recr          54061   44188072         .80k
                    3 R-free            9    7555464      819.82k
                      R-freea          18        864         .05k
                      free           1427    4109504        2.81k
                      freeabl       80026  102379080        1.25k
                      recr          33217   36949240        1.09k
                    4 R-free           21   17629416      819.82k
                      R-freea          42       2016         .05k
                      free           1993    6228464        3.05k
                      freeabl       70581  269087136        3.72k
                      recr          16614   59372656        3.49k
&lt;/pre&gt;
&lt;p&gt;KSMCHDUR是什么意思？在9i里面这个列的值通常为1。实际上，Oracle从9i开始，将shared pool划分为多个sub pool。而在10g以上的版本中（具体开始的版本号已经不记得），每个sub pool又分了4个更小的池，我们暂且称之为mini heap。每个mini heap有其自己的free list。KSMCHDUR这一列即表示mini heap的编号。&amp;#8221;heap(3,0)&amp;#8221;中的0是指第1个mini heap。&lt;/p&gt;
&lt;p&gt;在上面的数据中，可以看到这个子池的第1个mini heap的free已经很少，只有10来K。另外，我们可以观察到，&lt;strong&gt;perm类型的内存块只存在于每个sub pool的第1个min heap中&lt;/strong&gt;。这个是一个重点，在后面会有解释。&lt;/p&gt;
&lt;p&gt;这里本应该有通过查询v$sgastat得到shared pool的各个组件占用的内存分布，只是写BLOG时找不到了&amp;#8230;.但是我们可以在trace文件中找到数据，下面只列出sub pool 3的数据：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
==============================
Memory Utilization of Subpool 3
================================
     Allocation Name          Size
_________________________  __________
&quot;free memory              &quot;    81466568
&quot;miscellaneous            &quot;           0
&quot;dpslut_kfdsg             &quot;         512
&quot;trace buffer             &quot;      737280
&quot;trace_knlasg             &quot;         504
&quot;gcs res hash bucket      &quot;     1048576
&quot;gcs res latch table      &quot;       12288
&quot;evaluation con           &quot;           0
&quot;sql area                 &quot;   344545752
&quot;UNDO STAT INFO           &quot;       59904
&quot;txncallback              &quot;      141744
&quot;transaction              &quot;     2103264
&quot;ges resource pools       &quot;        3968
&quot;sessions                 &quot;     4526488
&quot;dlo fib struct           &quot;      128032
&quot;KJCTS process batching st&quot;         240
&quot;row cache                &quot;        3272
&quot;KCB where statistics arra&quot;       25888
&quot;KCB buffer wait statistic&quot;       32000
&quot;KCB incremental ckpt entr&quot;         512
&quot;invalid low rba queue    &quot;        1024
&quot;table definiti           &quot;      108704
&quot;temporary tabl           &quot;        4136
&quot;KCL instance cache transf&quot;      131072
&quot;resumable                &quot;        2720
&quot;KESTB existence bitvec se&quot;         128
&quot;type object de           &quot;      392448
&quot;enqueue_hash             &quot;      318960
&quot;KSXR pending consumption &quot;       20192
&quot;KTI SGA freeable small po&quot;           0
&quot;trigger defini           &quot;      885472
&quot;trigger source           &quot;       99264
&quot;trigger inform           &quot;         960
&quot;KTCN: Obj Invalidation Se&quot;        2336
&quot;kmgsb circular statistics&quot;      108800
&quot;kgl lock hash table state&quot;       45360
&quot;kglsim size of pinned mem&quot;        8024
&quot;kelr system metrics table&quot;         280
&quot;kzctxgjsi ksuseclid memor&quot;      117360
&quot;kzctxgjci ksuseclid  memo&quot;           0
&quot;CCursor                  &quot;    95912048
&quot;ksr message pool free que&quot;      188960
&quot;ksb ci process list (each&quot;         144
&quot;ksunfy: nodes of hierarch&quot;         320
&quot;ksuloi: long op free list&quot;         256
&quot;kwqmncal: allocate buffer&quot;        4048
&quot;ksim group query request &quot;           0
&quot;ksuxds ksuseclid  memory &quot;           0
&quot;call                     &quot;       87304
&quot;dictionary cache         &quot;           0
&quot;KSXR pending reply queue &quot;      255488
&quot;hng: All sessions data fo&quot;           0
&quot;ksfv subheap descriptor  &quot;         184
&quot;gcs resources            &quot;   169082312
&quot;gcs affinity             &quot;        8320
&quot;gcs opaque in            &quot;       12312
&quot;PCursor                  &quot;    50743128
&quot;ges resource             &quot;      539376
&quot;fdrec_kffsg              &quot;          24
&quot;work area tab            &quot;       80640
&quot;kglsim main lru count    &quot;       38400
&quot;plwpil:wa                &quot;        4264
&quot;grptab_kfgsg             &quot;        2464
&quot;AW SGA                   &quot;          40
&quot;KEWS sesstat seg tbl     &quot;           8
&quot;kebm slave descriptors   &quot;        1456
&quot;kglsim hash table bkts   &quot;     1048576
&quot;KSXR global channels     &quot;        1288
&quot;ges enqueues             &quot;    17333720
&quot;PLS chunk                &quot;         352
&quot;KSQ event description    &quot;        1440
&quot;KESTB existence bitvec   &quot;        4096
&quot;gcs shadows              &quot;   101246344
&quot;qmtb_init_data           &quot;         224
&quot;Core dump directory      &quot;         264
&quot;sort segment handle      &quot;        7480
&quot;SERVICE NAME ENTRY       &quot;          48
&quot;PQ/BizCard               &quot;        1536
&quot;qtree_kwqbspse           &quot;          40
&quot;latch descriptor table   &quot;        1576
&quot;recovery domain          &quot;       29856
&quot;parameters               &quot;       30056
&quot;SHARED SERVERS INFO      &quot;         240
&quot;qtree_kwqbsgn            &quot;          40
&quot;post agent               &quot;           0
&quot;pspool_kfsg              &quot;          80
&quot;plwsppwp:wa              &quot;           0
&quot;PL/SQL DIANA             &quot;    14050624
&quot;segmented arrays         &quot;        2072
&quot;Checkpoint queue         &quot;     4097024
&quot;sim lru segments         &quot;        2560
&quot;sim segment hits         &quot;        2560
&quot;sim state object         &quot;          40
&quot;partitioning d           &quot;      199616
&quot;ASH buffers              &quot;     8388608
&quot;message pool freequeue   &quot;      276336
&quot;PL/SQL MPCODE            &quot;     4499360
&quot;PL/SQL PPCODE            &quot;     3984944
&quot;procs: ksunfy            &quot;     1512000
&quot;primem_kfmdsg            &quot;        1032
&quot;SYSTEM PARAMETERS        &quot;       76624
&quot;object queue hash buckets&quot;      262656
&quot;object queue hash table d&quot;        7552
&quot;object level stats hash t&quot;         512
&quot;object stat dummy statprv&quot;         144
&quot;sim cache sizes          &quot;         320
&quot;logout storm management  &quot;       24000
&quot;pl/sql source            &quot;       21256
&quot;sys event stats          &quot;      199136
&quot;parameter handle         &quot;       67896
&quot;Parameter Handle         &quot;        1656
&quot;channel handle           &quot;      828672
&quot;API blockers array       &quot;          64
&quot;PARAMETER TABLE          &quot;        2048
&quot;PARAMETER ENTRY          &quot;           8
&quot;LGWR post requested array&quot;          24
&quot;bloom filter             &quot;        3104
&quot;param hash values        &quot;        5984
&quot;sql area:PLSQL           &quot;    11477776
&quot;PX subheap desc          &quot;         256
&quot;repository               &quot;      213544
&quot;sql area:KOKA            &quot;       16192
&quot;archive_lag_target       &quot;        9624
&quot;state objects            &quot;         640
&quot;latch nowait fails or sle&quot;      116832
&quot;sched job slv            &quot;        5952
&quot;pso tbs: ksunfy          &quot;      390000
&quot;dummy                    &quot;      269928
&quot;Sort Segment             &quot;       37440
&quot;Cursor Stats             &quot;     6095760
&quot;Banner Storage           &quot;        2048
&quot;quiescing session        &quot;        3872
&quot;API data buffer          &quot;          16
&quot;buffer handles           &quot;     1020000
&quot;prmtzdini tz region      &quot;      408320
&quot;sga node map             &quot;          16
&quot;savepoints               &quot;           0
&quot;Managed Standby Proc Arra&quot;       24576
&quot;OS proc request holder   &quot;        4664
&quot;db_files                 &quot;      416576
&quot;PX server msg stats      &quot;        2288
&quot;KQR M PO                 &quot;      283376
&quot;kks stats                &quot;          40
&quot;parameter table block    &quot;      483168
&quot;KSFV SGA                 &quot;         824
&quot;plugin datafile array    &quot;       36016
&quot;plwda:PLW_STR_NEW_RVAL   &quot;          24
&quot;plwspv:PLW_STR_NEW_VAL   &quot;          16
&quot;KGKP sga                 &quot;          32
&quot;BRANCH TABLE SEGMENTED AR&quot;       70176
&quot;mvobj part des           &quot;      306544
&quot;parameter value memory   &quot;         216
&quot;multiblock re            &quot;       98496
&quot;parameter text value     &quot;        1080
&quot;parallel_max_servers     &quot;        8192
&quot;KGLS heap                &quot;    13290800
&quot;KGSKI sga                &quot;          80
&quot;resize request state obje&quot;      368000
&quot;MTTR advisory            &quot;     1462832
&quot;monitoring co            &quot;       12480
&quot;rules engine aggregate st&quot;        1416
&quot;krbmror                  &quot;       36400
&quot;joxs heap                &quot;         136
&quot;krbmrsr                  &quot;         152
&quot;ksfqpar                  &quot;        4008
&quot;SGA - SWRF DrvMet Runtime&quot;        2656
&quot;SGA - SWRF Metrics ksuTim&quot;          72
&quot;SGA - SWRF RawMet Runtime&quot;        1408
&quot;SGA - SWRF Metrics WCTime&quot;          32
&quot;SQL Memory Manager Base W&quot;       13400
&quot;change notification regis&quot;        4096
&quot;simulator latch/bucket st&quot;       59392
&quot;Prefetch history buffer  &quot;        2832
&quot;change notification obj m&quot;        4096
&quot;KQR ENQ                  &quot;       16512
&quot;kksss                    &quot;       16464
&quot;API data buffer length   &quot;           0
&quot;kokcd                    &quot;           0
&quot;kohsg                    &quot;           8
&quot;Sequence Background Insta&quot;          88
&quot;ksfqpn                   &quot;         416
&quot;KGLS SP                  &quot;        4704
&quot;knstsg                   &quot;          48
&quot;latch classes            &quot;         352
&quot;system default language h&quot;         568
&quot;name-service entry       &quot;        2592
&quot;API data buffer array    &quot;           0
&quot;kzull                    &quot;        4096
&quot;kzulu                    &quot;         392
&quot;kfgsga                   &quot;         104
&quot;library cache            &quot;    46604712
&quot;kcrrny                   &quot;       25320
&quot;spfile cleanup structure &quot;       16760
&quot;xssinfo                  &quot;        5952
&quot;buffer_pool_desc_array   &quot;        3384
&quot;row cache child latch    &quot;        3360
&quot;rm request queue link    &quot;        5320
&quot;SCHEDULING POLICY TABLE  &quot;         160
&quot;namhsh_kfdsg             &quot;        4104
&quot;Closed Thread SCN Bitvec &quot;        8448
&quot;Client ID trace settings &quot;        3872
&quot;osp allocation           &quot;       21104
&quot;os statistics            &quot;        9192
&quot;plwppwp:PLW_STR_NEW_LEN_V&quot;          16
&quot;plwgc: plwgc_garbage_clea&quot;           0
&quot;plwiiw: kglpql warnings  &quot;           0
&quot;object queue             &quot;      808080
&quot;obj stat memo            &quot;      599184
&quot;obj htab chun            &quot;      122960
&quot;object level             &quot;      111888
&quot;XCT XGA                  &quot;           0
&quot;SGA - SWRF Metric Eidbuf &quot;      900840
&quot;Processor group descripto&quot;          64
&quot;Prefetch client count per&quot;          32
&quot;X$SKGXPIA                &quot;        2680
&quot;simulator hash buckets   &quot;     2101248
&quot;State object subpools    &quot;         896
&quot;API data buffer length ma&quot;           0
&quot;AWR Table Info (KEW layer&quot;         872
&quot;character set memory     &quot;        4856
&quot;sim segment num bufs     &quot;        1280
&quot;character set object     &quot;      129728
&quot;session idle latches     &quot;        2560
&quot;qesmmaInitialize:        &quot;         112
&quot;returns from remote ops  &quot;       49152
&quot;name-service             &quot;        4080
&quot;SGA - SWRF Metric CHBs   &quot;       10912
&quot;listener addresses       &quot;          32
&quot;db_block_hash_buckets    &quot;    67108864
&quot;KSI resource types       &quot;        2704
&quot;kglsim object batch      &quot;     4196304
&quot;trigger condition node   &quot;          72
&quot;ksws service events      &quot;       18560
&quot;Heap0: KGL               &quot;    11642128
&quot;fixed allocation callback&quot;         392
&quot;kqlpWrntoStr:value       &quot;           0
&quot;KEWS statistic name      &quot;         424
&quot;KEWS statistic maps      &quot;        1096
&quot;KCL partition table      &quot;      131072
&quot;kebm slave message       &quot;          88
&quot;kcbl state objects       &quot;       12800
&quot;free rm request queue lin&quot;           0
&quot;xsoqsehift               &quot;        3104
&quot;DBWR event stats array   &quot;         192
&quot;kgllk hash table         &quot;      659456
&quot;event descriptor table   &quot;         192
&quot;kpssnfy: kpsssgct        &quot;          32
&quot;kpscad: kpscscon         &quot;        1952
&quot;dbwriter coalesce buffer &quot;     3158016
&quot;kglsim hash table        &quot;        8208
&quot;gcs resource freelist dyn&quot;         256
&quot;gcs shadow locks dyn seg &quot;         256
&quot;kks stats latch          &quot;         160
&quot;KTC latch cleanup        &quot;         576
&quot;ges enqueue max. usage pe&quot;          64
&quot;ges lmd process descripto&quot;        2760
&quot;KTU latch cleanup        &quot;        2496
&quot;kscdnfyinithead          &quot;          16
&quot;X$KSVIT table            &quot;         512
&quot;kqlpaac:value-1          &quot;          64
&quot;KCL buffer header        &quot;      192064
&quot;kxfpdp pointers          &quot;       28800
&quot;kodosgi kopfdo           &quot;         104
&quot;kglsim latches           &quot;         136
&quot;TXN TABLE SEGMENTED ARRAY&quot;       54784
&quot;KJCT remote i            &quot;        1640
&quot;KKJ SHRD WRQS            &quot;         288
&quot;KJC dest ctx             &quot;        3560
&quot;kwrsnfy: kwrs            &quot;        1624
&quot;kwqmn:tskdata            &quot;           0
&quot;KKKI consumer            &quot;        4136
&quot;dbwr suspend/resume ptr a&quot;          16
&quot;dbwr actual working sets &quot;          64
&quot;KGSKI schedule           &quot;           0
&quot;temp lob duration state o&quot;        3296
&quot;ges regular msg buffers  &quot;     3078008
&quot;jsksncb: 9               &quot;       28672
&quot;Transportable DB Converte&quot;        2552
&quot;KTU lat struct           &quot;         800
&quot;kks stats hds            &quot;         256
&quot;KSFD SGA I/O b           &quot;     4190248
&quot;HTTP fixed headers       &quot;          72
&quot;UNDO INFO SEGMENTED ARRAY&quot;      649856
&quot;ges process hash table   &quot;      132000
&quot;jsksncb-latch            &quot;        1280
&quot;kfkid hrec               &quot;          24
&quot;KTCCC OBJECT             &quot;           0
&quot;KTPR HIST TB             &quot;        2808
&quot;KTF MAPPINGS             &quot;       12288
&quot;kksss-heap               &quot;       35136
&quot;kglsim heap              &quot;     3431232
&quot;event statistics per sess&quot;     7665280
&quot;eventlist to post commits&quot;          16
&lt;/pre&gt;
&lt;p&gt;从上面的数据可以看到，第3个sub pool中，占用较多的内存是gcs resources、gcs shadows以及sql area。但是没有明显的异常。&lt;br /&gt;
下面是第3个sub pool中第1个mini-heap中free memory的更详细数据：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;sql&quot;&gt;
SQL&amp;gt; break on ksmchidx on ksmchdur
SQL&amp;gt; select
  2    ksmchidx,ksmchdur,
  3    case
  4          when ksmchsiz &amp;lt; 1672 then trunc((ksmchsiz-32)/8)
  5          when ksmchsiz &amp;lt; 4120 then trunc((ksmchsiz+7928)/48)
  6          when ksmchsiz &amp;lt; 8216 then 250
  7          when ksmchsiz &amp;lt; 16408 then 251
  8          when ksmchsiz &amp;lt; 32792 then 252
  9          when ksmchsiz &amp;lt; 65560 then 253
 10          when ksmchsiz &amp;gt;= 65560 then 253
 11     end bucket,
 12    sum(ksmchsiz)  free_space,
 13    count(*)  free_chunks,
 14    trunc(avg(ksmchsiz))  average_size,
 15    max(ksmchsiz)  biggest
 16  from
 17    sys.x$ksmsp
 18  where
 19    inst_id = userenv('Instance') and
 20    ksmchcls = 'free'
 21  group by
 22    case
 23          when ksmchsiz &amp;lt; 1672 then trunc((ksmchsiz-32)/8)
 24          when ksmchsiz &amp;lt; 4120 then trunc((ksmchsiz+7928)/48)
 25          when ksmchsiz &amp;lt; 8216 then 250
 26          when ksmchsiz &amp;lt; 16408 then 251
 27          when ksmchsiz &amp;lt; 32792 then 252
 28          when ksmchsiz &amp;lt; 65560 then 253
 29          when ksmchsiz &amp;gt;= 65560 then 253
 30     end ,
 31    ksmchidx, ksmchdur
 32  order by ksmchidx , ksmchdur
 33  /

  KSMCHIDX   KSMCHDUR     BUCKET FREE_SPACE FREE_CHUNKS AVERAGE_SIZE    BIGGEST
---------- ---------- ---------- ---------- ----------- ------------ ----------
         3          1          5         72           1           72         72
                              13        136           1          136        136
                              27        248           1          248        248
                              48        416           1          416        416
                              56       1920           4          480        480
                              66       1680           3          560        560
                              68       4608           8          576        576
                             164       1344           1         1344       1344
                             180       1472           1         1472       1472
                             188       1536           1         1536       1536
                             190       1552           1         1552       1552
                             199       1624           1         1624       1624
                             204       1880           1         1880       1880
                             207       2032           1         2032       2032
&lt;/pre&gt;
&lt;p&gt;可以看到，最大的free memory块才2032字节，而报错中提到的申请的内存大小为4128字节。由于在第3个sub pool的第1个mini heap中没有4128字节的连续free memory，所以导致内存申请失败。&lt;/p&gt;
&lt;p&gt;那么这里的问题是，为什么这个mini heap中的free memory那么少？正如前面提及，为什么这个mini heap中的已经使用的类型全是perm类型？这个问题的答案就在于&amp;#8221;DURATION&amp;#8221;。Oracle在启用了SGA自动管理的模式下，为了便于在shared pool与buffer cache或其他内存之间动态调整大小，规定了在每一个mini heap中分配内存按照duration来进行。这里duration可以理解为内存块的持久时间。perm类型的内存块，就是分配后不能释放，只能用于相同组件的重用。比如gcs resources这种组件的内存是perm类型，这种内存被分配后，不能释放给sql area使用，也不能给gcs shadows使用，只能给其他的gcs resource使用。按DURATION分配内存时，perm类型的内存就只能从每个sub pool的第1个mini heap中分配。而其他类型的内存通常在sub pool的第2-4个mini heap中分配。由于perm类型的内存不能释放，也不能被其他组件的内存重用，所以里面的内存会越用越少，如果没有了free memory怎么办？前面说到，这种模式主要是工作在SGA自动管理模式下，如果free memory没有了，就会从SGA中的其他部分，比如buffer cache中取得memory chunk，加入到缺少内存的mini heap中。正常情况下这种机制没有问题。&lt;/p&gt;
&lt;p&gt;完全使用SGA自动管理有一个缺陷就是，如果应用系统绑定变量做得不好，或者由于BUG，child cursor过多，导致shared pool会变得很大，甚至超过10G，严重的比buffer cache还大，另一方面，在buffer cache和shared pool之间频繁地调整大小，可能会导致严重的解析问题和其他性能问题。针对这个问题，通常有2种解决办法：一种就是关闭SGA自动管理，即将SGA_TARGET设置为0，以9i的方式来设置shared_pool_size,db_cache_size这些参数，来手动管理SGA；第二种就是sga_target仍然大于0，即自动管理SGA，但是通过设置shared_pool_size，db_cache_size等参数限制这些内存组件的最小大小，而只留给系统极少的自动调整空间。&lt;/p&gt;
&lt;p&gt;而出现问题的这套系统，正是使用了第二种方式，开启了SGA自动调整，但是留给自动调整的空间极少。SGA_TARGET为35G，buffer_cache_size为30G，shared_pool_size为4G，再加上large_pool等组件，几乎没有什么可自动调整的余地。这种方式下，就存在了问题。下面来做一个按时间的分析：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;时间T1，数据库启动，shared pool只消耗了极少量的内存。&lt;/li&gt;
&lt;li&gt;时间T2至时间T3，Oracle进程请求shared pool内存，Oracle会向操作系统以指定的粒度为单位（比如16MB）请求物理内存，加入到所请求内存所在的mini heap中。直至shared pool的大小达到shared pool最大容许的大小。这个容许大小由各参数计算而来。比如说SGA_TARGET为10G，其他组件的参数设置后最小值为8G，shared_pool_size的值为1G，但是shared pool的最大容许大小为2G。这个时候，每个sub pool的mini heap的大小已经固定。在到达shared pool最大容许大小这一阶段，可能会从buffer cache等组件中占用。&lt;/li&gt;
&lt;li&gt;时间T4，Oracle进程请求shared pool内存，这个时候只能从free list或age out内存块后获取内存，对于sub pool的第1个mini heap，只能从free list中获取，因为这个mini heap中的已用内存全是perm，是不能age out的。&lt;/li&gt;
&lt;li&gt;时间T5，Oracle进程请求shared sub pool中第1个mini heap的内存，但是free list中已经没有内存。所以报ORA-04031错误。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;在上面的时间点T5那里，如果SGA有较大的自动调整空间，比如说完全没有限制，即buffer_cache_size等参数很少或为0，这样在请求第1个mini heap中的内存时，完全可以从buffer cache中占用，这样的后果是使shared pool越来越大。&lt;/p&gt;
&lt;p&gt;而本文案例的ORA-04031，正是由于SGA自动管理，而自动调整的余地又太小，最终使sub pool的第1个mini heap空间用光。当然我们可以分析为什么会用光，这个就显得更为复杂，这跟数据量、应用系统都有很大的关系。而系统中第1次出现ORA-04031错误的进程，是一个job进程，而此后大部分出现的错误均是job进程，能检查job代码，发现在做大量的表的大量数据的UPDATE操作，这可能是引起gcs shadows和gcs resources大量内存使用的原因。在一套RAC数据库中，gcs和ges相关的perm内存占用可能会比较大。&lt;/p&gt;
&lt;p&gt;那么除了调整应用，应该怎么样解决这样问题？这里的解决方法是增加shared_pool_size参数到6G，同时将sga_target设置为0，再重启。&lt;br /&gt;
而另一种可能的办法是将参数“_enable_shared_pool_durations&amp;#8221;设置为FALSE。这一参数为FALSE，将会使shared pool内存分配时，不再使某一类型的内存(比如perm)必须要求在一个固定的mini heap中。而实际上，sga_target设置为0之后，这一个参数自动会设为FALSE（由于这一参数是静态参数，所以修改了sga_target之后需要重启才会使这个隐含参数改变），所以建议的解决办法是设置sga_target参数，而不建议修改隐含参数。当然还有一种办法是完全让Oracle自动管理SGA，将buffer_cache_size和shared_pool_size等参数设置为0，但是正如前面所说，这种方法有比较大的缺陷。&lt;/p&gt;
&lt;p&gt;---末了祝各位朋友五一节快乐。&lt;/p&gt;
&lt;div id=&quot;crp_related&quot;&gt; &lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/630491440/laoxiong/feedsky/s.gif?r=http://www.laoxiong.net/an-ora-04031-case.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.laoxiong.net/an-ora-04031-case.html/feed</wfw:commentRss><description>ORA-04031这个错误，几乎每一个专业的DBA都遇到过。这是一个相当严重的错误，Oracle进程在向SGA申请内存时，如果申请失败，则会报这个错误。大部分情况下是在向SGA中的shared pool申请内存时失败，而少有向large pool等池中申请内存失败。比如下面的报错：

Wed Apr 27 16:00:25 2011
Errors in file /oracle/app/oracle/admin/zxin/bdump/zxin1_ora_2052294.trc:
ORA-04031: unable to allocate 4128 bytes of shared memory
(&quot;shared pool&quot;,&quot;unknown object&quot;,&quot;sga heap(3,0)&quot;,&quot;kgllk hash table&quot;)

这里很清楚地表示出来，是在向shared pool申请内存时失败。
shared pool内存申请（分配）失败，通常有如下的几种可能：

shared pool过小，比如在SGA Manual Management方式下，shared pool设置过小。比如一套数千连接的大系统，shared pool只设置了几百M。这种情况下，要解决问题很解单，增加shared pool的大小即可。
应用没有使用绑定变量，硬解析非常多，导致shared pool内存碎片严重，分配大块内存时不能获得连续的内存空间。硬解析多的一个变种是虽然使用了绑定变量，但是由于某种原因，Cursor不能共享，导致Child Cursor非常多。实际上，如果shared pool较大（比如数GB大小），这种问题还是很少出现的，并且出现也通常出现在申请大块内存时。这种情况如果使用alter system flush shared_pool可以暂时缓解问题。但是这条命令又通常不适用于shared pool较大而且比较繁忙的系统。使用绑定变量
Cache的cursor很多，同时cursor_space_for_time这一参数设置为TRUE，可能会使shared pool碎片化严重，导致不能分配到大块的连续内存。
Oracle的BUG导致内存泄露，比如在一些版本中查询v$segment_statistics这样的视图导致内存泄露，使shared pool内存耗光。同样的情形还有类似于“obj stat memory”,&amp;#8221;gcs resources&amp;#8221;,&amp;#8221;ges resources&amp;#8221;等。通常这类内存为perm类型（permanet），这类内存通常是在分配时就确定了固定的用途，不能用于其他用途，因此极容易产生碎片。
Oracle从9i开始，根据shared pool的大小将shared pool分为多个子池（subpool)，每个子池有独立的free list，同时在分配时单独管理（有其独立 的shared pool latch）。Oracle的BUG或者说是内存分配策略缺陷导致某一类shared pool的内存分配只在一个子池(subpool)中，即多个子池的使用极不均衡，导致向那个使用得最多的子池申请内存时失败。报错信息中的&amp;#8221;sga heap(3,0)&amp;#8221;即指明是在第3个子池申请内存时失败。本文案例中的ORA-04031错误其产生的原因可以归结为Oracle对shared pool的分配/使用策略问题。
操作系统内存不足，这只会出现在shared pool的使用还没有达到最大值时才会出现，并且在操作系统都有swap的情况下，只有部分操作系统才可能有这种情况，比如在HP-UX下，reserved 内存过多导致swap满。
其他原因，多数是因为BUG。请参考下面提及的MOS参考文档。

本文中的案例，其数据库是运行在AIX [...]&lt;img src=&quot;http://www1.feedsky.com/t1/630491440/laoxiong/feedsky/s.gif?r=http://www.laoxiong.net/an-ora-04031-case.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>trouble</category><category>Oracle Trouble Shooting</category><pubDate>Fri, 29 Apr 2011 18:12:51 +0800</pubDate><author>老熊</author><comments>http://www.laoxiong.net/an-ora-04031-case.html#comments</comments><guid isPermaLink="false">http://www.laoxiong.net/?p=716</guid><dc:creator>老熊</dc:creator><fs:srclink>http://www.laoxiong.net/an-ora-04031-case.html</fs:srclink><fs:srcfeed>http://www.laoxiong.net/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/laoxiong/~7093197/630491440/5201748</fs:itemid></item></channel></rss>
