<?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>DanNorris.com &#187; RAC</title>
	<atom:link href="http://www.dannorris.com/tag/rac/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dannorris.com</link>
	<description></description>
	<lastBuildDate>Tue, 31 Aug 2010 05:24:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>ADV: RAC Attack Hands-on Event at Collaborate09</title>
		<link>http://www.dannorris.com/2009/03/30/adv-rac-attack-hands-on-event-at-collaborate09/</link>
		<comments>http://www.dannorris.com/2009/03/30/adv-rac-attack-hands-on-event-at-collaborate09/#comments</comments>
		<pubDate>Mon, 30 Mar 2009 15:49:41 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Collaborate Conference]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[IOUG]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[RAC]]></category>
		<category><![CDATA[RAC SIG]]></category>
		<category><![CDATA[VMWare]]></category>
		<category><![CDATA[collab09]]></category>
		<category><![CDATA[collaborate09]]></category>
		<category><![CDATA[handson]]></category>
		<category><![CDATA[lab]]></category>
		<category><![CDATA[racsig]]></category>

		<guid isPermaLink="false">http://www.dannorris.com/?p=367</guid>
		<description><![CDATA[The RAC SIG, Oracle and IOUG are thrilled to present the hands-on event dubbed &#8220;RAC Attack!&#8221; at Collaborate09 in Orlando, FL. It is a half-day University Session in the IOUG Forum scheduled for the morning of Thursday, May 7th. Each participant will have their own private RAC cluster to use. You&#8217;ll be able to install [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.oracleracsig.org/">RAC SIG</a>, Oracle and <a href="http://www.ioug.org/">IOUG</a> are thrilled to present the hands-on event dubbed &#8220;<a href="http://www.ioug.org/collaborate09/attending/university.cfm#u18">RAC Attack!</a>&#8221; at <a href="http://www.collaborate09.com/">Collaborate09</a> in Orlando, FL. It is a half-day University Session in the IOUG Forum scheduled for the morning of Thursday, May 7th.</p>
<p>Each participant will have their own private RAC cluster to use. You&#8217;ll be able to install a new cluster, test session failover, perform backup and recovery and just about anything else you&#8217;d like to try (time permitting). The session will have lab outlines with very specific instructions that cater to beginners. Advanced users are welcome to test anything they like. If you try something that doesn&#8217;t work, we have mechanisms in place to help &#8220;reset&#8221; your cluster in 15 minutes and let you continue working and testing.</p>
<p>Here&#8217;s the official conference abstract for the session:</p>
<p>&#8220;Whether you’re new to or familiar with Real Application Clusters (RAC), you do not want to miss the IOUG RAC Attack! hands-on lab. The hands-on lab will cover: cluster installation prerequisites on Linux, installing Oracle clusterware, installing Oracle RDBMS, creating RAC database, failure testing and backup/recovery testing.</p>
<p>Also, you&#8217;ll have a chance to interact with some RAC experts from IOUG, Oracle and the RAC SIG, as they&#8217;ll be available to help you as you navigate the hands-on exercises. These volunteers are sharing their knowledge to help you be successful with your learning experience. This opportunity doesn&#8217;t come along often, so don&#8217;t miss a chance to pick the brains of our experts!&#8221;</p>
<p>There are still seats available for this event, but there is a limit, so don&#8217;t delay. It is an additional cost above the Collaborate09 conference <a href="http://www.ioug.org/collaborate09/attending/registration.cfm">registration</a>, but I think you&#8217;ll find it to be packed with knowledge and experts to help you get the hands-on experience you need to grow and succeed with Oracle RAC. The session will be staffed with Oracle, IOUG and RAC SIG experts ready to help you and answer questions about RAC and clustering. Don&#8217;t miss out!</p>
<p>If you&#8217;ve already registered, you can add on the University Session by <a href="https://www.ioug.org/secure/contact/">contacting IOUG</a>. If you haven&#8217;t registered yet, there is still time left&#8211;<a href="http://www.ioug.org/collaborate09/attending/registration.cfm">sign up now</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dannorris.com/2009/03/30/adv-rac-attack-hands-on-event-at-collaborate09/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Start Database Services automatically after instance startup</title>
		<link>http://www.dannorris.com/2009/03/12/start-database-services-automatically-after-instance-startup/</link>
		<comments>http://www.dannorris.com/2009/03/12/start-database-services-automatically-after-instance-startup/#comments</comments>
		<pubDate>Fri, 13 Mar 2009 04:15:23 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[RAC]]></category>
		<category><![CDATA[RAC SIG]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[clusterware]]></category>
		<category><![CDATA[services]]></category>

		<guid isPermaLink="false">http://www.dannorris.com/?p=350</guid>
		<description><![CDATA[Those of us that have dealt with RAC environments for a while are familiar with the behavior of Oracle Services in an Oracle Cluster. Services are an essential component for managing workload in a RAC environment. If you&#8217;re not defining any non-default services in your RAC database, you&#8217;re making a mistake. To learn more about [...]]]></description>
			<content:encoded><![CDATA[<p>Those of us that have dealt with RAC environments for a while are familiar with the behavior of Oracle Services in an Oracle Cluster. Services are an essential component for managing workload in a RAC environment. If you&#8217;re not defining any non-default services in your RAC database, you&#8217;re making a mistake. To learn more about services, I strongly recommend reading the <a href="http://www.ardentperf.com/pub/services-schneider07.pdf">definitive whitepaper by Jeremy Schneider</a> on the topic.</p>
<p>In an Oracle RAC cluster, services can be started, stopped, and relocated from one instance to another. However, if you have multiple services for your database, then it becomes difficult to start them at a cold start. Due to dependencies in Oracle Clusterware,<span id="more-350"></span> services are stopped when all instances of a database are stopped. However, when you start instances, services are left OFFLINE and you&#8217;re forced to start them manually. If you have just one additional service (first of all, you should probably use more than one unless you have a very small user community), you can just start the service and that will start the instances necessary to bring the service up via dependencies in Oracle Clusterware. If you have multiple services, though, you still have to start the rest of them manually.</p>
<p>There is a solution to this problem that uses the normal Oracle Clusterware operations to automatically start any services for the instance that was started on the local node automatically. This is done with a small perl script that is run as an Oracle Clusterware cluster callout. Cluster callouts are scripts or programs that Oracle Clusterware will run whenever a cluster &#8220;event&#8221; (like starting or stopping an instance) occurs. It calls these programs with many command-line arguments that can be parsed to determine what the event is about and why it was fired. The program can use these arguments to filter out the events that aren&#8217;t interesting to it and act on the events that it wishes to act upon. You create a new &#8220;callout&#8221; by placing an executable (script or binary) in the <code>$ORA_CRS_HOME/racg/usrco</code> directory. Each executable file found in that directory will be executed for each event that happens locally.</p>
<p>In our case, we want to look for instance startup events and then query Oracle Clusterware to determine which services should be started and start them. A script to do exactly that is provided by the Oracle RAC and Clusterware team on their <a href="http://www.oracle.com/technology/sample_code/products/rac/index.html">sample code page</a> titled &#8220;<a href="http://www.oracle.com/technology/sample_code/products/rac/zip/startsrvonup.zip">Start Services on Instance Up</a>&#8220;. There you will find a small zip archive that has a couple of perl scripts and a short readme file explaining how to install and use them. In my case, I had to modify the script to handle some hostname parsing. In particular, I had to modify line 54 in startMatchedSRVonUp.pl to read like this &#8220;<code>$myHost = (split(/\./,$_))[0];</code>&#8220;. That is because my &#8220;/bin/hostname&#8221; command returns the fully-qualified domain name (node1.dannorris.net) instead of just the short hostname (node1) as the script expects by default. So, a small change there may help you too. It logs by default in the /tmp directory and doesn&#8217;t delete its log, so you should be able to easily debug it using that information.</p>
<p>Coincidentally, I had occasion to install this script at a new customer implementation of Oracle RAC recently and it also came up in <a href="http://www.dannorris.com/professional-activities/">my session</a> at <a href="http://www.hotsos.com/">Hotsos</a> Symposium 09 earlier this week as well. If you&#8217;ve found a better way to handle this issue, please fire off a comment below for the good of all mankind.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dannorris.com/2009/03/12/start-database-services-automatically-after-instance-startup/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Random Thoughts on OOW; so far</title>
		<link>http://www.dannorris.com/2008/09/24/random-thoughts-on-oow-so-far/</link>
		<comments>http://www.dannorris.com/2008/09/24/random-thoughts-on-oow-so-far/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 17:02:12 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Identity Management]]></category>
		<category><![CDATA[OpenWorld]]></category>
		<category><![CDATA[Unconference]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[idm]]></category>
		<category><![CDATA[oow08]]></category>
		<category><![CDATA[openworld08]]></category>
		<category><![CDATA[RAC]]></category>

		<guid isPermaLink="false">http://www.dannorris.com/?p=260</guid>
		<description><![CDATA[In no particular order, here are some observations and thoughts on my OOW experiences so far. Everything is about people, who you know, and knowing what those people do. With people and connections, you can learn a lot more than doing it on your own. Identity Management is sort of important, but not important enough [...]]]></description>
			<content:encoded><![CDATA[<p>In no particular order, here are some observations and thoughts on my OOW experiences so far.</p>
<ul>
<li>Everything is about people, who you know, and knowing what those people do. With people and connections, you can learn a lot more than doing it on your own.</li>
<li>Identity Management is sort of important, but not important enough to get a session room in Moscone&#8211;you have to go to Marriott&#8217;s basement to catch an IdM session.</li>
<li>It&#8217;s pretty cool to be mentioned in the opening keynote address, but it&#8217;d be cooler if you knew you were going to be mentioned ahead of time <img src='http://www.dannorris.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</li>
<li>Lots of people are taking pictures of slides in sessions even if they know that slides will be posted later. Not sure why.</li>
<li>I see about 75% of people taking notes on paper with legacy devices like pens. Why not type them in to a text file instead?</li>
<li>It seems that news about &#8220;X&#8221; is leaking out and if the rumors I&#8217;ve heard are true, it&#8217;ll be a very big deal. All eyes will be on Larry&#8217;s keynote today&#8211;hopefully he&#8217;ll provide enough technical information to make everyone understand what&#8217;s up.</li>
<li>Oracle Beehive looks really cool, but personally, I don&#8217;t think anyone is taking it seriously since Oracle Collab Suite just died on the vine after a similar launch a few years ago.</li>
<li>The OTN Lounge is a great thing and keeps getting better every year. Justin and the OTN gang do a great job making a place for people to do Good Things for the community and magic does happen occasionally.</li>
<li>Unconference sessions are absolutely excellent ways to get information and engage in good discussions instead of death by powerpoint.</li>
<li>Staying hydrated is, as mentioned by Judy Sim, a great idea.</li>
<li>Time zones in SF suck for many people&#8211;especially those from Oz.</li>
<li>There is a growing community around Oracle and it&#8217;s full of great individuals.</li>
</ul>
<p>Tonight is the &#8220;appreciation event&#8221; and while the acts aren&#8217;t as interesting to me as past years, it still sounds like a fun night and a chance to see more people and have a little fun, too. See you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dannorris.com/2008/09/24/random-thoughts-on-oow-so-far/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building RAC on VMWare session and Day 1 done</title>
		<link>http://www.dannorris.com/2008/09/22/building-rac-on-vmware-session-and-day-1-done/</link>
		<comments>http://www.dannorris.com/2008/09/22/building-rac-on-vmware-session-and-day-1-done/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 17:34:41 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[OpenWorld]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[RAC SIG]]></category>
		<category><![CDATA[VMWare]]></category>
		<category><![CDATA[bloggers]]></category>
		<category><![CDATA[meetup]]></category>
		<category><![CDATA[oow08]]></category>
		<category><![CDATA[openworld08]]></category>
		<category><![CDATA[RAC]]></category>

		<guid isPermaLink="false">http://www.dannorris.com/?p=258</guid>
		<description><![CDATA[I presented the Building RAC on VMWare for Free session yesterday. It went pretty well and I had lots of questions from the crowd of over 140 (according to badge scans). Luckily, I had the last session before the lunch break, so I was able to carry a few of the Q&#38;A sessions a little [...]]]></description>
			<content:encoded><![CDATA[<p>I presented the Building RAC on VMWare for Free session yesterday. It went pretty well and I had lots of questions from the crowd of over 140 (according to badge scans). Luckily, I had the last session before the lunch break, so I was able to carry a few of the Q&amp;A sessions a little longer than other presenters since no one was coming up in my room for a while. Unfortunately, I missed meeting Doug Burns who attended the session and had some nice <a href="http://oracledoug.com/serendipity/index.php?/archives/1435-OOW-Day-1.html">things to say</a> about it. Hopefully, I&#8217;ll see him later this week. For all those that attended, thank you! If you have suggestions or comments on how I could improve the session, please contact me directly or comment below on this post.</p>
<p>Following the session, I met with Ignacio Ruiz of <a href="http://databases-la.com/">databases-la.com</a> for an interview that he&#8217;s going to post sometime later. He&#8217;s got a great amount of enthusiasm for his venture and I hope he&#8217;s able to create a large following for his publications in his part of the world. I&#8217;ll post here when he gets the interview (including video) up on his site.</p>
<p>We also had a great turnout at the <a href="http://www.oracleracsig.org/">RAC SIG</a> Birds of a Feather session where we introduced the new officers and facilitated some great discussions. The new officers are excited and motivated to make some great things happen in the next couple of years in addition to maintaining the great offerings that the SIG has been providing since its beginning.</p>
<p>After the day&#8217;s sessions, I headed over to the Blogger Meetup that <a href="http://awads.net/">Eddie</a> coordinated. It was a great gathering and well-attended. Thanks <a href="http://blogs.oracle.com/otn/">Justin</a> for making it possible! I got to meet lots of new people and see all my good friends that I don&#8217;t get to see IRL very often.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dannorris.com/2008/09/22/building-rac-on-vmware-session-and-day-1-done/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>IOUG SELECT Journal articles on RAC</title>
		<link>http://www.dannorris.com/2008/09/11/ioug-select-journal-articles-on-rac/</link>
		<comments>http://www.dannorris.com/2008/09/11/ioug-select-journal-articles-on-rac/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 19:12:53 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[IOUG]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[RAC]]></category>
		<category><![CDATA[RAC SIG]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[article]]></category>
		<category><![CDATA[published]]></category>
		<category><![CDATA[SELECT]]></category>
		<category><![CDATA[SELECT Journal]]></category>

		<guid isPermaLink="false">http://www.dannorris.com/?p=249</guid>
		<description><![CDATA[Here&#8217;s a good reason to become an IOUG member or, if you already are a member, a good reason to dig out that username/password to the IOUG website. The most recent issue of the IOUG publication SELECT Journal contains several great articles (if I do say so myself) about Oracle RAC. I contributed one article [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a good reason to become an <a href="http://www.ioug.org/">IOUG</a> member or, if you already are a member, a good reason to dig out that username/password to the IOUG website. The most recent issue of the IOUG publication SELECT Journal contains several great articles (if I do say so myself) about Oracle RAC.</p>
<p>I contributed one article titled &#8220;RAC For Beginners: The Basics&#8221; and also helped identify the other contributors to help give the issue a significant focus on RAC. It was a great coincidence that the issue came out just before the <a href="http://www.dannorris.com/2008/08/06/ioug-rac-attack-event-summary/">RAC Attack! event</a> we held in early August. Each attendee at that event received a copy of the issue as part of their event registration.</p>
<p><strong>You&#8217;ll need your IOUG login in order to read the articles</strong>, but you can at least browse the article titles on the <a href="http://www.ioug.org/selectjournal/issues/08q3.cfm">SELECT Journal website</a> without logging in. If you aren&#8217;t an IOUG member, <strong>you should consider joining</strong>&#8211;SELECT Journal is just one of <a href="http://www.ioug.org/about/member_benefits.cfm">many member benefits</a>.</p>
<p>For potential authors reading this entry, SELECT Journal contributing authors do receive some nice gifts like an exclusive embroidered shirt and other goodies in addition to the 15 minutes of fame (actually 3 months since it&#8217;s a quarterly publication!). Hope you enjoy the article and if you have suggestions for improving it, please let me know directly via email.</p>
<p>Also, don&#8217;t forget to check out the <a href="http://www.oracleracsig.org/">Oracle RAC SIG website</a> and sign up for membership there to access our document library of more great articles like the ones featured in SELECT.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dannorris.com/2008/09/11/ioug-select-journal-articles-on-rac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IOUG RAC Attack! Register Now!</title>
		<link>http://www.dannorris.com/2008/07/24/ioug-rac-attack-register-now/</link>
		<comments>http://www.dannorris.com/2008/07/24/ioug-rac-attack-register-now/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 12:05:27 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[IOUG]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[RAC]]></category>
		<category><![CDATA[RAC SIG]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[rac attack]]></category>
		<category><![CDATA[racsig]]></category>

		<guid isPermaLink="false">http://www.dannorris.com/?p=188</guid>
		<description><![CDATA[The Oracle RAC SIG and the IOUG are co-sponsoring the IOUG &#8220;RAC Attack&#8221; event and if you haven&#8217;t yet heard about it, you might want to check it out. The event runs for 2 days, August 4-5, in downtown Chicago and will bring together some excellent presenters as well as the opportunity for hands-on experiences [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.oracleracsig.org/">Oracle RAC SIG</a> and the <a href="http://www.ioug.org/">IOUG</a> are co-sponsoring the <a href="http://www.ioug.org/networking/SIGs/RACAttackInformation.cfm">IOUG &#8220;RAC Attack&#8221;</a> event and if you haven&#8217;t yet heard about it, you might want to check it out. The event runs for 2 days, August 4-5, in downtown Chicago and will bring together some excellent presenters as well as the opportunity for hands-on experiences via the hands-on labs that run throughout the event. See the <a href="http://www.ioug.org/networking/SIGs/RACAttackInformation.cfm">RAC Attack web page</a> for more details on the event.</p>
<p>As one of the RAC SIG board members, I&#8217;ve been involved with the planning and development of this event over the last 9 months and I think it&#8217;s going to be one of the best opportunities to get <strong>focused, high-quality education on RAC</strong> available today. Plus, you&#8217;ll get the chance to <strong>network with a group of people</strong> that are focused on RAC and it&#8217;s uses.</p>
<p>Of course, I&#8217;ll be there, so if you do make it to the event, please be sure to say hello. I&#8217;ll likely spend much of my time in the hands-on lab (when I&#8217;m not presenting my technical session) helping those that need it to build their cluster, test backup and recovery or exercise some new features.</p>
<p>Hope to see you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dannorris.com/2008/07/24/ioug-rac-attack-register-now/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TNS Listener Configuration for Oracle RAC</title>
		<link>http://www.dannorris.com/2008/07/21/tns-listener-configuration-for-oracle-rac/</link>
		<comments>http://www.dannorris.com/2008/07/21/tns-listener-configuration-for-oracle-rac/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 15:28:20 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[RAC]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[listener]]></category>
		<category><![CDATA[local_listener]]></category>
		<category><![CDATA[remote_listener]]></category>
		<category><![CDATA[tns]]></category>

		<guid isPermaLink="false">http://www.dannorris.com/?p=169</guid>
		<description><![CDATA[I&#8217;ve been to more than one RAC customer site and seen several different ways to misconfigure the listeners for a RAC cluster. This post describes how I usually configure the listeners and their associated instance parameters normally. This really has nothing to do with TAF or connection load balancing, those those features may not work [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been to more than one <a href="http://wiki.oracle.com/page/Real+Application+Clusters">RAC</a> customer site and seen several different ways to misconfigure the listeners for a RAC cluster. This post describes how I usually configure the listeners and their associated instance parameters normally. This really has nothing to do with <a href="http://download.oracle.com/docs/cd/B28359_01/network.111/b28316/advcfg.htm#i473297">TAF</a> or <a href="http://download.oracle.com/docs/cd/B28359_01/network.111/b28316/advcfg.htm#i475648">connection load balancing</a>, those those features may not work as expected unless the underlying configuration is performed properly.</p>
<p>First, some background on how these items work is necessary. The <a href="http://download.oracle.com/docs/cd/B28359_01/network.111/b28316/architecture.htm#i1044756">TNS listener</a> (tnslsnr process on *nix) process listens on a specific network address for connection requests to one of the services from one of the database instances that it services. When requested, it either spawns a server process (dedicated server environment) and connects the user to that process or forwards the connection request to a dispatcher (shared server environment) for service to the database service requested. Alternatively, if the listener knows of more than one instance providing the requested service, it may direct the client to an alternate listener (usually on a different node) that will service the request.<span id="more-169"></span></p>
<p>In any Oracle database configuration, listeners define the instances as local or remote (in single-instance environments, normally everything is local). You can see this behavior when examining the &#8220;<code>lsnrctl services &lt;listener_name&gt;</code>&#8221; output (lsnrctl syntax reference <a href="http://download.oracle.com/docs/cd/B28359_01/network.111/b28317/lsnrctl.htm#i551588">here</a>). A listener&#8217;s services are those services that have been registered with it by instances. A listener will accept registration from any instance (this may be a weak point of security, but that&#8217;s another topic) and listeners have no outbound communication with any other entity in the Oracle environment (or beyond).</p>
<p>The <code>remote_listener</code> parameter specifies a list of listening endpoints that the local instance should contact to register its services. This list is usually defined in a TNS entry in the tnsnames.ora file and then the TNS alias set as the value of the <code>remote_listener</code> parameter. Here&#8217;s a sample of what that entry might look like:</p>
<pre>LISTENERS_CLUSTERNAME=
  (ADDRESS_LIST=
    (ADDRESS=(PROTOCOL=TCP)(HOST=node1-vip)(PORT=1521))
    (ADDRESS=(PROTOCOL=TCP)(HOST=node2-vip)(PORT=1521))
    (ADDRESS=(PROTOCOL=TCP)(HOST=node3-vip)(PORT=1521))
  )</pre>
<p>The <code>local_listener</code> parameter is sometimes confusing. It defines where to connect to the local instance, but its most important function is related to remote listeners. The contents of the local_listener parameter are passed along to the remote listeners during remote registration so that when those remote listeners wish to refer a connection request to the local instance, they refer the client (requestor) to the proper listening endpoint so it can get connected. The <code>local_listener</code> should contain the <code>ADDRESS</code> section of the TNS entry and the <code>HOST</code> portion should reference the VIP address, like this: <code>(ADDRESS=(PROTOCOL=TCP)(HOST=node3-vip)(PORT=1521))</code></p>
<p>To properly (manually) configure listeners in a RAC environment, I follow the steps like the ones below. Note that in most cases, the Oracle Net Configuration Assistant (netca) will do this for you as part of the database creation process.</p>
<ol>
<li>Create individual listener.ora files for each listener. Make sure that the <code>HOST=</code> lines in the listener.ora definition reference the VIP addresses (and only the VIP address). I prefer to specify IP addresses instead of hostnames or DNS names here to avoid possible lookup issues and/or confusion.</li>
<li>Create a TNS entry (on each node) that looks like the one below to specify a single TNS entry that references all the listeners in the cluster. Note that the <code>HOST=</code> parts reference the VIP addresses of each node (I used names instead of IP addresses here to avoid reader confusion&#8211;I&#8217;d put in IP addresses in the <code>HOST=</code> attributes when using this for a real configuration.).
<pre><code>LISTENERS_CLUSTERNAME =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 1521))
  )</code></pre>
</li>
<li>Set the <code>remote_listener</code> parameter in the instances (a global parameter, not an instance-specific parameter) to be the name of the TNS entry you created in the previous step. This is done with &#8220;<code>alter system set remote_listener = 'LISTENERS_CLUSTERNAME';</code> &#8220;</li>
<li>Set the <code>local_listener</code> parameter to be the <code>ADDRESS</code> string for the local instance. This parameter must be an instance-specific parameter with each instance having a similar, but unique value since each instance runs on a different <code>HOST</code>. If the local instance (called inst1 in the example here) runs on a node with the node VIP of 10.3.121.54, then set the <code>local_listener</code> parameter accordingly for each instance (it is instance-specific, so use the <code>sid=</code> syntax): <code>alter system set local_listener = '(ADDRESS=(PROTOCOL=TCP)(HOST=10.3.121.54)(PORT=1521))' sid='inst1';</code></li>
<li>On each instance, you can run &#8220;<code>alter system register;</code>&#8221; to force immediate registration with the listeners. If you don&#8217;t do this, the listener registration will usually be updated within a minute or two anyway (automatically), but this command can help shorten debugging cycles when necessary.</li>
</ol>
<p>One final tip is to use the lsnrctl program to get information about the current state of the listener. I find it helpful sometimes to get verbose information about the services and here&#8217;s how I do that. In this example, the listener name is <code>LISTENER_NODE1</code> (listeners usually get named as <code>LISTENER_&lt;hostname&gt;</code>).</p>
<pre><code>LSNRCTL&gt; set curr listener_node1
Current Listener is listener_node1
LSNRCTL&gt; set display verbose
Service display mode is VERBOSE
LSNRCTL&gt; servic
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=node1-vip)(PORT=1521)(IP=FIRST)))
Services Summary...
Service "myservice.world" has 2 instance(s).
  Instance "rac1", status READY, has 1 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:0 refused:0 state:blocked
         REMOTE SERVER
         (ADDRESS=(PROTOCOL=TCP)(HOST=node1-vip.dannorris.net)(PORT=1521))
  Instance "rac2", status READY, has 1 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:0 refused:0 state:ready
         REMOTE SERVER
         (ADDRESS=(PROTOCOL=TCP)(HOST=</code><code>node</code><code>2-vip.dannorris.net)(PORT=1521))
Service "rac.world" has 2 instance(s).
  Instance "rac1", status READY, has 1 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:0 refused:0 state:blocked
         REMOTE SERVER
         (ADDRESS=(PROTOCOL=TCP)(HOST=</code><code>node</code><code>1-vip.dannorris.net)(PORT=1521))
  Instance "rac2", status READY, has 1 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:0 refused:0 state:ready
         REMOTE SERVER
         (ADDRESS=(PROTOCOL=TCP)(HOST=</code><code>node</code><code>2-vip.dannorris.net)(PORT=1521))
Service "racXDB.world" has 2 instance(s).
  Instance "rac1", status READY, has 0 handler(s) for this service...
  Instance "rac2", status READY, has 0 handler(s) for this service...
Service "rac_XPT.world" has 2 instance(s).
  Instance "rac1", status READY, has 1 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:0 refused:0 state:blocked
         REMOTE SERVER
         (ADDRESS=(PROTOCOL=TCP)(HOST=</code><code>node</code><code>1-vip.dannorris.net)(PORT=1521))
  Instance "rac2", status READY, has 1 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:0 refused:0 state:ready
         REMOTE SERVER
         (ADDRESS=(PROTOCOL=TCP)(HOST=</code><code>node</code><code>2-vip.dannorris.net)(PORT=1521))
The command completed successfully
</code></pre>
<p>If you have questions or if you&#8217;ve found alternate ways to configure listeners for RAC that works differently, please comment below so we can all learn some new things.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dannorris.com/2008/07/21/tns-listener-configuration-for-oracle-rac/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
		<item>
		<title>RAC SIG Events at OOW</title>
		<link>http://www.dannorris.com/2007/11/07/rac-sig-events-at-oow/</link>
		<comments>http://www.dannorris.com/2007/11/07/rac-sig-events-at-oow/#comments</comments>
		<pubDate>Wed, 07 Nov 2007 15:55:59 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[OpenWorld]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[RAC SIG]]></category>
		<category><![CDATA[oow]]></category>
		<category><![CDATA[openworld07]]></category>
		<category><![CDATA[RAC]]></category>
		<category><![CDATA[racsig]]></category>
		<category><![CDATA[sig]]></category>

		<guid isPermaLink="false">http://www.dannorris.com/2007/11/07/rac-sig-events-at-oow/</guid>
		<description><![CDATA[As the events chairperson for the RAC SIG, I wanted to make everyone aware of the events we have scheduled for next week at Oracle OpenWorld SF. Anyone is welcome to attend our sessions, though you&#8217;ll probably need a conference badge of some sort to get in (I recall that the room monitors are usually [...]]]></description>
			<content:encoded><![CDATA[<p>As the events chairperson for the <a href="http://www.oracleracsig.org/">RAC SIG</a>, I wanted to make everyone aware of the events we have scheduled for next week at <a href="http://www.oracle.com/openworld/2007/index.html">Oracle OpenWorld SF</a>. Anyone is welcome to attend our sessions, though you&#8217;ll probably need a conference badge of some sort to get in (I recall that the room monitors are usually pretty sticky about letting people in without proper conference badges). Anyway, here are the events we have planned. You&#8217;ll also find them on the <a href="http://www.oracleracsig.org/">homepage of our website</a>.</p>
<ul>
<li><span class="instructiontext"><span class="Description"><strong>Sunday, 4pm, Moscone West 2002-L2</strong>: <em>RAC SIG Birds of a Feather Discussion Session</em>, S292952</span></span></li>
<li></li>
<p><span class="Description"></p>
<li><strong>Monday, 12:30pm, Moscone South 310</strong>: <em>RAC SIG Customer Panel</em>, S291621</li>
<li><strong>Tuesday, 10:45am, Moscone South 310</strong>: <em>Panel Discussion: Deploying Siebel, SAP, Oracle E-Business Suite, PeopleSoft, and Hyperion on a Grid</em>, S291659</li>
<li><strong>Tuesday, 12:15pm, Moscone South 310</strong>: <em>RAC SIG Expert Panel</em>, S291665</li>
<p></span></ul>
<p>Besides great content at these events, you&#8217;ll find many of the <a href="http://www.oracleracsig.org/pls/htmldb/f?p=105:225">RAC SIG board members</a> attending, hosting, moderating, and participating in these events. If you&#8217;re interested in becoming more involved with the group, please seek out one of us to discuss how you can help. Also, we&#8217;re always looking for potential presenters for our <a href="http://www.oracleracsig.org/pls/htmldb/f?p=105:200">live webcast series</a>, so we may be seeking you out to solicit your participation in that as well!</p>
<p>Either way, attending these sessions or not, I encourage you to <a href="http://www.oracleracsig.org/pls/htmldb/f?p=105:51">sign up for an account</a> on the RAC SIG website. This will enable you to access our recorded past webcasts (on demand playback at any time) and receive email reminders about upcoming events.</p>
<p>See you in SF! Be sure to confirm the room assignments and session times as they sometimes change in last-minute planning by OOW staff.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dannorris.com/2007/11/07/rac-sig-events-at-oow/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
