Wednesday, June 07, 2006
Oracle RAC on Windows
For those of you who are not familiar with Oracle RAC, let me give you a brief overview. Oracle RAC (Real Application Clusters) has been around since Oracle9i. It is a follow-on product to Oracle Parallel Server (but much better). In essence, Oracle RAC is a clustering product that allows Oracle on multiple servers to access the same database.
This is unlike a typical failover cluster in that all nodes are active and accessing the same data. In a failover cluster only one node can access the database at a time. With RAC it is all nodes all the time.
Oracle defines an instance to be the memory and processes necessary to access the Oracle database. In a RAC cluster, there are multiple instances accessing the same database. RAC accomplishes this via a sophisticated locking mechanism that keeps data consistent among the nodes. Because of the way RAC does its locking and cache consistency, the performance of the cluster interconnect is critical. The cluster interconnect must be Gigabit Ethernet as a minimum.
Setting up RAC on Windows is pretty much the same as setting up RAC on other platforms with a few exceptions. Because of the way Windows does its networking, it is important to have the Public (talks to the world) interface listed first in the advanced network properties.
All nodes in the cluster must be able to access all other nodes without having to type in a password. This can be accomplished via several methods. The preferred method is to install and configure Oracle and RAC using a domain account. This account must be available on all nodes in the cluster and it must have local administrator rights. The second method is to use the local Administrator account, but make sure that the password is identical on all nodes in the cluster.
Because all nodes in the cluster access the same database, they must all be able to see the same storage. There are several methods supported under Windows for sharing storage. They include the use of raw devices, Oracle ASM (Automatic Storage Management) and the Oracle Cluster Filesystem (OCFS). Oracle ASM and raw devices are available on all platforms that support RAC, but OCFS is only available on Windows and Linux. I have implemented RAC clusters on Windows using all of these methods, and they all work well, but raw devices can be very difficult to administer. I prefer to either use ASM or OCFS. With OCFS and OCFS-2, Oracle supports the use of a shared Oracle Home directory so that there is only one copy of the Oracle binaries.
Oracle RAC is an important feature to Oracle since it provides a scalable solution that allows smaller systems to provide greater overall performance to the cluster. This opens the door for commodity hardware and operating systems such as Microsoft Windows to provide higher performance systems by combining the power of multiple systems into one cluster. Oracle currently supports up to an 8 node cluster with Oracle 10g R2 on Windows, however, the largest RAC cluster on Windows that I have been involved with has been 6 nodes. The most common clusters that I have seen are 4 or 2 node clusters.
I recommend using the largest system that you can, so that as you need more nodes you can add them in one at a time. It is easier to add a node than to add more resources to an existing node. Don’t forget to allocate plenty of memory for Oracle. The RAC cluster is scalable, but you will eventually run out of bandwidth on the interconnect if you add too many nodes (depending on what you are doing).
In general, Oracle RAC is a great product that provides for both scalability and failover capabilities. Microsoft Windows is a great platform to run Oracle RAC on.
Edward Whalen is the Chief Technologist and Founder of Performance Tuning® Corporation and has been working with Oracle for over 15 years. He is currently working on his 9th book; “SQL Server 2005 Administrator’s Companion”. He holds the distinction of being one of the few people to write books on both Oracle and MS SQL Server and writes for both Oracle Press and Microsoft Press.
Also, Windows was the last platform Oracle released the RAC code for back in 9i. In 9i RAC was so flaky that I gave up on trying to get it running under Windows.
Frequently I suggest to clients a controlled bi weekly bounce of the server to sort the memory issues on heavily used systems. If this is not done a disaster is sure to happen.
I always suggest Linux as a replacement for Windows where ever I encounter a client with stability problems and so far so good, Linux never disappoints.
can someone answer me plz:
1-Install Windows on both servers.
2-Install MSCS (if applicable) and create the cluster.
3-Install Oracle Database Software on each node’s local disks, using the same Oracle Home directory.
4-Create the Oracle database on one node using the shared disk for storage.
5-Install Oracle Fail Safe on each node in the cluster.
6-Configure the cluster using the Fail Safe manager.
i tried to follow the 6 steps above and i have the following questions:
1- how do u create the database on the shared storage???
2- i couldnt get the filesafe cluster manager client interface installed. it doesnt come thu it show that the installation of filesafe successfully done. how can i get it??? even when i try customise option i dont see it. i get typical and customise no client installation...
I have 2 Dell 2950 PowerEdgde Servers and 500 GB Buffalo NAS with Windows 2K3 X64 EE, please tell me whether I can install Oracle RAC with this kit.
If yes , how can I configure shared storage and present it to OS so that both nodes can see it.
Please give as much detail as possible, I m ready to read a million pages.
Still, if you want something more hands-on, try these:
You can find more demos (including dataguard, goldengate, streams) there at http://vgrigorian.com/