Sunday, May 16, 2010

Oracle 11g Release 2 RAC Setup on VMWare on laptop

This weekend, I decided to setup Oracle 11g Release 2 RAC and ASM with the new Grid infrastructure on Macbook laptop with 4Gb of RAM. There is a way to setup a basic two node sandbox cluster with 4Gb of RAM. Some good references listed below discuss the detailed steps involved to configure the cluster with Oracle 11gR2 so I will not bore you with details.

Marly's Blog discusses the setup steps in great detail:

http://wiki.oracle.com/page/11gR2+RAC+on+a+Mac+-+Part+1
http://wiki.oracle.com/page/11gR2+RAC+on+a+Mac+-+Part+2
http://wiki.oracle.com/page/11gR2+RAC+on+a+Mac+-+Part+3
http://wiki.oracle.com/page/11gR2+RAC+on+a+Mac+-+Part+4

Masterschema has an excellent video series on how to do this as well:

http://www.masterschema.com/2009/09/install-oracle-rac-11g-r2-in-vmware-3-nodes/

The biggest decision you need to make is that with respect to shared storage. With 11g Release 2 RAC, you now have the option to store both the clusterware, OCR and ASM in ASM. Also, since VMWare Fusion and Oracle Sun VirtualBox do not have the ability to share disks which is required for RAC, you need to either setup NFS mounts between the cluster node VMs or use
an iSCSI server such as OpenFiler. However, on a laptop with 4Gb of memory, you need to conserve resources and Open Filer is a pig so I recommend using a third VM with Linux to host the iSCSI shared disks. There are also some excellent white papers on how to setup 11gR2 RAC with iSCSI and OpenFiler if you decide to buy a few low cost servers listed below:

http://www.oracle.com/technology/pub/articles/hunter-rac11gr2-iscsi.html#10

OpenFiler is a free iSCSI appliance that offers many similar features to that with NetApp filer iSCSI servers for free!
Since its easier to setup iSCSI server on a bare bones Linux VM, I decided to bypass using OpenFiler since it takes up too much memory that I cannot afford to waste on my 4Gb Macbook Pro laptop computer and the bare bones Linux VM uses only 350Mb of RAM compared to the 1-2Gb of RAM memory required for a decent OpenFiler server. Maybe if I get a laptop with 16Gb then I will test 11gR2 RAC with OpenFiler but for now, I just did a poor man's iSCSI virtual machine with CentOS Linux.

In the past, I have used Red Hat Linux and Oracle Enterprise Linux. However, this time I downloaded the ISO image for CentOS from http://centos.org/ and I must admit I am impressed! Its friendly, free and powerful and easier to use than Oracle Enterprise Linux.

Ok, So far, I am half way through the 11gR2 RAC install and finishing the Grid Infrastructure setup. There are a couple of cool new features that I like:

1) SSH setup- now you can have Oracle set this up and verify that ssh equivalency is working before the install
2) Validation of IP addresses- during the Grid Infrastructure installation process, Oracle verifies that the IP addresses for the cluster nodes are correct as well as that of the VIP (Virtual IP addresses).

Another note: Oracle 11gR2 RAC is a serious memory PIG compared to even 11gR1 and earlier releases. Ideally you want a server with at least 8GB or more RAM to setup the VMs. There is a workaround to use less memory resources and to prevent the OHASD and clusterware processes from using as much memory.

Alex Gorbachev of Pythian has a good writeup on this:

http://www.pythian.com/news/9179/oracle-11gr2-grid-infrastructure-memory-footprint/


There is a workaround to decrease the memory usage.

After installation update the ohasd in each of the GRID homes. Add: ulimit -Ss like this:

[root@server1 ~]# vi /u01/app/11.2.0/grid/bin/ohasd

# forcibly eliminate LD_ASSUME_KERNEL to ensure NPTL where available
ulimit -Ss
LD_ASSUME_KERNEL=
export LD_ASSUME_KERNEL

The result, it will same around 500MB of memory.

You still need more memory in compare to 11gR1, but at least it will same 1G for 2 nodes.

Thanks to Bernhard de Cock Buning for this tip. I have not tested it yet but will see if it helps me when I finish the Grid Infrastructure setup with both VMs.

Stay tuned for a lessons learned discussion of what 11gR2 RAC means for the enterprise. I also plan to discuss how to RAC enable Oracle Release 12 E-Business Suite in a future blog post.

I do prefer the Mac OS X platform compared to setup of RAC virtualization on Windows because the Mac OS is based on BSD UNIX so I can use most of the same UNIX commands that I am happy with as a DBA.

Cheers,
Ben

No comments: