{"id":2830,"date":"2013-07-09T01:17:30","date_gmt":"2013-07-09T01:17:30","guid":{"rendered":"http:\/\/www.oratraining.com\/blog\/?p=2830"},"modified":"2013-07-17T06:22:35","modified_gmt":"2013-07-17T06:22:35","slug":"installing-12c-rac-on-linux-vm-add-additional-virtual-ethernet-card-and-perform-prerequisites-in-linux","status":"publish","type":"post","link":"https:\/\/www.oratraining.com\/blog\/2013\/07\/installing-12c-rac-on-linux-vm-add-additional-virtual-ethernet-card-and-perform-prerequisites-in-linux\/","title":{"rendered":"Installing 12c RAC on Linux VM: Add additional virtual Ethernet card and perform prerequisites in Linux"},"content":{"rendered":"<p style=\"text-align: justify; background: white;\">Now since we have installed basic Linux VM as per our previous guide, we need to add additional Ethernet card for Oracle clusterware private interconnect IP.<\/p>\n<p style=\"text-align: justify; background: white;\">Make sure that the OS is shutdown cleanly and VM shows Powered off status.<\/p>\n<p style=\"text-align: justify; background: white;\">In VMWare, select the VM, right click and select Settings. Same option is available in Oracle VirtualBox as well.<\/p>\n<p style=\"text-align: justify; background: white;\"><img decoding=\"async\" alt=\"\" src=\"http:\/\/www.oratraining.com\/blog\/wp-content\/uploads\/2013\/07\/070913_1015_Installing11.png\" \/><\/p>\n<p style=\"text-align: justify; background: white;\">\u00a0You will see above screen. Make sure that the memory is set to 3GB or 2.5GB. Click on &#8220;<strong>Add<\/strong>&#8221; to add new hardware<\/p>\n<p style=\"text-align: justify; background: white;\"><img decoding=\"async\" alt=\"\" src=\"http:\/\/www.oratraining.com\/blog\/wp-content\/uploads\/2013\/07\/070913_1015_Installing12.png\" \/><\/p>\n<p style=\"text-align: justify; background: white;\">\u00a0Select &#8220;<strong>Network Adapter<\/strong>&#8221; from the list and click\u00a0<strong>Next<\/strong><\/p>\n<p style=\"text-align: justify; background: white;\"><img decoding=\"async\" alt=\"\" src=\"http:\/\/www.oratraining.com\/blog\/wp-content\/uploads\/2013\/07\/070913_1015_Installing13.png\" \/><\/p>\n<p style=\"text-align: justify; background: white;\">Select &#8220;<strong>Host-only<\/strong>&#8221; network and click\u00a0<strong>Finish<\/strong><\/p>\n<p style=\"text-align: justify; background: white;\"><img decoding=\"async\" alt=\"\" src=\"http:\/\/www.oratraining.com\/blog\/wp-content\/uploads\/2013\/07\/070913_1015_Installing14.png\" \/><\/p>\n<p style=\"text-align: justify; background: white;\">The settings page should now look as above. Click\u00a0<strong>Ok<\/strong>\u00a0to close the window.<\/p>\n<p style=\"text-align: justify; background: white;\">Start up the Linux operating system in VM and login with root account.<\/p>\n<p style=\"text-align: justify; background: white;\"><img decoding=\"async\" alt=\"\" src=\"http:\/\/www.oratraining.com\/blog\/wp-content\/uploads\/2013\/07\/070913_1015_Installing15.png\" \/><\/p>\n<p style=\"text-align: justify; background: white;\">Click on\u00a0<strong>System-&gt; Administration-&gt; Network<\/strong>\u00a0to open network configuration screen<\/p>\n<p style=\"text-align: justify; background: white;\"><img decoding=\"async\" alt=\"\" src=\"http:\/\/www.oratraining.com\/blog\/wp-content\/uploads\/2013\/07\/070913_1015_Installing16.png\" \/><\/p>\n<p style=\"text-align: justify; background: white;\">Click Edit to confirm the IP address.<\/p>\n<p style=\"text-align: justify; background: white;\"><img decoding=\"async\" alt=\"\" src=\"http:\/\/www.oratraining.com\/blog\/wp-content\/uploads\/2013\/07\/070913_1015_Installing17.png\" \/><\/p>\n<p style=\"text-align: justify; background: white;\">Optionally you can disable MAC address binding since you will clone this VM to another node.<\/p>\n<p style=\"text-align: justify; background: white;\"><img decoding=\"async\" alt=\"\" src=\"http:\/\/www.oratraining.com\/blog\/wp-content\/uploads\/2013\/07\/070913_1015_Installing18.png\" \/><\/p>\n<p style=\"text-align: justify; background: white;\">\u00a0You will see one interface eth0 here. Now we will add another interface in Linux for the new virtual network card. Click on\u00a0<strong>New<\/strong><\/p>\n<p style=\"text-align: justify; background: white;\"><img decoding=\"async\" alt=\"\" src=\"http:\/\/www.oratraining.com\/blog\/wp-content\/uploads\/2013\/07\/070913_1015_Installing19.png\" \/><\/p>\n<p style=\"text-align: justify; background: white;\">Specify another IP address in different range. Our previous eth0 IP is 192.168.1.121 so we have selected different subnet 192.168.2.121 for eth1<\/p>\n<p style=\"text-align: justify; background: white;\">Do not specify any default gateway address here since these servers are generally connected to each other physically so in VM as well we will do the same.<\/p>\n<p style=\"text-align: justify; background: white;\"><img decoding=\"async\" alt=\"\" src=\"http:\/\/www.oratraining.com\/blog\/wp-content\/uploads\/2013\/07\/070913_1015_Installing110.png\" \/><\/p>\n<p style=\"text-align: justify; background: white;\">Make sure that the hostname is appearing correctly under DNS tab. You can change hostname here if required.<\/p>\n<p style=\"text-align: justify; background: white;\"><img decoding=\"async\" alt=\"\" src=\"http:\/\/www.oratraining.com\/blog\/wp-content\/uploads\/2013\/07\/070913_1015_Installing111.png\" \/><\/p>\n<p style=\"text-align: justify; background: white;\">You will see that still new interface shows as\u00a0<strong>Inactive<\/strong>. Select the interface and click &#8220;<strong>Activate<\/strong>&#8220;<\/p>\n<p style=\"text-align: justify; background: white;\"><img decoding=\"async\" alt=\"\" src=\"http:\/\/www.oratraining.com\/blog\/wp-content\/uploads\/2013\/07\/070913_1015_Installing112.png\" \/><\/p>\n<p style=\"text-align: justify; background: white;\">Now both will show up as &#8220;Active&#8221;. Make sure to save configuration by clicking on &#8220;File-&gt; Save&#8221;.<\/p>\n<p style=\"text-align: justify; background: white;\"><img decoding=\"async\" alt=\"\" src=\"http:\/\/www.oratraining.com\/blog\/wp-content\/uploads\/2013\/07\/070913_1015_Installing113.png\" \/><\/p>\n<p style=\"text-align: justify; background: white;\">Once you have saved the configuration, you can restart network service to see if the new configuration is still active.<\/p>\n<p style=\"text-align: justify; background: white;\">[root@dbhost1 ~] <strong>service network restart<\/strong><\/p>\n<p style=\"text-align: justify; background: white;\">Comment out entries from\u00a0<strong>\/etc\/resolv.conf<\/strong>\u00a0to disable DNS search if you are not using DNS to resolve host names. This will greatly improve performance of VM in general especially NFS<\/p>\n<p style=\"text-align: justify; background: white;\">Note: in 12c we need to rename \/etc\/resolv.conf file if you are not using DNS since the pre-requisites check will fail otherwise.<\/p>\n<p style=\"text-align: justify; background: white;\">[root@dbhost1 ~]#\u00a0<strong>mv \/etc\/resolv.conf \/etc\/resolv.conf_bak<\/strong><\/p>\n<p style=\"text-align: justify; background: white;\">If you are just modifying existing Linux VM and changing host name only then make sure that the new hostname is already present in following file. For fresh installation this will be already present.<\/p>\n<p style=\"text-align: justify; background: white;\">Create following entries in \/etc\/hosts file<\/p>\n<p>[root@dbhost1 ~]# <strong>more \/etc\/hosts<\/strong><\/p>\n<p># Do not remove the following line, or various programs<\/p>\n<p># that require network functionality will fail.<\/p>\n<p>127.0.0.1 localhost.localdomain localhost<\/p>\n<p>#::1 localhost6.localdomain6 localhost6<\/p>\n<p>192.168.1.121 dbhost1.paramlabs.com <strong>dbhost1<\/strong><\/p>\n<p>192.168.1.122 dbhost2.paramlabs.com <strong>dbhost2<\/strong><\/p>\n<p>192.168.1.123 dbhost1-vip.paramlabs.com <strong>dbhost1-vip<\/strong><\/p>\n<p>192.168.1.124 dbhost2-vip.paramlabs.com <strong>dbhost2-vip<\/strong><\/p>\n<p>192.168.2.121 dbhost1-priv.paramlabs.com <strong>dbhost1-priv<\/strong><\/p>\n<p>192.168.2.122 dbhost2-priv.paramlabs.com <strong>dbhost2-priv<\/strong><\/p>\n<p>192.168.1.125 dbhost-scan.paramlabs.com <strong>dbhost-scan<\/strong><\/p>\n<p>192.168.1.121 nfshost.paramlabs.com <strong>nfshost<\/strong><\/p>\n<p style=\"text-align: justify; background: white;\">Let me explain why we have made these entries.<\/p>\n<p style=\"text-align: justify; background: white;\"><strong>dbhost1 and dbhost2<\/strong>\u00a0are primary IP addresses for both Virtual nodes. Though we are yet to create node2, let us create these entries so that when we clone\/copy this VM, we will already have these entries present in second node.<\/p>\n<p style=\"text-align: justify; background: white;\"><strong>dbhost1-vip and dbhost2-vip<\/strong>\u00a0are going to be used as VIP for 11gR2 RAC. These IPs will be assigned to interface aliases on respective host where vip1 and vip2 will be active. This will be handled transparently by Oracle RAC<\/p>\n<p style=\"text-align: justify; background: white;\"><strong>dbhost1-priv and dbhost2-priv<\/strong>\u00a0are private interfaces for node1 and node2. These will work as interconnect IP addresses for these nodes. In physical servers, these interfaces are connected through a cross-cable or stand-alone switch (recommended). While in VM, this will be taken care of automatically.<\/p>\n<p style=\"text-align: justify; background: white;\">Make sure that you are able to ping primary IP of node1.<\/p>\n<p style=\"text-align: justify; background: white;\">[root@ dbhost1~]#\u00a0<strong>ping dbhost1 -c1<\/strong><\/p>\n<p>PING dbhost1.paramlabs.com (192.168.1.121) 56(84) bytes of data.<\/p>\n<p>64 bytes from dbhost1.paramlabs.com (192.168.1.121): icmp_seq=1 ttl=64 time=0.076 ms<\/p>\n<p>&nbsp;<\/p>\n<p>&#8212; dbhost1.paramlabs.com ping statistics &#8212;<\/p>\n<p>1 packets transmitted, 1 received, 0% packet loss, time 0ms<\/p>\n<p>rtt min\/avg\/max\/mdev = 0.076\/0.076\/0.076\/0.000 ms<\/p>\n<p style=\"text-align: justify; background: white;\">If you are not using time synchronization using NTP then make sure that the service is stopped.<\/p>\n<p style=\"text-align: justify; background: white;\">[root@ dbhost1~]#\u00a0<strong>service ntpd status<\/strong><\/p>\n<p style=\"text-align: justify; background: white;\">ntpd is stopped<\/p>\n<p style=\"background: white;\">Run following on both nodes to rename ntp.conf file<\/p>\n<p style=\"background: white;\">[root@ dbhost1~]#\u00a0<strong>mv \/etc\/ntp.conf \/etc\/ntp.conf.orig<\/strong><\/p>\n<p style=\"text-align: justify; background: white;\">Let us now create required users.<\/p>\n<p style=\"text-align: justify; background: white;\">First create owner user for Oracle clusterware\/grid.<\/p>\n<p>[root@dbhost1 ~]# <strong>useradd -g dba -G oinstall grid<\/strong><\/p>\n<p>[root@dbhost1 ~]# <strong>passwd grid<\/strong><\/p>\n<p>Changing password for user grid.<\/p>\n<p>New UNIX password:<\/p>\n<p>Retype new UNIX password:<\/p>\n<p>passwd: all authentication tokens updated successfully.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify; background: white;\">Since we already have user named oracle (as part of our linux installation steps), we will make sure that the groups are set correctly. This will be database owner user.<\/p>\n<p style=\"text-align: justify; background: white;\">[root@ dbhost1~]#\u00a0<strong>usermod -g dba -G oinstall oracle<\/strong><\/p>\n<p style=\"text-align: justify; background: white;\">[root@ dbhost1~]#\u00a0<strong>passwd oracle<\/strong><\/p>\n<p style=\"text-align: justify; background: white;\">Changing password for user oracle.<\/p>\n<p style=\"text-align: justify; background: white;\">New UNIX password:<\/p>\n<p style=\"text-align: justify; background: white;\">Retype new UNIX password:<\/p>\n<p style=\"text-align: justify; background: white;\">passwd: all authentication tokens updated successfully.<\/p>\n<p style=\"text-align: justify; background: white;\">Since the prerequisites are already installed as part of our Linux installation we will skip that for now. The clusterware installation might ask for some more pre-requisites but it will provide a fix script to automatically change the values so we can go ahead here.<\/p>\n<p style=\"text-align: justify; background: white;\">Let us create the required directories so that when we clone this VM, the second node also will already have these ready.<\/p>\n<p>[root@dbhost1 ~]# <strong>mkdir -p \/app\/oracle<\/strong><\/p>\n<p>[root@dbhost1 ~]# <strong>mkdir -p \/app\/12.1.0\/grid<\/strong><\/p>\n<p>[root@dbhost1 ~]# <strong>chown grid:dba \/app<\/strong><\/p>\n<p>[root@dbhost1 ~]# <strong>chown grid:dba \/app\/oracle<\/strong><\/p>\n<p>[root@dbhost1 ~]#\u00a0<strong>chown grid:dba \/app\/12.1.0<\/strong><\/p>\n<p>[root@dbhost1 ~]#\u00a0<strong>chown grid:dba \/app\/12.1.0\/grid<\/strong><\/p>\n<p>[root@dbhost1 ~]# <strong>chmod -R g+w \/app<br \/>\n<\/strong><\/p>\n<p style=\"text-align: justify; background: white;\">Now let us create the mount points. Here we will mount the shared file system on both nodes. For now just create these files. The shared file system will be created in later step.<\/p>\n<p>[root@dbhost1 ~]# <strong>mkdir \/u01<\/strong><\/p>\n<p>[root@dbhost1 ~]# <strong>mkdir \/u02<\/strong><\/p>\n<p>[root@dbhost1 ~]# <strong>mkdir \/u03<\/strong><\/p>\n<p>[root@dbhost1 ~]# <strong>chown grid:dba \/u01<\/strong><\/p>\n<p>[root@dbhost1 ~]# <strong>chown grid:dba \/u02<\/strong><\/p>\n<p>[root@dbhost1 ~]# <strong>chown grid:dba \/u03<\/strong><\/p>\n<p>[root@dbhost1 ~]# <strong>chmod g+w \/u01<\/strong><\/p>\n<p>[root@dbhost1 ~]# <strong>chmod g+w \/u02<\/strong><\/p>\n<p>[root@dbhost1 ~]# <strong>chmod g+w \/u03<\/strong><\/p>\n<p style=\"text-align: justify; background: white;\">This concludes the prerequisite steps to prepare basic Linux VM for RAC. In next steps we will clone this VM and then create node 2 for RAC.<\/p>\n<p><strong>Next:\u00a0<\/strong><a title=\"Installing 12c RAC on Linux VM: Copy\/clone this virtual machine to create second node and modify host details\" href=\"http:\/\/www.oratraining.com\/blog\/2013\/07\/installing-12c-rac-on-linux-vm-copyclone-this-virtual-machine-to-create-second-node-and-modify-host-details\/\">Copy\/clone this virtual machine to create second node and modify host details<\/a><\/p>\n<p style=\"text-align: justify; background: white;\"><a title=\"Oracle 12c (12.1) RAC (Real Applications Cluster) installation on Linux Virtual Machines \u2013 Step by step guide\" href=\"http:\/\/www.oratraining.com\/blog\/2013\/07\/oracle-12c-12-1-rac-real-applications-cluster-installation-on-linux-virtual-machines-step-by-step-guide\/\"><span style=\"color: #800000;\"><strong>Oracle 12c (12.1) RAC (Real Applications Cluster) installation on Linux Virtual Machines \u2013 Step by step guide<\/strong><\/span><\/a><\/p>\n<p>1. <a title=\"Creating Oracle VirtualBox Virtual Machine with Oracle Linux 5\" href=\"http:\/\/www.oratraining.com\/blog\/2012\/02\/creating-oracle-virtualbox-virtual-machine-with-oracle-linux\/\">Create Virtual Machine and install 64 bit Linux<\/a><br \/>\n2. <a title=\"Installing 12c RAC on Linux VM: Add additional virtual Ethernet card and perform prerequisites in Linux\" href=\"http:\/\/www.oratraining.com\/blog\/2013\/07\/installing-12c-rac-on-linux-vm-add-additional-virtual-ethernet-card-and-perform-prerequisites-in-linux\/\">Add additional virtual Ethernet card and perform prerequisites in Linux<\/a><br \/>\n3. <a title=\"Installing 12c RAC on Linux VM: Copy\/clone this virtual machine to create second node and modify host details\" href=\"http:\/\/www.oratraining.com\/blog\/2013\/07\/installing-12c-rac-on-linux-vm-copyclone-this-virtual-machine-to-create-second-node-and-modify-host-details\/\">Copy\/clone this virtual machine to create second node and modify host details<\/a><br \/>\n4. <a title=\"Installing 12c RAC on Linux VM: Setup shared file system and other pre-requisites\" href=\"http:\/\/www.oratraining.com\/blog\/2013\/07\/installing-12c-rac-on-linux-vm-setup-shared-file-system-and-other-pre-requisites\/\">Setup shared file system and other pre-requisites<\/a><br \/>\n5. <a title=\"Installing 12c RAC on Linux VM: Install Oracle Grid Infrastructure\" href=\"http:\/\/www.oratraining.com\/blog\/2013\/07\/installing-12c-rac-on-linux-vm-install-oracle-grid-infrastructure\/\">Install Oracle Grid Infrastructure<\/a><br \/>\n6. <a title=\"Installing 12c RAC on Linux VM: Install Oracle Database software and create RAC database\" href=\"http:\/\/www.oratraining.com\/blog\/2013\/07\/installing-12c-rac-on-linux-vm-install-oracle-database-software-and-create-rac-database\/\">Install Oracle Database software and create RAC database<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Now since we have installed basic Linux VM as per our previous guide, we need to add additional Ethernet card for Oracle clusterware private interconnect IP. Make sure that the OS is shutdown cleanly and VM shows Powered off status. In VMWare, select the VM, right click and select Settings. Same option is available in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[3,4,8,10,14,38,20],"tags":[180,179,169,176,172,178,96,170,171,173,105,177,174,175,147,148,182,181],"class_list":["post-2830","post","type-post","status-publish","format-standard","hentry","category-linuxunixsolaris","category-oracle","category-database","category-oracle-dba","category-oracle-rac","category-virtualbox-virtualization","category-virtualization","tag-12-1-0-installation","tag-12-1-0-rac","tag-12c","tag-12c-installation","tag-12c-rac","tag-12c-rac-installation","tag-linux","tag-oracle-12","tag-oracle-12c","tag-oracle-12c-rac","tag-oracle-linux","tag-rac-installation","tag-real-application-clusters","tag-real-applications-cluster","tag-virtual-machine","tag-virtualbox","tag-vm","tag-vmware"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.oratraining.com\/blog\/wp-json\/wp\/v2\/posts\/2830","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.oratraining.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.oratraining.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.oratraining.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.oratraining.com\/blog\/wp-json\/wp\/v2\/comments?post=2830"}],"version-history":[{"count":0,"href":"https:\/\/www.oratraining.com\/blog\/wp-json\/wp\/v2\/posts\/2830\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.oratraining.com\/blog\/wp-json\/wp\/v2\/media?parent=2830"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.oratraining.com\/blog\/wp-json\/wp\/v2\/categories?post=2830"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.oratraining.com\/blog\/wp-json\/wp\/v2\/tags?post=2830"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}