Thursday, February 23, 2006

RAC on VMware

There is an interesting article by Tarry Singh about Installing Oracle 10gR2 RAC on VMware. With VMware Server are being offered for free, I believe there will be more and more instances of Oracle running on VMware. But do we really want to have RAC on VMware? Perhaps I will use it for demo and learning purposes, but not in production system. To me, nothing beats the real stuff. VMware will consume (often times) precious resources. We have the OS, the VMware, the OS within the VMware, and finally the Oracle DB. Just imagine how you will keep them all up-to-date with the patches, etc. Moreover, RAC is about high availability. Are you going to have 2 VMwares running 2 RAC's on a single BIG physical machine? One power failure, host OS crash and you lose all the connectivity. RAC is really about availability on the cheap commodity hardwares. Moreover, the Oracle does not support RAC on VMware (Metalink Note:249212.1), at this time. So you are really on your own if there is any problems...

Potential pitfall with Oracle Sequence

Robert Vollman talks about Oracle sequences in his blog. Basically there are 3 potential issues with Oracle sequences that we need to consider when doing db design:
1. The squence number may "jump", that is 1,2,3,5,6,8,... with number 4 and 7 missing. One reason is if you do a transaction with NEXTVAL and then rollback, the sequence doesn't roll back to where you started.
2. By default, the sequence caches the 20 next values for faster retrieval. So if there is a system failure, we will lost the cached values upon system recovery. Thus you end up with a gap of upto 20. One way to avoid this is to use NOCACHE command when creating the sequence. And of course you lose the benefit cache brings as well.
3. Gary Myers also pointed that the sequence number can only grow upto the column's data size. For example, if we have column as number(6), then the max value will be 999999. 

Monday, February 06, 2006

Checking Redhat version installed

I was looking at how to tell the version of Redhat Linux installed on a machine from a command line. Mostly I used uname -a to view the server settings.
Here is a sample:
$ uname -a
Linux 2.4.21-32.ELsmp #1 SMP Fri Apr 15 21:17:59 EDT 2005 i686 i686 i386 GNU/Linux
It return the server kernel's version: 2.4.21-32.ELsmp, but not something my mother could understand.
To get a layman term, we can query file /etc/redhat-release instead.
$ cat /etc/redhat-release
Red Hat Enterprise Linux AS release 3 (Taroon Update 5)