{"id":2847,"date":"2013-07-09T01:00:24","date_gmt":"2013-07-09T01:00:24","guid":{"rendered":"http:\/\/www.oratraining.com\/blog\/?p=2847"},"modified":"2013-07-17T06:22:52","modified_gmt":"2013-07-17T06:22:52","slug":"installing-12c-rac-on-linux-vm-setup-shared-file-system-and-other-pre-requisites","status":"publish","type":"post","link":"https:\/\/www.oratraining.com\/blog\/2013\/07\/installing-12c-rac-on-linux-vm-setup-shared-file-system-and-other-pre-requisites\/","title":{"rendered":"Installing 12c RAC on Linux VM: Setup shared file system and other pre-requisites"},"content":{"rendered":"<p style=\"background: white;\"><strong>Previous:\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=\"background: white;\">Now we need to setup shared file system for these nodes since having shared storage is a must for Oracle RAC<\/p>\n<p style=\"background: white;\">Since we are not using any external storage, NAS or SAN, we will host the shared file system on node 1 and share the same with node 2 using NFS. This is not recommended for production but since we are not using external storage for VMs this is the best way to achieve shared file system.<\/p>\n<p style=\"background: white;\"><strong>Note:<\/strong>\u00a0Please do not use VMWare&#8217;s shared folders option since it is not cluster-aware and cannot make sure that read\/writes from multiple hosts are handled properly. This can cause cluster panic so use NFS only for this VM purpose. Also we are not using VirtualBox shared disk option since we want to keep it generic in nature.<\/p>\n<p style=\"background: white;\">Since we are not using shared storage for Virtual Machines, we are sharing disks via NFS from one node to another.\u00a0Here is how the VMs can be represented.<\/p>\n<p style=\"text-align: justify;\"><a href=\"http:\/\/www.oratraining.com\/blog\/wp-content\/uploads\/2013\/03\/11gR2-VM-visio.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2072\" alt=\"11gR2-VM-visio\" src=\"http:\/\/www.oratraining.com\/blog\/wp-content\/uploads\/2013\/03\/11gR2-VM-visio.jpg\" width=\"574\" height=\"364\" srcset=\"https:\/\/www.oratraining.com\/blog\/wp-content\/uploads\/2013\/03\/11gR2-VM-visio.jpg 574w, https:\/\/www.oratraining.com\/blog\/wp-content\/uploads\/2013\/03\/11gR2-VM-visio-300x190.jpg 300w\" sizes=\"auto, (max-width: 574px) 100vw, 574px\" \/><\/a><\/p>\n<p style=\"background: white;\">Login to\u00a0<strong>Node 1<\/strong>\u00a0using root user. Please note that these steps are\u00a0<strong>ONLY to be done on Node 1<\/strong>, not on node 2.<\/p>\n<p style=\"background: white;\">Let us first create the directories which will host the shared data.<\/p>\n<p style=\"background: white;\">[root@dbhost1 ~]#\u00a0<strong>mkdir \/shared_1<\/strong><\/p>\n<p style=\"background: white;\">[root@dbhost1 ~]#\u00a0<strong>mkdir \/shared_2<\/strong><\/p>\n<p style=\"background: white;\">[root@dbhost1 ~]#\u00a0<strong>mkdir \/shared_3<\/strong><\/p>\n<p style=\"background: white;\">[root@dbhost1 ~]#\u00a0<strong>chown grid:dba \/shared_1<\/strong><\/p>\n<p style=\"background: white;\">[root@dbhost1 ~]#\u00a0<strong>chown grid:dba \/shared_2<\/strong><\/p>\n<p style=\"background: white;\">[root@dbhost1 ~]#\u00a0<strong>chown grid:dba \/shared_3<\/strong><\/p>\n<p style=\"background: white;\">[root@dbhost1 ~]#\u00a0<strong>chmod g+w \/shared_1<\/strong><\/p>\n<p style=\"background: white;\">[root@dbhost1 ~]#\u00a0<strong>chmod g+w \/shared_2<\/strong><\/p>\n<p style=\"background: white;\">[root@dbhost1 ~]#\u00a0<strong>chmod g+w \/shared_3<\/strong><\/p>\n<p style=\"background: white;\">Now we need to enable these directories to be shared over NFS. Enter following details in\u00a0<strong>\/etc\/exports <\/strong>file<\/p>\n<p style=\"background: white;\">You will need uid and guid for user grid. You can find it by executing &#8220;id&#8221; command while logged in as &#8220;grid&#8221; user.<\/p>\n<p>[grid@dbhost1 ~]# id<br \/>\nuid=<strong>54322<\/strong>(grid) gid=<strong>54322<\/strong>(dba) groups=<strong>54322<\/strong>(dba),<strong>54323<\/strong>(oinstall)<\/p>\n<blockquote>\n<p style=\"background: white;\">[root@dbhost1 ~]#\u00a0<strong>more \/etc\/exports<\/strong><\/p>\n<p><strong>\/shared_1 *(rw,sync,no_root_squash,insecure,anonuid=54322,anongid=54322)<br \/>\n<\/strong><\/p>\n<p><strong>\/shared_2 *(rw,sync,no_root_squash,insecure,anonuid=54322,anongid=54322)<br \/>\n<\/strong><\/p>\n<p><strong>\/shared_3 *(rw,sync,no_root_squash,insecure,anonuid=54322,anongid=54322)<br \/>\n<\/strong><\/p><\/blockquote>\n<p style=\"background: white;\">Check if NFS service is running. If not we need to start it.<\/p>\n<p style=\"background: white;\">[root@ dbhost1~]#\u00a0<strong>service nfs status<\/strong><\/p>\n<p style=\"background: white;\">rpc.mountd is stopped<\/p>\n<p style=\"background: white;\">nfsd is stopped<\/p>\n<p style=\"background: white;\">rpc.rquotad is stopped<\/p>\n<p style=\"background: white;\">[root@ dbhost1~]#\u00a0<strong>chkconfig nfs on<\/strong><\/p>\n<p style=\"background: white;\">[root@ dbhost1~]#\u00a0<strong>service nfs start<\/strong><\/p>\n<p style=\"background: white;\">Starting NFS services:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 [\u00a0 OK\u00a0 ]<\/p>\n<p style=\"background: white;\">Starting NFS quotas:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 [ \u00a0OK\u00a0 ]<\/p>\n<p style=\"background: white;\">Starting NFS daemon:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 [\u00a0 OK\u00a0 ]<\/p>\n<p style=\"background: white;\">Starting NFS mountd:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 [\u00a0 OK\u00a0 ]<\/p>\n<p style=\"background: white;\">Stopping RPC idmapd:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 [\u00a0 OK\u00a0 ]<\/p>\n<p style=\"background: white;\">Starting RPC idmapd:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0[\u00a0 OK\u00a0 ]<\/p>\n<p style=\"background: white;\">These above steps have enabled the newly created shared directories for NFS mount.<\/p>\n<p style=\"background: white;\">Now following steps need to be done on both\u00a0<strong>Node 1 and Node 2<\/strong><\/p>\n<p style=\"background: white;\"><strong>&#8220;Append&#8221;<\/strong>\u00a0following entries in \/etc\/fstab file<\/p>\n<p style=\"background: white;\">[root@dbhost1 ~]#\u00a0<strong>tail -3 \/etc\/fstab<\/strong><\/p>\n<pre><span style=\"font-size: 10pt;\"><strong>nfshost:\/shared_1 \/u01 nfs rw,bg,hard,nolock,noac,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0 0 0<\/strong><\/span><\/pre>\n<pre>nfshost:\/shared_2 \/u02 nfs rw,bg,hard,nolock,noac,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0 0 0<\/pre>\n<pre>nfshost:\/shared_3 \/u03 nfs rw,bg,hard,nolock,noac,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0 0 0<\/pre>\n<p>&nbsp;<\/p>\n<p>[root@dbhost2 ~]# <strong>tail -3 \/etc\/fstab<\/strong><\/p>\n<p>nfshost:\/shared_1 \/u01 nfs rw,bg,hard,nolock,noac,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0 0 0<\/p>\n<p>nfshost:\/shared_2 \/u02 nfs rw,bg,hard,nolock,noac,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0 0 0<\/p>\n<p>nfshost:\/shared_3 \/u03 nfs rw,bg,hard,nolock,noac,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0 0 0<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"background-color: white;\">Let us mount each of these shared directories to the mount points created earlier. This is not required to be done from next restart since system will automatically mount them based on\u00a0<\/span><strong>\/etc\/fstab<\/strong><span style=\"background-color: white;\">\u00a0entries.<\/span><\/p>\n<p style=\"background: white;\">[root@dbhost1 ~]#\u00a0<strong>mount \/u01<\/strong><\/p>\n<p style=\"background: white;\">[root@dbhost1 ~]#\u00a0<strong>mount \/u02<\/strong><\/p>\n<p style=\"background: white;\">[root@dbhost1 ~]#\u00a0<strong>mount \/u03<\/strong><\/p>\n<p style=\"background: white;\">Same on <strong>node 2<\/strong><br \/>\n[root@dbhost2 ~]# <strong>mount \/u01<\/strong><br \/>\n[root@dbhost2 ~]# <strong>mount \/u02<\/strong><br \/>\n[root@dbhost2 ~]# <strong>mount \/u03<\/strong><\/p>\n<p style=\"background: white;\">Confirm if these directories are mounted correctly.<\/p>\n<p>[root@dbhost1 ~]# <strong>df -h<\/strong><\/p>\n<p>Filesystem Size Used Avail Use% Mounted on<\/p>\n<p>\/dev\/mapper\/VolGroup00-LogVol00<\/p>\n<p>283G 4.6G 264G 2% \/<\/p>\n<p>\/dev\/sda1 99M 41M 53M 44% \/boot<\/p>\n<p>tmpfs 1002M 0 1002M 0% \/dev\/shm<\/p>\n<p>nfshost:\/shared_1 283G 4.6G 264G 2% <strong>\/u01<\/strong><\/p>\n<p>nfshost:\/shared_2 283G 4.6G 264G 2% <strong>\/u02<\/strong><\/p>\n<p>nfshost:\/shared_3 283G 4.6G 264G 2% <strong>\/u03<\/strong><\/p>\n<p>Same on <strong>node 2<\/strong><br \/>\n[root@dbhost2 ~]# <strong>df -h<\/strong><\/p>\n<p>Filesystem Size Used Avail Use% Mounted on<\/p>\n<p>\/dev\/mapper\/VolGroup00-LogVol00<\/p>\n<p>283G 4.6G 264G 2% \/<\/p>\n<p>\/dev\/sda1 99M 41M 53M 44% \/boot<\/p>\n<p>tmpfs 1002M 0 1002M 0% \/dev\/shm<\/p>\n<p>nfshost:\/shared_1 283G 4.6G 264G 2% <strong>\/u01<\/strong><\/p>\n<p>nfshost:\/shared_2 283G 4.6G 264G 2% <strong>\/u02<\/strong><\/p>\n<p>nfshost:\/shared_3 283G 4.6G 264G 2% <strong>\/u03<\/strong><\/p>\n<p style=\"background: white;\">As I said, next time when you restart, automatically these directories will be mounted,<\/p>\n<p style=\"background: white;\"><span style=\"text-decoration: underline;\"><strong>IMPORTANT NOTE:<\/strong><\/span>\u00a0Whenever you are restarting both servers,\u00a0<strong>make sure that you let Node 1 start properly before starting Node 2.\u00a0<\/strong>The reason being, the\u00a0<strong>shared file system is hosted on Node 1<\/strong>\u00a0so if node 2 starts before node 1 has enabled NFS share during startup, the mount points will not come up on Node 2. This will especially be a problem once our clusterware and RAC database are installed.<\/p>\n<p style=\"background: white;\"><strong>Setting up user-equivalence on both nodes (Passwordless SSH setup)<\/strong><\/p>\n<p style=\"background: white;\">Having passwordless ssh connectivity is a must for RAC installation. This is required for both nodes to communicate with each other and passing commands to each node during runtime and maintenance.<\/p>\n<p style=\"background: white;\">We will setup user-equivalence for both\u00a0<strong>oracle\u00a0<\/strong>and\u00a0<strong>grid<\/strong>\u00a0users. Let us start with\u00a0grid owner user\u00a0<strong>grid <\/strong>first.<\/p>\n<p style=\"background: white;\"><strong>Perform following on Node1<\/strong><\/p>\n<p style=\"background: white;\"><span style=\"color: blue;\"><strong>We will use all\u00a04 combinations\u00a0every time. i.e. dbhost1, dbhost1.paramlabs.com (fully qualified domain name), dbhost2, dbhost2.paramlabs.com<br \/>\n<\/strong><\/span><\/p>\n<p>[grid@dbhost1 ~]$ <strong>ssh grid@dbhost2<\/strong><\/p>\n<p>The authenticity of host &#8216;dbhost2 (192.168.1.122)&#8217; can&#8217;t be established.<\/p>\n<p>RSA key fingerprint is<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <strong>yes<\/strong><\/p>\n<p>Warning: Permanently added &#8216;dbhost2,192.168.1.122&#8217; (RSA) to the list of known hosts.<\/p>\n<p>grid@dbhost2&#8217;s password:<\/p>\n<p>[grid@dbhost2 ~]$ exit<\/p>\n<p>logout<\/p>\n<p>Connection to dbhost2 closed.<\/p>\n<p>&nbsp;<\/p>\n<p>[grid@dbhost1 ~]$ <strong>ssh grid@dbhost1<\/strong><\/p>\n<p>The authenticity of host &#8216;dbhost1 (192.168.1.121)&#8217; can&#8217;t be established.<\/p>\n<p>RSA key fingerprint is<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <strong>yes<\/strong><\/p>\n<p>Warning: Permanently added &#8216;dbhost1,192.168.1.121&#8217; (RSA) to the list of known hosts.<\/p>\n<p>grid@dbhost1&#8217;s password:<\/p>\n<p>[grid@dbhost1 ~]$ exit<\/p>\n<p>logout<\/p>\n<p>Connection to dbhost1 closed.<\/p>\n<p>&nbsp;<\/p>\n<p>[grid@dbhost1 ~]$ <strong>ssh grid@dbhost1.paramlabs.com<\/strong><\/p>\n<p>The authenticity of host &#8216;dbhost1.paramlabs.com (192.168.1.121)&#8217; can&#8217;t be established.<\/p>\n<p>RSA key fingerprint is<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <strong>yes<\/strong><\/p>\n<p>Warning: Permanently added &#8216;dbhost1.paramlabs.com&#8217; (RSA) to the list of known hosts.<\/p>\n<p>grid@dbhost1.paramlabs.com&#8217;s password:<\/p>\n<p>&nbsp;<\/p>\n<p>[grid@dbhost1 ~]$ <strong>ssh grid@dbhost2.paramlabs.com<\/strong><\/p>\n<p>The authenticity of host &#8216;dbhost2.paramlabs.com (192.168.1.122)&#8217; can&#8217;t be established.<\/p>\n<p>RSA key fingerprint is<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <strong>yes<\/strong><\/p>\n<p>Warning: Permanently added &#8216;dbhost2.paramlabs.com&#8217; (RSA) to the list of known hosts.<\/p>\n<p>grid@dbhost2.paramlabs.com&#8217;s password:<\/p>\n<p>Last login: Mon Jul 8 13:24:19 2013 from dbhost1.paramlabs.com<\/p>\n<p>&nbsp;<\/p>\n<p>[grid@dbhost1 ~]$ <strong>ssh-keygen -t dsa<\/strong><\/p>\n<p>Generating public\/private dsa key pair.<\/p>\n<p>Enter file in which to save the key (\/home\/grid\/.ssh\/id_dsa):<\/p>\n<p>Enter passphrase (empty for no passphrase):<\/p>\n<p>Enter same passphrase again:<\/p>\n<p>Your identification has been saved in \/home\/grid\/.ssh\/id_dsa.<\/p>\n<p>Your public key has been saved in \/home\/grid\/.ssh\/id_dsa.pub.<\/p>\n<p>The key fingerprint is:<\/p>\n<p>xxxxxx grid@dbhost1.paramlabs.com<\/p>\n<p>&nbsp;<\/p>\n<p>[grid@dbhost1 ~]$ <strong>ls -ltr \/home\/grid\/.ssh\/<\/strong><\/p>\n<p>total 12<\/p>\n<p>-rw-r&#8211;r&#8211; 1 grid dba 1612 Jul 8 13:25 known_hosts<\/p>\n<p>-rw-r&#8211;r&#8211; 1 grid dba 616 Jul 8 13:26 <strong>id_dsa.pub<\/strong><\/p>\n<p>-rw&#8212;&#8212;- 1 grid dba 668 Jul 8 13:26 <strong>id_dsa<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>[grid@dbhost2 ~]$ <strong>ssh-keygen -t dsa<\/strong><\/p>\n<p>Generating public\/private dsa key pair.<\/p>\n<p>Enter file in which to save the key (\/home\/grid\/.ssh\/id_dsa):<\/p>\n<p>Created directory &#8216;\/home\/grid\/.ssh&#8217;.<\/p>\n<p>Enter passphrase (empty for no passphrase):<\/p>\n<p>Enter same passphrase again:<\/p>\n<p>Your identification has been saved in \/home\/grid\/.ssh\/id_dsa.<\/p>\n<p>Your public key has been saved in \/home\/grid\/.ssh\/id_dsa.pub.<\/p>\n<p>The key fingerprint is:<\/p>\n<p>xxxx grid@dbhost2.paramlabs.com<\/p>\n<p>&nbsp;<\/p>\n<p>[grid@dbhost2 ~]$ <strong>ls -ltr \/home\/grid\/.ssh<\/strong><\/p>\n<p>total 8<\/p>\n<p>-rw-r&#8211;r&#8211; 1 grid dba 616 Jul 8 13:28 <strong>id_dsa.pub<\/strong><\/p>\n<p>-rw&#8212;&#8212;- 1 grid dba 668 Jul 8 13:28 <strong>id_dsa<br \/>\n<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>[grid@dbhost1 ~]$ <strong>scp \/home\/grid\/.ssh\/id_dsa.pub grid@dbhost2:\/home\/grid\/.ssh\/authorized_keys<\/strong><\/p>\n<p>grid@dbhost2&#8217;s password:<\/p>\n<p>id_dsa.pub 100% 616 0.6KB\/s 00:00<\/p>\n<p>&nbsp;<\/p>\n<p>[grid@dbhost2 ~]$ <strong>scp \/home\/grid\/.ssh\/id_dsa.pub grid@dbhost1:\/home\/grid\/.ssh\/authorized_keys<br \/>\n<\/strong><\/p>\n<p>The authenticity of host &#8216;dbhost1 (192.168.1.121)&#8217; can&#8217;t be established.<\/p>\n<p>RSA key fingerprint is<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? yes<\/p>\n<p>Warning: Permanently added &#8216;dbhost1,192.168.1.121&#8217; (RSA) to the list of known hosts.<\/p>\n<p>grid@dbhost1&#8217;s password:<\/p>\n<p>id_dsa.pub 100% 616 0.6KB\/s 00:00<\/p>\n<p>&nbsp;<\/p>\n<p>[grid@dbhost1 ~]$ <strong>cat \/home\/grid\/.ssh\/id_dsa.pub &gt;&gt; \/home\/grid\/.ssh\/authorized_keys<\/strong><\/p>\n<p>[grid@dbhost2 ~]$ <strong>cat \/home\/grid\/.ssh\/id_dsa.pub &gt;&gt; \/home\/grid\/.ssh\/authorized_keys<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"background: white;\"><span style=\"color: blue;\"><strong>Now let us test the passwordless connectivity between these 2 nodes using grid user.\u00a0 It should not prompt for password. In that case the test will be successful.<br \/>\n<\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>[grid@dbhost1 ~]$ <strong>ssh grid@dbhost1<\/strong><\/p>\n<p>Last login: Mon Jul 8 13:30:02 2013 from dbhost2.paramlabs.com<\/p>\n<p>[grid@dbhost1 ~]$ exit<\/p>\n<p>logout<\/p>\n<p>Connection to dbhost1 closed.<\/p>\n<p>&nbsp;<\/p>\n<p>[grid@dbhost1 ~]$ <strong>ssh grid@dbhost2<\/strong><\/p>\n<p>Last login: Mon Jul 8 13:30:10 2013 from dbhost2.paramlabs.com<\/p>\n<p>[grid@dbhost2 ~]$ exit<\/p>\n<p>logout<\/p>\n<p>Connection to dbhost2 closed.<\/p>\n<p>&nbsp;<\/p>\n<p>[grid@dbhost1 ~]$ <strong>ssh grid@dbhost1.paramlabs.com<\/strong><\/p>\n<p>Last login: Mon Jul 8 13:31:38 2013 from dbhost1.paramlabs.com<\/p>\n<p>[grid@dbhost1 ~]$ exit<\/p>\n<p>logout<\/p>\n<p>Connection to dbhost1.paramlabs.com closed.<\/p>\n<p>&nbsp;<\/p>\n<p>[grid@dbhost1 ~]$ <strong>ssh grid@dbhost2.paramlabs.com<\/strong><\/p>\n<p>Last login: Mon Jul 8 13:31:41 2013 from dbhost1.paramlabs.com<\/p>\n<p>[grid@dbhost2 ~]$ exit<\/p>\n<p>logout<\/p>\n<p>Connection to dbhost2.paramlabs.com closed.<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: blue;\"><strong>Let&#8217;s do the same on dbhost2<br \/>\n<\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>[grid@dbhost2 ~]$ <strong>ssh grid@dbhost1<\/strong><\/p>\n<p>Last login: Mon Jul 8 13:31:46 2013 from dbhost1.paramlabs.com<\/p>\n<p>[grid@dbhost1 ~]$ exit<\/p>\n<p>logout<\/p>\n<p>Connection to dbhost1 closed.<\/p>\n<p>&nbsp;<\/p>\n<p>[grid@dbhost2 ~]$ <strong>ssh grid@dbhost2<\/strong><\/p>\n<p>Last login: Mon Jul 8 13:31:50 2013 from dbhost1.paramlabs.com<\/p>\n<p>[grid@dbhost2 ~]$ exit<\/p>\n<p>logout<\/p>\n<p>Connection to dbhost2 closed.<\/p>\n<p>&nbsp;<\/p>\n<p>[grid@dbhost2 ~]$ <strong>ssh grid@dbhost1.paramlabs.com<\/strong><\/p>\n<p>The authenticity of host &#8216;dbhost1.paramlabs.com (192.168.1.121)&#8217; can&#8217;t be established.<\/p>\n<p>RSA key fingerprint is<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <strong>yes<\/strong><\/p>\n<p>Warning: Permanently added &#8216;dbhost1.paramlabs.com&#8217; (RSA) to the list of known hosts.<\/p>\n<p>Last login: Mon Jul 8 13:32:09 2013 from dbhost2.paramlabs.com<\/p>\n<p>[grid@dbhost1 ~]$ exit<\/p>\n<p>logout<\/p>\n<p>Connection to dbhost1.paramlabs.com closed.<\/p>\n<p>&nbsp;<\/p>\n<p>[grid@dbhost2 ~]$ <strong>ssh grid@dbhost2.paramlabs.com<\/strong><\/p>\n<p>The authenticity of host &#8216;dbhost2.paramlabs.com (192.168.1.122)&#8217; can&#8217;t be established.<\/p>\n<p>RSA key fingerprint is<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <strong>yes<\/strong><\/p>\n<p>Warning: Permanently added &#8216;dbhost2.paramlabs.com&#8217; (RSA) to the list of known hosts.<\/p>\n<p>Last login: Mon Jul 8 13:32:11 2013 from dbhost2.paramlabs.com<\/p>\n<p>[grid@dbhost2 ~]$ exit<\/p>\n<p>logout<\/p>\n<p>Connection to dbhost2.paramlabs.com closed.<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: blue;\"><strong>This concludes passwordless ssh setup for grid user. Let us do the same exercise for oracle user.<br \/>\n<\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: blue;\"><strong>Let us generate public key for\u00a0dbhost1.\u00a0Accept defaults and press enter whenever prompted.<br \/>\n<\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@dbhost1 ~]$ <strong>ssh-keygen -t dsa<\/strong><\/p>\n<p>Generating public\/private dsa key pair.<\/p>\n<p>Enter file in which to save the key (\/home\/oracle\/.ssh\/id_dsa):<\/p>\n<p>Enter passphrase (empty for no passphrase):<\/p>\n<p>Enter same passphrase again:<\/p>\n<p>Your identification has been saved in \/home\/oracle\/.ssh\/id_dsa.<\/p>\n<p>Your public key has been saved in \/home\/oracle\/.ssh\/id_dsa.pub.<\/p>\n<p>The key fingerprint is:<\/p>\n<p>xxxxx oracle@dbhost1.paramlabs.com<\/p>\n<p>&nbsp;<\/p>\n<p style=\"background: white;\"><span style=\"color: blue;\"><strong>Now let us generate public key for\u00a0dbhost2.\u00a0Accept defaults and press enter whenever prompted.<br \/>\n<\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@dbhost2 ~]$ <strong>ssh-keygen -t dsa<\/strong><\/p>\n<p>Generating public\/private dsa key pair.<\/p>\n<p>Enter file in which to save the key (\/home\/oracle\/.ssh\/id_dsa):<\/p>\n<p>Created directory &#8216;\/home\/oracle\/.ssh&#8217;.<\/p>\n<p>Enter passphrase (empty for no passphrase):<\/p>\n<p>Enter same passphrase again:<\/p>\n<p>Your identification has been saved in \/home\/oracle\/.ssh\/id_dsa.<\/p>\n<p>Your public key has been saved in \/home\/oracle\/.ssh\/id_dsa.pub.<\/p>\n<p>The key fingerprint is:<\/p>\n<p>xxxxx oracle@dbhost2.paramlabs.com<\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@dbhost1 ~]$ <strong>ls -ltr \/home\/oracle\/.ssh\/<\/strong><\/p>\n<p>total 8<\/p>\n<p>-rw-r&#8211;r&#8211; 1 oracle oinstall 618 Jul 8 19:55 <strong>id_dsa.pub<\/strong><\/p>\n<p>-rw&#8212;&#8212;- 1 oracle oinstall 672 Jul 8 19:55 <strong>id_dsa<br \/>\n<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@dbhost2 ~]$ <strong>ls -ltr \/home\/oracle\/.ssh\/<\/strong><\/p>\n<p>total 8<\/p>\n<p>-rw-r&#8211;r&#8211; 1 oracle oinstall 618 Jul 8 19:55 <strong>id_dsa.pub<\/strong><\/p>\n<p>-rw&#8212;&#8212;- 1 oracle oinstall 668 Jul 8 19:55 <strong>id_dsa<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"background: white;\"><span style=\"color: blue;\"><strong>Now we need to copy this public key to second host in order to authorize it to connect to this host using this (oracle) user without password. We will save this public key in a file named\u00a0authorized_keys\u00a0on node 2.<br \/>\n<\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@dbhost1~]$ <strong>cd \/home\/oracle\/.ssh\/<\/strong><\/p>\n<p>[oracle@dbhost1 .ssh]$ <strong>scp id_dsa.pub oracle@dbhost2:\/home\/oracle\/.ssh\/authorized_keys<\/strong><\/p>\n<p>The authenticity of host &#8216;dbhost2 (192.168.1.122)&#8217; can&#8217;t be established.<\/p>\n<p>RSA key fingerprint is<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)?<strong> yes<\/strong><\/p>\n<p>Warning: Permanently added &#8216;dbhost2,192.168.1.122&#8217; (RSA) to the list of known hosts.<\/p>\n<p>oracle@dbhost2&#8217;s password:<\/p>\n<p>id_dsa.pub<\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@dbhost2 ~]$ <strong>cd \/home\/oracle\/.ssh\/<\/strong><\/p>\n<p>[oracle@dbhost2 ~]$ <strong>scp id_dsa.pub oracle@dbhost1:\/home\/oracle\/.ssh\/authorized_keys<\/strong><\/p>\n<p>The authenticity of host &#8216;dbhost1 (192.168.1.121)&#8217; can&#8217;t be established.<\/p>\n<p>RSA key fingerprint is<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <strong>yes<\/strong><\/p>\n<p>Warning: Permanently added &#8216;dbhost1,192.168.1.121&#8217; (RSA) to the list of known hosts.<\/p>\n<p>oracle@dbhost1&#8217;s password:<\/p>\n<p>id_dsa.pub 100% 618 0.6KB\/s 00:00<\/p>\n<p>&nbsp;<\/p>\n<p style=\"background: white;\"><span style=\"color: blue;\"><strong>Also we will append the public key for dbhost1 to itself as well so that it can do ssh to samebox without password (2 of the 4 combinations)<br \/>\n<\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@dbhost1 .ssh]$ <strong>cat id_dsa.pub &gt;&gt; authorized_keys<\/strong><\/p>\n<p>[oracle@dbhost2 .ssh]$ <strong>cat id_dsa.pub &gt;&gt; authorized_keys<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p style=\"background: white;\"><span style=\"color: blue;\"><strong>Now let us test the passwordless connectivity between these 2 nodes using oracle user.<br \/>\n<\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@dbhost1 .ssh]$ <strong>ssh oracle@dbhost1<\/strong><\/p>\n<p>The authenticity of host &#8216;dbhost1 (192.168.1.121)&#8217; can&#8217;t be established.<\/p>\n<p>RSA key fingerprint is<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <strong>yes<\/strong><\/p>\n<p>Warning: Permanently added &#8216;dbhost1,192.168.1.121&#8217; (RSA) to the list of known hosts.<\/p>\n<p>Last login: Mon Jul 8 19:54:43 2013 from 192.168.1.181<\/p>\n<p>[oracle@dbhost1 ~]$ exit<\/p>\n<p>logout<\/p>\n<p>Connection to dbhost1 closed.<\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@dbhost1 .ssh]$ <strong>ssh oracle@dbhost2<\/strong><\/p>\n<p>Last login: Mon Jul 8 19:54:49 2013 from 192.168.1.181<\/p>\n<p>[oracle@dbhost2 ~]$ exit<\/p>\n<p>logout<\/p>\n<p>Connection to dbhost2 closed.<\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@dbhost1 .ssh]$ <strong>ssh oracle@dbhost1.paramlabs.com<\/strong><\/p>\n<p>The authenticity of host &#8216;dbhost1.paramlabs.com (192.168.1.121)&#8217; can&#8217;t be established.<\/p>\n<p>RSA key fingerprint is a<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <strong>yes<\/strong><\/p>\n<p>Warning: Permanently added &#8216;dbhost1.paramlabs.com&#8217; (RSA) to the list of known hosts.<\/p>\n<p>Last login: Mon Jul 8 19:58:48 2013 from dbhost1.paramlabs.com<\/p>\n<p>[oracle@dbhost1 ~]$ exit<\/p>\n<p>logout<\/p>\n<p>Connection to dbhost1.paramlabs.com closed.<\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@dbhost1 .ssh]$ <strong>ssh oracle@dbhost2.paramlabs.com<\/strong><\/p>\n<p>The authenticity of host &#8216;dbhost2.paramlabs.com (192.168.1.122)&#8217; can&#8217;t be established.<\/p>\n<p>RSA key fingerprint is<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <strong>yes<\/strong><\/p>\n<p>Warning: Permanently added &#8216;dbhost2.paramlabs.com&#8217; (RSA) to the list of known hosts.<\/p>\n<p>Last login: Mon Jul 8 19:58:51 2013 from dbhost1.paramlabs.com<\/p>\n<p>[oracle@dbhost2 ~]$ exit<\/p>\n<p>logout<\/p>\n<p>Connection to dbhost2.paramlabs.com closed.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"background: white;\"><span style=\"color: blue;\"><strong>Now do the similar steps on Node 2 (dbhost2)<\/strong><br \/>\n<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@dbhost2 .ssh]$ <strong>ssh oracle@dbhost1<\/strong><\/p>\n<p>Last login: Mon Jul 8 19:58:57 2013 from dbhost1.paramlabs.com<\/p>\n<p>[oracle@dbhost1 ~]$ exit<\/p>\n<p>logout<\/p>\n<p>Connection to dbhost1 closed.<\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@dbhost2 .ssh]$ <strong>ssh oracle@dbhost2<\/strong><\/p>\n<p>The authenticity of host &#8216;dbhost2 (192.168.1.122)&#8217; can&#8217;t be established.<\/p>\n<p>RSA key fingerprint is<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <strong>yes<\/strong><\/p>\n<p>Warning: Permanently added &#8216;dbhost2,192.168.1.122&#8217; (RSA) to the list of known hosts.<\/p>\n<p>Last login: Mon Jul 8 19:59:02 2013 from dbhost1.paramlabs.com<\/p>\n<p>[oracle@dbhost2 ~]$ exit<\/p>\n<p>logout<\/p>\n<p>Connection to dbhost2 closed.<\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@dbhost2 .ssh]$ <strong>ssh oracle@dbhost1.paramlabs.com<\/strong><\/p>\n<p>The authenticity of host &#8216;dbhost1.paramlabs.com (192.168.1.121)&#8217; can&#8217;t be established.<\/p>\n<p>RSA key fingerprint is<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <strong>yes<\/strong><\/p>\n<p>Warning: Permanently added &#8216;dbhost1.paramlabs.com&#8217; (RSA) to the list of known hosts.<\/p>\n<p>Last login: Mon Jul 8 19:59:17 2013 from dbhost2.paramlabs.com<\/p>\n<p>[oracle@dbhost1 ~]$ exit<\/p>\n<p>logout<\/p>\n<p>Connection to dbhost1.paramlabs.com closed.<\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@dbhost2 .ssh]$ <strong>ssh oracle@dbhost2.paramlabs.com<\/strong><\/p>\n<p>The authenticity of host &#8216;dbhost2.paramlabs.com (192.168.1.122)&#8217; can&#8217;t be established.<\/p>\n<p>RSA key fingerprint is<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <strong>yes<\/strong><\/p>\n<p>Warning: Permanently added &#8216;dbhost2.paramlabs.com&#8217; (RSA) to the list of known hosts.<\/p>\n<p>Last login: Mon Jul 8 19:59:20 2013 from dbhost2.paramlabs.com<\/p>\n<p>[oracle@dbhost2 ~]$ exit<\/p>\n<p>logout<\/p>\n<p>Connection to dbhost2.paramlabs.com closed.<\/p>\n<p><strong>Next:\u00a0<\/strong><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><\/p>\n<p><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: #993300;\"><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.\u00a0<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.\u00a0<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.\u00a0<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.\u00a0<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.\u00a0<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.\u00a0<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>Previous:\u00a0Copy\/clone this virtual machine to create second node and modify host details Now we need to setup shared file system for these nodes since having shared storage is a must for Oracle RAC Since we are not using any external storage, NAS or SAN, we will host the shared file system on node 1 and [&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,186,170,171,173,105,177,174,175,147,148,182,181],"class_list":["post-2847","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-nfs","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\/2847","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=2847"}],"version-history":[{"count":0,"href":"https:\/\/www.oratraining.com\/blog\/wp-json\/wp\/v2\/posts\/2847\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.oratraining.com\/blog\/wp-json\/wp\/v2\/media?parent=2847"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.oratraining.com\/blog\/wp-json\/wp\/v2\/categories?post=2847"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.oratraining.com\/blog\/wp-json\/wp\/v2\/tags?post=2847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}