How to Install Oracle 12c RAC: A Step-by-Step Guide

Jun 27, 2013 / By Yury Velikanov

Tags: , , ,

Okay, back to school folks, back to school :). As with any new product, our long learning journey starts with an installation on a sandbox environment. To get you up to speed with Oracle 12c RAC and let you focus on important stuff (e.g. features research), I have put together detailed step-by-step installation instructions.

Oracle 12c Grid Infrastructure

You can find it here => Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0

You will need a laptop or a computer with 8GB RAM and 50GB HDD. The instructions are written based on Windows 64 bit and Oracle Virtual Box.

I know for a fact that several Oracle 12c RAC installation guides from other great community contributors are on the way. Several friends of mine are working on 12c RAC posts at the moment. I would like to mention just a few of them and how their guides will be different from mine (based on my expectations):

  1. Tim Hall aka Oracle Base may be working on a 12c RAC guide for Mac OS. If you are a Mac OS user, I would advise you to check his web site. If it isn’t there yet, then I am sure it will come in the nearest time. I would like to mention that I have used Tim’s 11g RAC implementation guide in my work a lot and adopted it to Windows and Oracle 12c version.
  2. Seth Miller is busy putting things together for the famous RAC Attack. This is going to be a very good study guide. Based on previous versions, it is going to be focused on teaching you how to implement, patch, operate, customize, etc. cluster environments. I strongly suggest that you check his web site and start using the RAC Attack guide as soon as it is available.

All right, folks. Enough talking/writing/reading. Back to school! I hope my guide will help you go through the installation task quickly and enjoy a great learning experience.

Right before you go, let me ask you to get back to this blog post and share your experience as soon as you complete the installation. I am always looking for your feedback :) Please take 2 minutes to complete this 3-question survey.


– Yury

Connect with me!
Twitter @yvelik
LinkedIn: /yuryvelikanov
Google+: Yury Velikanov
Facebook: yury.velikanov
SlideShow: yvelikanov
Find my other Pythian blog posts here.


Pythian is a global leader in data consulting and managed services. We specialize in optimizing and managing mission-critical data systems, combining the world’s leading data experts with advanced, secure service delivery. Learn more about Pythian’s Oracle expertise, or take a look at other Oracle RAC-related blog posts.

46 Responses to “How to Install Oracle 12c RAC: A Step-by-Step Guide”

  • Jagjeet Singh says:

    Great !!

    you were fast. were you able to compile whole document in a day ?

  • I have had an infrastructure part more or less ready. Had to verify and and put 12c version. Didn’t start before 12c GA + had to work my normal hours :)

  • Egidio Ndabagoye says:

    Wonderful Yury!

  • I must reiterate that I have used Tim Hall’s 11G RAC implementation instruction for the infrastructure part. I have reworked several components but the core part of it is Tim’s.

    I apologize Tim if my action thwarted your plans for Oracle 12c RAC implementation.

    Hope it wasn’t me but technical HW issues. If it was me than I am ready to work hard to do all possible to compensate it.

  • r12dba says:

    Thanks for sharing this. until build of first server it went fine however after clone of second server I can no longer ping first server ip from second server and also cant do putty connection to second server. Wondering what is wrong with my network setup. I have used same ip addresses and kept them consistent on my system too..

    • I wonder if you have followed “Adjust network setup” subsection from “Create second node” section? You need to obtain new network cards HW addresses using “ifconfig -a | grep eth” command and reconfigure each “ifcfg-ethX” file. Please note that the first node should be down at this stage. After you reconfigured all 3 network interfaces on the node 2 you should reboot it. Hope this helps. If it doesn’t you need to troubleshoot the network configuration.

      I faced issue with eth1 card (couldn’t ping prov IPs). I have enabled Adapter 3 (internal network) and made a copy of ifcfg-eth0 to ifcfg-eth3 adjusting it. After confirmed that it worked I moved the setup to eth1. This involves a bit of troubleshooting and network configuration skills. On the positive side at the end of the process you will know how to configure network interfaces a bit better than before ;)


      • r12dba says:

        Hi Yury
        this my first time with virtualbox was using vmware fusion before.
        Realized virtualbox has its own DHCP server that gets enabled when we initially install the product and is used to assign IP to the NAT. Followed steps to clone the second server in that section and adjusted the mac addresses accordingly from ifconfig command output in the /etc/sysconfig/network-scripts/etch*cfg files.
        When you assign the type of adapter for each VM in the network settings what value do you use for Adapter 1 -Is that VirtualBox Host only Ethernet Adpater?

        In the global settings for network in virtualbox i have 2 adapters:

        VirtualBox Hostonly ethernet adapter
        IPv4 address:
        IPv4 network mask:
        DHCP Server: Enable server checked
        server address:
        server mask:
        lower address bound:
        upper address bound:


        VirtualBox Hostonly ethernet adapter#2
        IPv4 address:
        IPv4 network mask:
        DHCP Server: Enable server UNCHECKED

        I dont know if this really matters but the ip address that my ISP provides for my wireless connection is like this:

        Wireless LAN adapter Wireless Network Connection:

        Connection-specific DNS Suffix . : IPv6 Address. . . . . . . . . . . : removed this detail
        Temporary IPv6 Address. . . . . . : removed this detail Link-local IPv6 Address . . . . . : removed this ip IPv4 Address. . . . . . . . . . . :
        Subnet Mask . . . . . . . . . . . :
        Default Gateway . . . . . . . . . : removed this ip
        virtualbox adapter addresses are:
        Ethernet adapter VirtualBox Host-Only Network:
        IPv4 Address. . . . . . . . . . . :
        Subnet Mask . . . . . . . . . . . :
        Default Gateway . . . . . . . . . :

        Ethernet adapter VirtualBox Host-Only Network #2:
        IPv4 Address. . . . . . . . . . . :
        Subnet Mask . . . . . . . . . . . :
        Default Gateway . . . . . . . . . :

        I will experiment with this a little more in detail and today and will let you know if it starts working.

        Thanks for your patience and taking time to read my comments!

        • r12dba says:


          would you mind sharing settings from your env for the network adapters on virtualbox side for both VM’s(each of those 3 adapters) and the ifconfig output on those Linux VM’s – want to compare with working env to see what is messed up in my setup :(

          • r12dba says:

            nevermind got it to work by renaming file /etc/udev/rules.d/70-persistent-net.rules with filename.orig on VM2 and reboot created file wth right eth interface naming. If that was not done it was still showing up eth3/4/5 in ifconfig output on VM2


      • r12dba says:

        Hi Yury,
        I had to revert my laptop to older system image and for some reason when i tried redoing the VM setup and this time private ip of the other VM was not pingable from each and at first tried giving different name for the private NIC interface(e.g: intnet1 instead of intnet that didnt help) had to regenerate mac address to get it to work and rebooted vm’s after removing the rules file. I have updated this workaround in my blog Wanted to share this info for benefit of others in case they redo the setup.


    • Jacco H. Landlust says:

      Did you fix the udev rules? (fixing the HWADDR in the network-scripts was not good enough for me). To be specific: I had to fix 70-persistent-net.rules to get eth0 and eth1 back on my device. (I ignored eth2 because I use ipfw rules to connect host-only network to public).

      • r12dba says:

        compared /etc/udev*/rules.d/70*net* file on both VM1 and VM2

        on VM1

        # PCI device 0x8086:0x100e (e1000)
        SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”08:00:27:a9:0c:3b”, ATTR{type}==”1″, KERNEL==”eth*”, NAME=”eth0″

        # PCI device 0x8086:0x100e (e1000)
        SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”08:00:27:56:76:f2″, ATTR{type}==”1″, KERNEL==”eth*”, NAME=”eth1″

        # PCI device 0x8086:0x100e (e1000)
        SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”08:00:27:64:a1:14″, ATTR{type}==”1″, KERNEL==”eth*”, NAME=”eth2″

        On VM2: I cannot copy it as its in console mode or transfer file as cant ssh /scp to this VM2 :( but it has way too many more entries – will try to copy the file from VM1 and adjust the mac addresses to match ifconfig output on VM2 and see if it helps


        • r12dba says:

          service network stop on VM2:

          Tried making change to udev rules to have only 3 entries on VM2 – however after reboot it is getting reverted to the original setting (garbage with lot of eth entries ) :(

          will try reclone of VM2 to see if it helps.

          • r12dba says:

            nevermind i got it working now updated previous comment with wt was done to get it to work

          • Thanks r12dba and Jacco for your comments and great spirit in willing to resolve the issue.

            I have checked my origianl 70-persistent-net.rules file on the second node. It is avable under the following link

            To verify the solution I did the following:
            mv /etc/udev/rules.d/70-persistent-net.rules ~/

            Linux generate a new 70-persistent-net.rules file

            As result of this discussion I have adjusted the Guide. with the following comments:

            Change log
            Remove 70-persistent-net.rules on second node
            2013.06.29 Yury: Based on comments on my blog post from r12dba added the following step to the “Create second node => Adjust network setup” section.
            mv /etc/udev/rules.d/70-persistent-net.rules ~/
            Thanks again for sharing your experience and solution :)


  • Change log
    Remove 70-persistent-net.rules on second node
    2013.06.29 Yury: Based on comments from r12dba added the following step to the “Create second node => Adjust network setup” section.
    mv /etc/udev/rules.d/70-persistent-net.rules ~/

  • Ajith Narayanan says:

    Yury….You are the man….Super fast….Join leighton & Usain Bolt for next Olympics for 100M

  • […]  Yuri Velikanov’s one : Oracle 12c RAC On your laptop, Step by Step Guide […]

  • […] Link: Oracle 12c RAC On your laptop, Step by Step Guide. […]

  • […] Yury Velikanov mentioned in his 12c gi install blog that the installer now offers an option asking for your root password so it could run the scripts for you. I was a bit disappointed to learn that for some reason I still had to log in as root and run it the old fashioned way. I guess it has to do with me just doing the “Install Grid Infrastructure Software Only” option. […]

  • Ankit Thakwani says:

    Sharing an issue with DNS configuration that I ran into:

    Just before installing Oracle Grid, ran the following command

    [root@ol6r01 rpm]# nslookup

    ;; connection timed out; trying next origin
    ;; connection timed out; trying next origin
    ;; connection timed out; no servers could be reached

    Could not understand what was caused this as I was able to resolve from my Host System (Windows 7).

    Checked the /etc/resolv.cnf, the ‘nameserver’ did not point to Virtual Box address

    Once I added the nameserver entry and restarted network, it worked like a Charm :)

    OLD contents of /etc/resolv.cnf
    ; generated by /sbin/dhclient-script
    search jasperindia.local

    NEW contents of /etc/resolv.cnf
    ; generated by /sbin/dhclient-script
    search jasperindia.local

    I did not find this step in the document but I guess it might be because I configured DualServer after installing First VM Node.

  • Sheldon Quinny says:

    This is a a very good document which you have published and its going to be a great help for me and others.

    Thank you for the effort and all the best.

  • Victor says:


    Can the Windows 64 OS itself be a VM ? I want to do the above not on my laptop, but a Windows 2008 server VM. It should still work right ?

  • Victor says:

    Is the pluggable database concept in 12c equal to SQL Server Instance concept, where you can have multiple databases in the same instance ? and these databases can be “dettached” and “attached” from one SQL Server instance to another. So an Oracle 12c container is a.k.a SQL Server instance ?.

  • John Piwowar says:

    Hey Yury! Great stuff, as always. Finally got time to finish my install this weekend. Worked like a charm.

  • Sathish says:

    This is an excellent note. Thanks Yuri!!
    I am stuck at bringing up the second node. To be precise, I can only bring up any one node at any time. I am using windows 7 64-bit as Host OS. The error message is similar to the link below. I cannot find a solution for this. Any leads?

  • Sathish says:

    To add I am able to start up other VMs but not the node 2. There is some kind of resource conflict which I am unable to figure out. As for networking changes on the second node, I used the HW addr-es to update the ifcfg-eth* files and move the udev rules.

    • Hello Sathish,

      I must say that I am not super/duper VBox expert ( I wonder who is? ;). The error as you mentioned seems to be pointing to some kind of resource conflict. I would try to:
      a. Make sure that you set the shared bit for all 5 shared disk devices we are using in both nodes. As way to check this theory you may want to try removing shared disks and starting both VMs at the same time. You may not want to let the booting process to go too far. Just try to start both VMs at the same time and “kill” those before those go to the Linux booting stage.
      b. Other option you may check are network devices. Try to remove those by un-ticking those on one or both VMs and try to start both node the same way as in prev point.
      c. do something else :) e.g. generate new physical addresses for the network devices under VBOX settings for each VM, Remove and Add again Host Only network device (do not forget to reassign the static IP to the interface).

      Let me know what did you find,
      Goog luck,

      • Sathish says:

        Thanks for the response.

        When I removed all ASM devices, both machines started up fine. There was an issue with one ASM device not set to be shareable. Once that was fixed it was all fine.

  • […] viaHow to Install Oracle 12c RAC: a Step-by-Step Guide. […]

  • gfg says:

    thank u, Mr. Chris, this is a very valuable addition 4 the new version
    but 4 a company such as oracle, i see it’s a little late step.
    oracle should have 2 take into account the wishes of its customers & meet their demands.

    for “oracle 12c database” has not yet used it. but i am about to use it. i hope that does not regret it.

  • Ravindra says:

    Hi Yury,

    Good document. I am following this document, but one stage I am getting the following error message:

    From your document:
    OVB => ol6-12c-rac1 => Machine => Start
    — Check if kernel version got updated (otherwise phase may fail)
    When running the, the script is failing on :

    Building the main Guest Additions Module [FAILED]

    # uname -a
    Linux 2.6.39-400.109.6.el6uek.x86_64 #1 SMP Wed Aug 28 09:56:40 PDT 2013 x86_64 x86_64 x86_64 GNU/Linux

    Can you please assist why it is failing?

    Thanks in advance.

    • Hello Ravinda,

      I wonder if you can post a full message you are getting here? Other option that you may try to troubleshoot the issue is to use “strace -o/tmp/log_stace.log -f -s400 /media/” and check the log file for additional hints on where the problem is.


      • Ravindra says:

        Dear Yury,

        Below are the full message which I am getting while running VBoxLinuxAdditions:

        The headers of the current running kernel were not found. If the following module compilation fails this could be the reason.
        The missing packages can be probably installed with
        yum install kernel-uek-devel-2.6.39-400.109.6.el6uek.x86_64

        Building the main Guest Additions module [FAILED].

        (Look at /var/log/vboxadd-install.log to find out what went wrong)

        While checking vboxadd-install.log, I am getting the following message:

        Creating user for Guest Additions.
        Creating udev rule for Guest Additions kernel module.
        /tmp/vbox.0/Makefile.include.header:97: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR= and run Make again. Stop

        Please note that the given trace command is not working.


  • oracle rd says:

    Hi Yury,

    Thanks For the document , I need a small help , I am strucked in setting the display
    I just followed ur entire document , after runinstaller am not able to see the installer , I had also waited more than an hour , mine is 8 gb ram and allocated 3 gb for each vm. not sure where am wrong pls suggest
    # both nodes
    usermod -G oinstall,vboxsf oracle
    # node 1
    su – oracle
    vncserver :1
    export DISPLAY=:1


  • rockerz says:

    Upon following each and every step in this document i am encoutering an error at step “perform prerequisite checks”
    The error is PRVF-5636 – Task resolve.conf integrity check failed on node2.
    The DNS response time for an unreachable node exceeded “15000” ms on following nodes: ol6r02.

    How do i fix this issue. Does any one encounter this.

  • rockerz says:

    As per the document it says “usermod -G oinstall,vboxsforacle” and in the specify install location OSADMIN group i do not see dba which shows as per screenshot.

    Kindly let me know the fix for this.


  • Ram says:

    Hi Yury

    time yum update -y command installed the following kernel and virtualbox add on is failing.


    Please advise.

    Ram Paleti

  • Alok Kumar says:

    Hi Yuri,

    I am facing one issue , where in I am not allowed to connect to putty. it was working fine earlier , but after the VM machine reboot, it stopped working. I have used following configuration.

    Network setup
    OVB => ol6-12c-rac1 => Settings … => Network =>
    Adapter 1 => Host-only Adapter => Enable Network Adapter
    Adapter 2 => Internal Network => Enable Network Adapter
    Adapter 3 => NAT => Enable Network Adapter
    Configure Network =>

    System eth0 => Connect Automatically => IPv4 Settings => Method => Manual => Add =>
    Address =>
    Netmask =>
    System eth1 => Connect Automatically => IPv4 Settings => Method => Manual => Add =>
    Address =>
    Netmask =>

    System eth2 => Leave default (DHCP, No Connect Automatically)


Leave a Reply

  • (will not be published)

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>