<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ora-solutions.net - Martin Decker &#187; Real Application Clusters</title>
	<atom:link href="http://www.ora-solutions.net/web/category/oracle-database/real-application-clusters-oracle-database-2/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ora-solutions.net/web</link>
	<description>Indepented Oracle consultant</description>
	<lastBuildDate>Wed, 14 Jul 2010 17:59:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Speech at DOAG Conference 2009 &#8211; RAC PreProduction Testing</title>
		<link>http://www.ora-solutions.net/web/2009/11/20/speech-at-doag-conference-2009-rac-preproduction-testing/</link>
		<comments>http://www.ora-solutions.net/web/2009/11/20/speech-at-doag-conference-2009-rac-preproduction-testing/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 22:06:48 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[10g]]></category>
		<category><![CDATA[11g]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Real Application Clusters]]></category>

		<guid isPermaLink="false">http://www.ora-solutions.net/web/?p=798</guid>
		<description><![CDATA[I just came back from the DOAG Conference 2009, the german Oracle user group conference in Nürnberg where I had a speech about RAC PreProduction Testing. I have uploaded the slides and the paper to the papers section. At this time, the presentation is available in german only. 
]]></description>
			<content:encoded><![CDATA[<p>I just came back from the DOAG Conference 2009, the german Oracle user group conference in Nürnberg where I had a speech about RAC PreProduction Testing. I have uploaded the slides and the paper to the <a href="http://www.ora-solutions.net/web/papers/">papers section</a>. At this time, the presentation is available in german only. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ora-solutions.net/web/2009/11/20/speech-at-doag-conference-2009-rac-preproduction-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multipathing Configuration issue waiting to happen</title>
		<link>http://www.ora-solutions.net/web/2009/08/05/multipathing-configuration-issue-waiting-to-happen/</link>
		<comments>http://www.ora-solutions.net/web/2009/08/05/multipathing-configuration-issue-waiting-to-happen/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 20:52:49 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux Itanium]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Real Application Clusters]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ora-solutions.net/web/?p=728</guid>
		<description><![CDATA[Quite some time ago, I came across a quite hard to find issue during a consulting engagement, which i find worth mentioning. A 2 node RAC cluster running on RHEL4 x86-64 was relocated to a different data center. Apart from making sure, that the switch ports and Fibre Channel Ports are available on the new [...]]]></description>
			<content:encoded><![CDATA[<p>Quite some time ago, I came across a quite hard to find issue during a consulting engagement, which i find worth mentioning. A 2 node RAC cluster running on RHEL4 x86-64 was relocated to a different data center. Apart from making sure, that the switch ports and Fibre Channel Ports are available on the new location, there is not much to worry about.</p>
<p>After the relocation, on one node the multipathing configuration, implemented with dev-mapper-multipath would not work. The command &#8220;multipath -ll&#8221; would just not return any output. After more than an hour, we pinned the issue down to the error message:</p>
<blockquote><p># multipath -v 3<br />
#<br />
# all paths in cache :<br />
#<br />
&#8230;<br />
&#8230;<br />
&#8230;<br />
path sdh not found in pathvec</p></blockquote>
<p>When checking what device sdh was, we realized that this was a KVM device, plugged in by the sysadmins. </p>
<blockquote><p>
May 27 14:46:26 host1 kernel: Attached scsi removable disk sdh at scsi10, channel 0, id 0, lun 0<br />
May 27 14:46:26 host1 kernel:   Type:   Direct-Access                      ANSI SCSI revision: 02<br />
May 27 14:46:26 host1 kernel:   Vendor: KVM       Model: vmDisk            Rev: 0.01<br />
May 27 14:46:26 host1 kernel: scsi10 : SCSI emulation for USB Mass Storage devices<br />
May 27 14:46:26 host1 kernel: sr1: scsi3-mmc drive: 0x/0x caddy<br />
May 27 14:46:26 host1 kernel:   Type:   CD-ROM                             ANSI SCSI revision: 02<br />
May 27 14:46:26 host1 kernel:   Vendor: KVM       Model: vmDisk-CD         Rev: 0.01
</p></blockquote>
<blockquote><p>
<strong>BTW: What is a KVM device?</strong><br />Wikipedia states: A KVM switch (with KVM being an abbreviation for Keyboard, Video or Visual Display Unit, Mouse) is a hardware device that allows a user to control multiple computers from a single keyboard, video monitor and mouse.</p></blockquote>
<p>We then added the device sdh to the multipath blacklist section in /etc/multipath.conf, and the problem was solved:</p>
<blockquote><p>devnode_blacklist {<br />
devnode &#8220;^sdh$&#8221;<br />
}</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.ora-solutions.net/web/2009/08/05/multipathing-configuration-issue-waiting-to-happen/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Default 10gR2 RAC TNS Configuration can cause TCP Timeouts for application</title>
		<link>http://www.ora-solutions.net/web/2009/05/12/default-10gr2-rac-tns-configuration-can-cause-tcp-timeouts-for-application/</link>
		<comments>http://www.ora-solutions.net/web/2009/05/12/default-10gr2-rac-tns-configuration-can-cause-tcp-timeouts-for-application/#comments</comments>
		<pubDate>Tue, 12 May 2009 14:57:06 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[10g]]></category>
		<category><![CDATA[Bugs]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Real Application Clusters]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.ora-solutions.net/web/?p=625</guid>
		<description><![CDATA[The default RAC installation does normally not set &#8220;local_listener&#8221; init.ora parameter. If the listener is running on port 1521, then the database does not need the parameter in order to find and register with the local TNS listener process. However, if you have *not* set local_listener, it means that the database registers at the listener [...]]]></description>
			<content:encoded><![CDATA[<p>The default RAC installation does normally not set &#8220;local_listener&#8221; init.ora parameter. If the listener is running on port 1521, then the database does not need the parameter in order to find and register with the local TNS listener process. However, if you have *not* set local_listener, it means that the database registers at the listener with the physical IP address instead of the virtual (vip) address. </p>
<p>You can determine if this happens when you take a look at &#8220;lsnrctl serv&#8221; output from your rac nodes:</p>
<pre>
Service "S_APP" has 1 instance(s).
  Instance "MDDB1", status READY, has 2 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:0 refused:0 state:ready
         REMOTE SERVER
         (ADDRESS=(PROTOCOL=TCP)(HOST=ora-vm1.intra)(PORT=1521))
</pre>
<p>Instead of ora-vm1.intra, this should be ora-vm1-vip.intra.</p>
<p><strong>Why should I care?</strong></p>
<p>If you use the default configuration, then you are using the parameter “REMOTE_LISTENER” and therefore Server Side Connect Time Load Balancing. This means, that the listeners of all nodes receive load information from all instances of all nodes and they can redirect connections to the least loaded instance, even if the instance is on another node. But the connect string they then send back to the client contains the physical IP address instead of the virtual. </p>
<p>In case of node crashes or kernel panics, etc. the client has to wait for the TCP timeout until this is detected. </p>
<p><strong>Solution</strong></p>
<pre>
tnsnames.ora:

LISTENER_MDDB1 =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ora-vm1-vip.intra)(PORT = 1521))
  )

LISTENER_MDDB2 =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ora-vm2-vip.intra)(PORT = 1521))
  )

init.ora:
alter system set local_listener = 'LISTENER_MDDB1' sid='MDDB1';
alter system set local_listener = 'LISTENER_MDDB2' sid='MDDB2';
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.ora-solutions.net/web/2009/05/12/default-10gr2-rac-tns-configuration-can-cause-tcp-timeouts-for-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Your experience with RAC Dynamic Remastering (DRM) in 10gR2?</title>
		<link>http://www.ora-solutions.net/web/2009/05/12/your-experience-with-rac-dynamic-remastering-drm-in-10gr2/</link>
		<comments>http://www.ora-solutions.net/web/2009/05/12/your-experience-with-rac-dynamic-remastering-drm-in-10gr2/#comments</comments>
		<pubDate>Tue, 12 May 2009 14:37:48 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[10g]]></category>
		<category><![CDATA[Bugs]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux Itanium]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Performance Tuning]]></category>
		<category><![CDATA[Real Application Clusters]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.ora-solutions.net/web/?p=662</guid>
		<description><![CDATA[One of my customers is having severe RAC performance issues, which appeared a dozen times so far. Each time, the performance impact lasted around 10 minutes and caused basically a hang of the application. ASH investigation revealed that the time frame of performance issues exactly matches a DRM operation of the biggest segment of the [...]]]></description>
			<content:encoded><![CDATA[<p>One of my customers is having severe RAC performance issues, which appeared a dozen times so far. Each time, the performance impact lasted around 10 minutes and caused basically a hang of the application. ASH investigation revealed that the time frame of performance issues exactly matches a DRM operation of the biggest segment of the database. During the problematic time period, there are 20-50 instead of 5-10 active sessions and they are mostly waiting for gc related events: &#8220;gc buffer busy&#8221;,&#8221;gc cr block busy&#8221;, &#8220;gc cr block 2-way&#8221;, &#8220;gc current block 2-way&#8221;, &#8220;gc current request&#8221;, &#8220;gc current grant busy&#8221;, etc.</p>
<p>In addition, there is one single session which has wait event &#8220;<strong>kjbdrmcvtq lmon drm quiesce: ping completion</strong>&#8221; (on instance 1) and 1-3 sessions with wait event &#8220;<strong>gc remaster</strong>&#8220;. (on instance 2) The cur_obj# of the session waiting on &#8220;gc remaster&#8221; is pointing to the segment being remastered.</p>
<p>Does anybody have any experience with DRM problems with 10.2.0.4 on Linux Itanium?</p>
<p>I know that it is possible to deactive DRM, but usually it should be beneficial to have it enabled. I could not find any reports of performance impact during DRM operation on metalink. Support is involved but clueless so far.</p>
<p>Regards,<br />
Martin</p>
<p><a href="http://forums.oracle.com/forums/message.jspa?messageID=3447436#3447436">http://forums.oracle.com/forums/message.jspa?messageID=3447436#3447436</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ora-solutions.net/web/2009/05/12/your-experience-with-rac-dynamic-remastering-drm-in-10gr2/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Autostart Oracle Services at Clusterware startup</title>
		<link>http://www.ora-solutions.net/web/2009/03/19/autostart-oracle-services-at-clusterware-startup/</link>
		<comments>http://www.ora-solutions.net/web/2009/03/19/autostart-oracle-services-at-clusterware-startup/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 09:54:53 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[10g]]></category>
		<category><![CDATA[11g]]></category>
		<category><![CDATA[Real Application Clusters]]></category>

		<guid isPermaLink="false">http://www.ora-solutions.net/web/?p=614</guid>
		<description><![CDATA[I recently recommended the utilization of Oracle Services to a new client. I knew that you have to start a service manually if you restart your cluster. I told them that I will investigate on how to set the services to autostart. I knew that there is an AUTO_START property of the clusterware service resource [...]]]></description>
			<content:encoded><![CDATA[<p>I recently recommended the utilization of Oracle Services to a new client. I knew that you have to start a service manually if you restart your cluster. I told them that I will investigate on how to set the services to autostart. I knew that there is an AUTO_START property of the clusterware service resource set to &#8220;restore&#8221;, which means that at instance crash, Clusterware will restore the services to the status before crash. However, on manual shutdown/startup, the services will not be autostarted.</p>
<blockquote><p>[root@ora-vm1 tmp]# crs_stat -p ora.MDDB.S_TEST.MDDB1.srv<br />
NAME=ora.MDDB.S_TEST.MDDB1.srv<br />
TYPE=application<br />
AUTO_START=restore<br />
&#8230;</p></blockquote>
<p>I did some research and learned that the easiest way to configure autostart is with user callouts. A quick web search referred me to the OTN site <a href="http://www.oracle.com/technology/sample_code/products/rac/index.html">&#8220;Real Application Clusters Sample Scripts&#8221;</a> which contains a <a href="http://www.oracle.com/technology/sample_code/products/rac/zip/startsrvonup.zip">FAN callout script to autostart services</a>.</p>
<p>The steps to install the scripts are:</p>
<ol>
<li>Copy them to $ORA_CRS_HOME/racg/usrco on both nodes</li>
<li>Set permissions to 710 and ownership to oracle:oinstall or whatever your installation is using.</li>
<li>Modify perl Scripts to contain your ORA_CRS_HOME, ORACLE_HOME. Moreover, if you have used short hostnames for your CRS installation, you have to change &#8220;/bin/hostname&#8221; to &#8220;/bin/hostname -s&#8221;.</li>
</ol>
<p>I just realized that<a href="http://www.dannorris.com/2009/03/12/start-database-services-automatically-after-instance-startup/"> Dan Norris</a> also blogged about this topic.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ora-solutions.net/web/2009/03/19/autostart-oracle-services-at-clusterware-startup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing LTOM for RAC Hanganalyze</title>
		<link>http://www.ora-solutions.net/web/2008/12/17/installing-ltom-for-rac-hanganalyze/</link>
		<comments>http://www.ora-solutions.net/web/2008/12/17/installing-ltom-for-rac-hanganalyze/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 12:40:35 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[10g]]></category>
		<category><![CDATA[11g]]></category>
		<category><![CDATA[9iR2]]></category>
		<category><![CDATA[MetaLink]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Real Application Clusters]]></category>

		<guid isPermaLink="false">http://www.ora-solutions.net/web/?p=496</guid>
		<description><![CDATA[I have recently written a short installation instruction for a customer to use LTOM for RAC hanganalyze.

Download von MetaLink Note 352363.1:
https://metalink2.oracle.com/cgi-bin/cr/getfile.cgi?p_attid=352363.1:ltom


unzip as User Oracle in directory with sufficient space. subdir ltom will be created

tar xfv ltom411.tar

Install statspack


Installation: db account ltom/ltom will be created

Java Binary in path
which java
if not, place java in path in ~/.bash_profile:
als User [...]]]></description>
			<content:encoded><![CDATA[<p>I have recently written a short installation instruction for a customer to use LTOM for RAC hanganalyze.</p>
<ul>
<li>Download von MetaLink Note 352363.1:<br />
https://metalink2.oracle.com/cgi-bin/cr/getfile.cgi?p_attid=352363.1:ltom</li>
</ul>
<ul>
<li>unzip as User Oracle in directory with sufficient space. subdir ltom will be created</li>
</ul>
<blockquote><p>tar xfv ltom411.tar</p></blockquote>
<ul>
<li>Install statspack</li>
</ul>
<ul>
<li>Installation: db account ltom/ltom will be created</li>
</ul>
<blockquote><p>Java Binary in path<br />
which java</p>
<p>if not, place java in path in ~/.bash_profile:<br />
als User oracle: add $ORACLE_HOME/jre/1.4.2/bin to PATH Variable</p>
<p>e.g.:<br />
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/jre/1.4.2/bin</p>
<p>Put TOM_HOME in .~/.bash_profile:<br />
export TOM_HOME=/home/oracle/ltom/tom_base/install/../tom</p>
<p>Sourcen of TOM_HOME</p>
<p>cd /home/oracle/ltom/tom_base/install<br />
./autoinstall.sh</p>
<p>Sample Output:<br />
[oracle@ora-vm1 install]$ ./autoinstall.sh<br />
TOM_HOME=/home/oracle/ltom/tom_base/install/../tom<br />
rm: cannot remove `autoinstall.log&#8217;: No such file or directory</p>
<p>Preparing to install LTOM v4.0.0&#8230;</p>
<p>Checking your Oracle Environment&#8230;</p>
<p>ORACLE_HOME=/u01/app/oracle/product/10.2.0<br />
ORACLE_SID=ORA102<br />
TNS_ADMIN=<br />
TOM_HOME=/home/oracle/ltom/tom_base/install/../tom</p>
<p>Is this the correct Oracle environment you wish to use for installing LTOM?<br />
Hit Return to Accept Default:<br />
============================&gt; \c</p>
<p>Continuing the install with this environment</p>
<p>Checking for Java&#8230;</p>
<p>Java found.</p>
<p>Checking for top utility&#8230;<br />
Found top utility.</p>
<p>Checking for vmstat utility&#8230;<br />
Found vmstat utility.</p>
<p>Need to run some sql now to create TOM user<br />
it Return to allow setup to do this for you, enter other to do this manually:<br />
============================&gt; \c</p>
<p>Tom user created successfully.<br />
Warning&#8230;Please change tom password immediately!</p>
<p>Grant user Tom successful.<br />
Create package dbmssupp successful.<br />
Grant execute on dbmssupp successful.</p>
<p>Checking for statspack&#8230;</p>
<p>Cannot verify statspack is installed on your system.<br />
LTOM requires statspack to be installed to work properly.</p>
<p>Enter your email id to get notification of hangs via email&#8230;<br />
Hit Return to ignore hang notification via email:<br />
============================&gt; \c</p>
<p>Configuring tom_deploy.properties file&#8230;</p>
<p>TOM/LTOM successfully installed.</p>
<p>Please review any messages you received above.</p>
<p>REMEMBER: You must have TOM_HOME defined and java in your PATH<br />
before you can run TOM/LTOM.</p></blockquote>
<ul>
<li>Configuration</li>
</ul>
<blockquote><p>Change ltom/tom_base/tom/init/hangDetect.properties</p>
<p>from:<br />
#RAC_AWARE=TRUE<br />
HANGANALYZE=A<br />
SYSTEMSTATE=266<br />
DELAY=30<br />
HANGANALYZE=A<br />
SYSTEMSTATE=266</p>
<p>to:<br />
RAW_AWARE=TRUE<br />
HANGANALYZE=A<br />
SYSTEMSTATE=266<br />
DELAY=30<br />
HANGANALYZE=A<br />
SYSTEMSTATE=266</p>
<p>Change tom db passwort:</p>
<p>SQL&gt; alter user tom identified by secret;</p>
<p>Add credentials to config file:</p>
<p>vi tom_deploy.properties</p>
<p>DB_USERID=tom<br />
:q!</p>
<p>./startltom.sh -p<br />
Enter same password as in sqlplus. Password will be saved encrypted in tom_deploy.properties</p></blockquote>
<ul>
<li>edit tom_deploy.properties to decide which of the 3 modules should be running during background operations: hangdetect, profiler, session recorder</li>
</ul>
<ul>
<li>Start/Stop Scripts</li>
</ul>
<blockquote><p>vi start_ltom.sh<br />
#!/bin/bash<br />
. ~/.bash_profile<br />
nohup $TOM_HOME/startltom.sh -s &amp;</p>
<p>vi stop_ltom.sh<br />
#!/bin/bash<br />
touch $TOM_HOME/tmp/hang.stop<br />
touch $TOM_HOME/tmp/profile.stop<br />
touch $TOM_HOME/tmp/session.stop</p>
<p>chmod u+x start_ltom.sh<br />
chmod u+x stop_ltom.sh</p></blockquote>
<ul>
<li>If you want  to run ltom during a specific timeframe, use cron (as user oracle)</li>
</ul>
<blockquote><p>crontab -e<br />
45 01 * * *     /home/oracle/ltom/start_ltom.sh &gt;/dev/null 2&gt;/dev/null &lt;/dev/null<br />
00 05 * * *     /home/oracle/ltom/start_ltom.sh &gt;/dev/null 2&gt;/dev/null &lt;/dev/null</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.ora-solutions.net/web/2008/12/17/installing-ltom-for-rac-hanganalyze/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Troublshooting Trace Files of DIAG Background Process</title>
		<link>http://www.ora-solutions.net/web/2008/12/10/troublshooting-trace-files-of-diag-background-process/</link>
		<comments>http://www.ora-solutions.net/web/2008/12/10/troublshooting-trace-files-of-diag-background-process/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 16:25:18 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[10g]]></category>
		<category><![CDATA[11g]]></category>
		<category><![CDATA[9iR2]]></category>
		<category><![CDATA[MetaLink]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Real Application Clusters]]></category>

		<guid isPermaLink="false">http://www.ora-solutions.net/web/?p=481</guid>
		<description><![CDATA[In trace files of the background process DIAG, I saw an interesting section that I would like to share.

*** 2008-12-09 03:46:33.280
Dump requested by process [orapid=6]
REQUEST:custom dump [2] with parameters [6][27][4][2]
Dumping process info of pid[27.31384] requested by pid[6.31160]
ORA-00494: Message 494 not found; No message file for product=RDBMS, facility=ORA; arguments: [ [CF]] [ (more than 900 seconds)] [...]]]></description>
			<content:encoded><![CDATA[<p>In trace files of the background process DIAG, I saw an interesting section that I would like to share.</p>
<blockquote><p><code><br />
*** 2008-12-09 03:46:33.280<br />
Dump requested by process [orapid=6]<br />
REQUEST:custom dump [2] with parameters [6][27][4][2]<br />
Dumping process info of pid[27.31384] requested by pid[6.31160]<br />
ORA-00494: Message 494 not found; No message file for product=RDBMS, facility=ORA; arguments: [ [CF]] [ (more than 900 seconds)] [inst<br />
2, osid 31384]<br />
-------------------------------------------------------------------------------<br />
ENQUEUE [CF] HELD FOR TOO LONG<br />
enqueue holder: 'inst 2, osid 31384'<br />
Process 'inst 2, osid 31384' is holding an enqueue for maximum allowed time.<br />
The process will be terminated.<br />
Oracle Support Services triaging information: to find the root-cause, look<br />
at the call stack of process 'inst 2, osid 31384' located below. Ask the<br />
developer that owns the first NON-service layer in the stack to investigate.<br />
Common service layers are enqueues (ksq), latches (ksl), library cache<br />
pins and locks (kgl), and row cache locks (kqr).<br />
</code></p></blockquote>
<p>It is very nice of diag to tell me what to do with the output. <img src='http://www.ora-solutions.net/web/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />   Especially:</p>
<blockquote><p>Ask the developer that owns the first NON-service layer in the stack to investigate.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.ora-solutions.net/web/2008/12/10/troublshooting-trace-files-of-diag-background-process/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>System State Dump Evaluation with ass.awk</title>
		<link>http://www.ora-solutions.net/web/2008/12/10/system-state-dump-evaluation-with-assawk/</link>
		<comments>http://www.ora-solutions.net/web/2008/12/10/system-state-dump-evaluation-with-assawk/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 16:21:31 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[10g]]></category>
		<category><![CDATA[11g]]></category>
		<category><![CDATA[9iR2]]></category>
		<category><![CDATA[MetaLink]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Real Application Clusters]]></category>

		<guid isPermaLink="false">http://www.ora-solutions.net/web/?p=473</guid>
		<description><![CDATA[I have found out that there is an Oracle Support utility called ass.awk, which can be used to analyze and format a System State dump. It is contained in LTOM, which can be downloaded from MetaLink.
The AWK script is called ass109.awk and can be used in this manner:
[oracle@ora-vm1 ~]$ awk -f ass109.awk mddb1_diag_12345.trc
System State ASS:
Starting [...]]]></description>
			<content:encoded><![CDATA[<p>I have found out that there is an Oracle Support utility called ass.awk, which can be used to analyze and format a System State dump. It is contained in LTOM, which can be downloaded from MetaLink.</p>
<p>The AWK script is called ass109.awk and can be used in this manner:</p>
<blockquote><p><code>[oracle@ora-vm1 ~]$ awk -f ass109.awk mddb1_diag_12345.trc</p>
<p>System State ASS:<br />
Starting Systemstate 1<br />
..............................................................................<br />
.....<br />
Ass.Awk Version 1.0.9 - Processing mddb1_diag_12345.trc<br />
System State 1<br />
~~~~~~~~~~~~~~~~<br />
1:<br />
2: waiting for 'pmon timer' wait<br />
3: last wait for 'ksdxexeotherwait'<br />
4: waiting for 'rdbms ipc message' wait<br />
5: waiting for 'rdbms ipc message' wait<br />
6: waiting for 'ges remote message' wait<br />
7: waiting for 'gcs log flush sync' wait<br />
8: waiting for 'gcs log flush sync' wait<br />
9: waiting for 'rdbms ipc message' wait<br />
10: waiting for 'rdbms ipc message' wait<br />
11: waiting for 'enq: CF - contention' [Enqueue CF-00000000-00000000] wait<br />
12: waiting for 'rdbms ipc message' wait<br />
13: waiting for 'buffer busy waits' (2,a9,3b) wait<br />
14: waiting for 'rdbms ipc message' wait<br />
15: waiting for 'rdbms ipc message' wait<br />
16: waiting for 'buffer busy waits' (2,a9,3b) wait<br />
17: waiting for 'rdbms ipc message' wait<br />
18:<br />
19:<br />
20: waiting for 'rdbms ipc message' wait<br />
21: waiting for 'log file sync' wait<br />
22: waiting for 'ASM background timer' wait<br />
23: waiting for 'rdbms ipc message' wait<br />
24: waiting for 'log file sync' wait<br />
25: waiting for 'class slave wait' wait<br />
26: waiting for 'SQL*Net message from client' wait<br />
27: waiting for 'SQL*Net message from client' wait<br />
28: waiting for 'enq: CF - contention' [Enqueue CF-00000000-00000000] wait<br />
29: waiting for 'enq: CF - contention' [Enqueue CF-00000000-00000000] wait<br />
30: waiting for 'Streams AQ: qmn coordinator idle wait' wait<br />
31: waiting for 'SQL*Net message from client' wait<br />
32: waiting for 'SQL*Net message from client' wait<br />
Cmd: Select<br />
33: waiting for 'log file sync' wait<br />
34: waiting for 'Streams AQ: qmn slave idle wait' wait<br />
35: for 'Streams AQ: waiting for time management or cleanup tasks' wait<br />
36: waiting for 'log file sync' wait<br />
37: waiting for 'SQL*Net message from client' wait<br />
Cmd: Select<br />
38: waiting for 'SQL*Net message from client' wait<br />
39: waiting for 'SQL*Net message from client' wait<br />
40: waiting for 'PX Deq: Execution Msg' wait<br />
41: waiting for 'log file sync' wait<br />
42: waiting for 'log file sync' wait<br />
43: waiting for 'enq: CF - contention' [Enqueue CF-00000000-00000000] wait<br />
Cmd: Select<br />
44: waiting for 'SQL*Net message from client' wait<br />
45: waiting for 'SQL*Net message from client' wait<br />
46: waiting for 'SQL*Net message from client' wait<br />
47: waiting for 'SQL*Net message from client' wait<br />
48: waiting for 'SQL*Net message from client' wait<br />
49: waiting for 'log file sync' wait<br />
50: waiting for 'SQL*Net message from client' wait<br />
51: waiting for 'SQL*Net message from client' wait<br />
Cmd: Select<br />
52: waiting for 'row cache lock' [Rcache object=0xa5414098,] wait<br />
Cmd: Select<br />
53: waiting for 'SQL*Net message from client' wait<br />
54: waiting for 'SQL*Net message from client' wait<br />
55: for 'Streams AQ: waiting for messages in the queue' wait<br />
56: waiting for 'SQL*Net message from client' wait<br />
57: waiting for 'SQL*Net message from client' wait<br />
58: waiting for 'log file sync' wait<br />
Cmd: Insert<br />
59: waiting for 'jobq slave wait' wait<br />
60: waiting for 'jobq slave wait' wait<br />
61: waiting for 'SQL*Net message from client' wait<br />
62: waiting for 'SQL*Net message from client' wait<br />
63: waiting for 'SQL*Net message from client' wait<br />
65: waiting for 'SQL*Net message from client' wait<br />
Cmd: Select<br />
66: waiting for 'SQL*Net message from client' wait<br />
67: last wait for 'SQL*Net message from client'<br />
68: waiting for 'SQL*Net message from client' wait<br />
69: waiting for 'SQL*Net message from client' wait<br />
70: waiting for 'SQL*Net message from client' wait<br />
71: waiting for 'SQL*Net message from client' wait<br />
72: waiting for 'SQL*Net message from client' wait<br />
73: waiting for 'SQL*Net message from client' wait<br />
74: waiting for 'SQL*Net message from client' wait<br />
Cmd: Select<br />
75: waiting for 'SQL*Net message from client' wait<br />
Cmd: Select<br />
76: waiting for 'SQL*Net message from client' wait<br />
77: waiting for 'log file sync' wait<br />
78: waiting for 'SQL*Net message from client' wait<br />
80: waiting for 'SQL*Net message from client' wait<br />
Cmd: Select<br />
82: waiting for 'SQL*Net message from client' wait<br />
84: waiting for 'log file sync' wait<br />
86: waiting for 'SQL*Net message from client' wait<br />
93: waiting for 'SQL*Net message from client' wait<br />
94: waiting for 'SQL*Net message from client' wait<br />
Blockers<br />
~~~~~~~~<br />
Above is a list of all the processes. If they are waiting for a resource<br />
then it will be given in square brackets. Below is a summary of the<br />
waited upon resources, together with the holder of that resource.<br />
Notes:<br />
~~~~~<br />
o A process id of '???' implies that the holder was not found in the<br />
systemstate.<br />
Resource Holder State<br />
Enqueue CF-00000000-00000000 12: waiting for 'rdbms ipc message'<br />
Rcache object=0xa5414098, ??? Blocker<br />
Object Names<br />
~~~~~~~~~~~~<br />
Enqueue CF-00000000-00000000<br />
Rcache object=0xa5414098,</code></p></blockquote>
<p>With this information, you can investigate further into the System state dump by looking at rcache object 0xa5414098. The &#8220;State Objects&#8221; are a hierarchical structure. Every state object has an adress &#8220;SO: 0xa6a5955c&#8221; and an owner, which is the parent entry. In this case, you can construct a hierarchical tree of state objects and find dependencies. </p>
<blockquote><p><code> SO: 0xa6a5995c, type: 2, owner: (nil), flag: INIT/-/-/0x00<br />
 (process) Oracle pid=52, calls cur/top: 0x9d62eb1c/0x9d5ccfcc, flag: (0) -<br />
		   int error: 0, call error: 0, sess error: 0, txn error 0<br />
 (post info) last post received: 0 0 163<br />
			 last post received-location: kqrbtm<br />
			 last process to post me: a6a4e1dc 1 6<br />
			 last post sent: 0 0 24<br />
			 last post sent-location: ksasnd<br />
			 last process posted by me: a6a4e1dc 1 6<br />
   (latch info) wait_event=0 bits=0<br />
	Process Group: DEFAULT, pseudo proc: 0xa6baf79c<br />
	O/S info: user: oracle, term: UNKNOWN, ospid: 29032<br />
    OSD pid info: Unix process pid: 29032, image: oracle@ora-vm1<br />
    Short stack dump: ksdxfstk()+19<-ksdxcb()+1321<-sspuser()+102<-__kernel_vsyscall()+16</p>
<p>    SO: 0xa4123d20, type: 4, owner: 0xa6a5995c, flag: INIT/-/-/0x00<br />
    (session) sid: 955 trans: (nil), creator: 0xa6a5995c, flag: (41) USR/- BSY/-/-/-/-/-<br />
              DID: 0001-0034-00002227, short-term DID: 0001-0034-00002228<br />
              txn branch: (nil)<br />
              oct: 3, prv: 0, sql: 0x8fee9d44, psql: 0x8fee9f00, user: 23/DBSNMP<br />
     service name: SYS$USERS<br />
     O/S info: user: oracle, term: , ospid: 28849, machine: ora-vm1<br />
               program: emagent@ora-vm1(TNS V1-V3)<br />
     application name: emagent@ora-vm1(TNS V1-V3), hash value=2420928497<br />
     waiting for 'row cache lock' blocking sess=0x(nil) seq=127 wait_time=0 seconds since wait started=0<br />
                 cache id=d, mode=0, request=5<br />
     Dumping Session Wait History<br />
      for 'row cache lock' count=1 wait_time=1337230<br />
		         cache id=d, mode=0, request=5<br />
      for 'row cache lock' count=1 wait_time=2930561<br />
                 cache id=d, mode=0, request=5<br />
      for 'row cache lock' count=1 wait_time=2929106<br />
                 cache id=d, mode=0, request=5<br />
      for 'row cache lock' count=1 wait_time=2933326</p>
<p>      SO: 0x9d5ccfcc, type: 3, owner: 0xa6a5995c, flag: INIT/-/-/0x00<br />
     (call) sess: cur a4123d20, rec a4123d20, usr a4123d20; depth: 0<br />
       ----------------------------------------<br />
       SO: 0x9d51b1a0, type: 3, owner: 0x9d5ccfcc, flag: INIT/-/-/0x00<br />
       (call) sess: cur a4123d20, rec a417f990, usr a4123d20; depth: 1<br />
         ----------------------------------------<br />
         SO: 0x9d69d7f0, type: 3, owner: 0x9d51b1a0, flag: INIT/-/-/0x00<br />
         (call) sess: cur a417f990, rec a417f990, usr a4123d20; depth: 2<br />
         ----------------------------------------<br />
           SO: 0x9d5e547c, type: 3, owner: 0x9d69d7f0, flag: INIT/-/-/0x00<br />
           (call) sess: cur a417f990, rec a417f990, usr a4123d20; depth: 3<br />
           ----------------------------------------<br />
             SO: 0x9d62eb1c, type: 3, owner: 0x9d5e547c, flag: INIT/-/-/0x00<br />
             (call) sess: cur a417f990, rec a417f990, usr a4123d20; depth: 4<br />
             ----------------------------------------<br />
               SO: 0x9fedf748, type: 40, owner: 0x9d62eb1c, flag: INIT/-/-/0x00<br />
               (trans) flg = 0x21, flg2 = 0x80000, prx = 0x0, ros = 2147483647 bsn = 0x395 bndsn = 0x395 spn = 0x395<br />
               efd = 34<br />
               parent xid: 0x0000.000.00000000<br />
               env: (scn: 0x0000.00000000 xid: 0x0000.000.00000000 uba: 0x00000000.0000.00 statement num=0 parent xid: xid:<br />
               0x0000.000.00000000 scn: 0x0000.00000000 0sch: scn: 0x0000.00000000)<br />
               cev: (spc = 0 arsp = 0 ubk tsn: 0 rdba: 0x00000000 useg tsn: 0 rdba: 0x00000000<br />
                     hwm uba: 0x00000000.0000.00 col uba: 0x00000000.0000.00<br />
                     num bl: 0 bk list: 0x0)<br />
                     cr opc: 0x0 spc: 0 uba: 0x00000000.0000.00<br />
               (enqueue) TX-00010011-00D3B4CF DID: 0001-0051-00001323<br />
               lv: 7c ac ad 4d 03 00 00 00 00 00 00 00 00 00 00 00 res_flag: 0x45<br />
               res: 0xa447bb2c, lock_flag: 0x0<br />
               own: 0xa4157e90, sess: 0xa4157e90, prv: 0x9fedf774<br />
               slk: (nil)<br />
                xga: 0x0, heap: UGA<br />
               Trans IMU st: 0 Pool index 65535, Redo pool 0x9fedfb74, Undo pool 0x9fedfbf0<br />
               Redo pool range [0x40ed57e8 0x40ed57e8 0x40ed7fe8]<br />
               Undo pool range [0x40ed2fe8 0x40ed2fe8 0x40ed57e8]<br />
               ----------------------------------------<br />
                  SO: 0x9d42237c, type: 50, owner: 0x9fedf748, flag: INIT/-/-/0x00<br />
                  row cache enqueue: count=1 session=0xa4123d20 object=0xa5414098, request=X<br />
                  savepoint=0x395<br />
                  row cache parent object: address=0xa5414098 cid=13(dc_sequences)<br />
                  hash=9649e7e typ=9 transaction=(nil) flags=00000000<br />
                  own=0xa5414104[0xa5414104,0xa5414104] wat=0xa541410c[0x9d422398,0x9d422398] mode=N<br />
                  status=-/-/-/-/-/-/-/-/-<br />
                  request=X release=FALSE flags=2<br />
                  instance lock id=QN 010cdbb3 b3b24847</code></p></blockquote>
<p>Tanel Poder showed in his seminar to use "grep -A 3 SO:" to find all lines containing the State Object Adresses and the following 3 lines to get the tree.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ora-solutions.net/web/2008/12/10/system-state-dump-evaluation-with-assawk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Add Dependency of Database Instance on ASM to OCR</title>
		<link>http://www.ora-solutions.net/web/2008/12/03/add-dependency-of-database-instance-on-asm-to-ocr/</link>
		<comments>http://www.ora-solutions.net/web/2008/12/03/add-dependency-of-database-instance-on-asm-to-ocr/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 22:30:03 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[10g]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Real Application Clusters]]></category>

		<guid isPermaLink="false">http://www.ora-solutions.net/web/?p=455</guid>
		<description><![CDATA[Today at a presentation of Grégory Guillou and Alex Gorbachev from The Pythian Group at UKOUG 2008, I learned that the dependency of RAC database instances on ASM is not set up when adding the database instances to OCR via srvctl add instance. 
I was wondering in the past, why the database instances would sometimes [...]]]></description>
			<content:encoded><![CDATA[<p>Today at a presentation of Grégory Guillou and Alex Gorbachev from The Pythian Group at UKOUG 2008, I learned that the dependency of RAC database instances on ASM is not set up when adding the database instances to OCR via srvctl add instance. </p>
<p>I was wondering in the past, why the database instances would sometimes not start up correctly when booting and fail at loading the spfile from ASM.</p>
<p>So, if you did not use DBCA to create and register your RAC database with OCR but srvctl, as shown here:</p>
<p><code></p>
<blockquote><p>
 $ srvctl add database -d BOSTON –o /opt/oracle/product/10g_db_rac<br />
 $ srvctl add instance -d BOSTON -i BOSTON1 -n boston_host1<br />
 $ srvctl add instance -d BOSTON -i BOSTON2 -n boston_host2
</p></blockquote>
<p></code></p>
<p> then you have to create this dependency manually in order to determine the appropriate startup order:</p>
<p><code></p>
<blockquote><p>$ srvctl modify instance –d BOSTON –i BOSTON1 –s +ASM1<br />
$ srvctl modify instance –d BOSTON –i BOSTON2 –s +ASM2
</p></blockquote>
<p></code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ora-solutions.net/web/2008/12/03/add-dependency-of-database-instance-on-asm-to-ocr/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Excellent Presentations on</title>
		<link>http://www.ora-solutions.net/web/2008/11/16/excellent-presentations-on/</link>
		<comments>http://www.ora-solutions.net/web/2008/11/16/excellent-presentations-on/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 18:27:08 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[10g]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Performance Tuning]]></category>
		<category><![CDATA[Real Application Clusters]]></category>

		<guid isPermaLink="false">http://www.ora-solutions.net/web/?p=443</guid>
		<description><![CDATA[The database specialist Riyaj Shamsudeen from The Pythian Group has published some excellent presentations on his blog. Don´t miss it! 
]]></description>
			<content:encoded><![CDATA[<p>The database specialist Riyaj Shamsudeen from The Pythian Group has published some <a href="http://www.pythian.com/blogs/1330/riyajs-presentations-at-sioug-and-doug">excellent presentations</a> on his blog. Don´t miss it! </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ora-solutions.net/web/2008/11/16/excellent-presentations-on/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
