The first videocast was quite popular — it has more than 300 views in couple weeks and considering no Hollywood stars were starring in that video and there were no nude scenes, I think it’s fair to say that this format was very much welcomed by the audience.
Today, I’m posting the follow up session on VIP’s (Virtual IP’s) with Oracle RAC. What I demonstrate today is a typical configuration mistake for a RAC databases created with Database Configuration Assistant (DBCA) and what’s the result of such omission.
It’s actually logged as a bug 4338578 on Metalink (thanks to Marcin Przepiorowski for reference). However, I believe it’s not a database issue but (1) misunderstanding how remote listener registration works, (2) documentation bug and (3) DBCA bug.
The init.ora parameter remote_listener defines the list of remote listeners that an instance should register with. The parameter local_listener sets the address for the local listener registration and if not specified, by default it’s hostname and the default port 1521. However, it turns out that the local_listener parameter is used not only for local registration but for something else as well…
Whenever an instance registers with a remote listener, it provides a connection descriptor that is used by the listener to redirect the incoming connection requests from client programs (this process is known as server-side connection load balancing). This connection descriptor for the redirection is created based on the local listener configuration for that instance — using the address or alias provided in the local_listener parameter. So what’s many DBA’s (and obviously developers of DBCA) are missing is that local_listener controls how (to what address and port) connections from the remote listeners are redirected.
As the video demonstrates, an out-of-the box DBCA-created database causes some connections to use host’s main IP’s (use
netstat to confirm that on the client or on the servers). As a result, some of the connections (and it might be the majority of connections if you use services distributed across many nodes of a cluster) don’t use virtual IP’s.
The video explains it all — demonstrates how to detect this issue and shows how to fix this misconfiguration. I had to use a smaller embedded size to fit it on our blog and it’s still a bit wider than our blog format here. However, the video is in HD format now (noticed the improvement from my first attempt?) uploaded as 720p. To see it in full size — go directly to YouTube but you won’t see anybody sexy there :) and because my glasses broke yesterday, I don’t even look intelligent anymore.
I have added some annotation to it and if you notice something — you can annotate it yourself as well. I don’t know how it works when guests annotating the videos on YouTube so try it and let me know — let’s see how cool is that.
The next videocast will be on troubleshooting ORA-12545 in RAC environment and this is the natural continuation of today’s topic. This will probably be the last videocast about virtual IP’s for Oracle RAC.
As usual, all feedback is welcome here — this is what will keep these videocasts going.