{"id":1996,"date":"2013-03-10T06:29:15","date_gmt":"2013-03-10T06:29:15","guid":{"rendered":"http:\/\/www.oratraining.com\/blog\/?p=1996"},"modified":"2013-03-19T09:37:09","modified_gmt":"2013-03-19T09:37:09","slug":"setup-shared-file-system-and-other-pre-requisites","status":"publish","type":"post","link":"https:\/\/www.oratraining.com\/blog\/2013\/03\/setup-shared-file-system-and-other-pre-requisites\/","title":{"rendered":"Installing 11g RAC on Linux VM: Setup shared file system and other pre-requisites"},"content":{"rendered":"<p><strong>Previous:<\/strong>\u00a0<a title=\"Copy\/clone this virtual machine to create second node and modify host details\" href=\"http:\/\/www.oratraining.com\/blog\/2013\/03\/copyclone-this-virtual-machine-to-create-second-node-and-modify-host-details\/\"><strong>Copy\/clone this virtual machine to create second node and modify host details<\/strong><\/a><\/p>\n<p>Now we need to setup shared file system for these nodes since having shared storage is a must for Oracle RAC<\/p>\n<p>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><strong>Note:<\/strong> Please do not use VMWare\u2019s 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.<\/p>\n<p>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><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>Login to <b>Node 1<\/b> using root user. Please note that these steps are <strong>ONLY to be done on Node 1<\/strong>, not on node 2.<\/p>\n<p>Let us first create the directories which will host the shared data.<\/p>\n<p>[root@dbhost1 ~]# <b>mkdir \/shared_1<\/b><\/p>\n<p>[root@dbhost1 ~]# <b>mkdir \/shared_2<\/b><\/p>\n<p>[root@dbhost1 ~]# <b>mkdir \/shared_3<\/b><\/p>\n<p>[root@dbhost1 ~]# <b>chown oracle:dba \/shared_1<\/b><\/p>\n<p>[root@dbhost1 ~]# <b>chown oracle:dba \/shared_2<\/b><\/p>\n<p>[root@dbhost1 ~]# <b>chown oracle:dba \/shared_3<\/b><\/p>\n<p>[root@dbhost1 ~]# <b>chmod g+w \/shared_1<\/b><\/p>\n<p>[root@dbhost1 ~]# <b>chmod g+w \/shared_2<\/b><\/p>\n<p>[root@dbhost1 ~]# <b>chmod g+w \/shared_3<\/b><\/p>\n<p>&nbsp;<\/p>\n<p>Now we need to enable these directories to be shared over NFS. Enter following details in <b>\/etc\/exports<\/b> file<\/p>\n<p>[root@dbhost1 ~]# <b>more \/etc\/exports<\/b><\/p>\n<p><b>\/shared_1\u00a0\u00a0 *(rw,sync,no_wdelay,insecure_locks,no_root_squash)<\/b><\/p>\n<p><b>\/shared_2\u00a0\u00a0 *(rw,sync,no_wdelay,insecure_locks,no_root_squash)<\/b><\/p>\n<p><b>\/shared_3\u00a0\u00a0 *(rw,sync,no_wdelay,insecure_locks,no_root_squash)<\/b><\/p>\n<p>&nbsp;<\/p>\n<p>Check if NFS service is running. If not we need to start it.<\/p>\n<p>[root@ dbhost1~]# <b>service nfs status<\/b><\/p>\n<p>rpc.mountd is stopped<\/p>\n<p>nfsd is stopped<\/p>\n<p>rpc.rquotad is stopped<\/p>\n<p>&nbsp;<\/p>\n<p>[root@ dbhost1~]# <b>chkconfig nfs on<\/b><\/p>\n<p>[root@ dbhost1~]# <b>service nfs start<\/b><\/p>\n<p>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>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>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>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>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>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>&nbsp;<\/p>\n<p>These above steps have enabled the newly created shared directories for NFS mount.<\/p>\n<p>Now following steps need to be done on both <b>Node 1 and Node 2<\/b><\/p>\n<p>&nbsp;<\/p>\n<p><b>\u201cAppend\u201d<\/b> following entries in \/etc\/fstab file<\/p>\n<p>[root@dbhost1 ~]# <b>tail -3 \/etc\/fstab<\/b><\/p>\n<h5><b>nfshost:\/shared_1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/u01\u00a0\u00a0\u00a0 nfs\u00a0 rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0\u00a0 0 0<\/b><\/h5>\n<h5><b>nfshost:\/shared_2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/u02\u00a0\u00a0\u00a0 nfs\u00a0 rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0\u00a0 0 0<\/b><\/h5>\n<h5><b>nfshost:\/shared_3\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/u03\u00a0\u00a0\u00a0 nfs\u00a0 rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0\u00a0 0 0<\/b><\/h5>\n<p>&nbsp;<\/p>\n<p>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 <b>\/etc\/fstab<\/b> entries.<\/p>\n<p>&nbsp;<\/p>\n<p>[root@dbhost1 ~]# <b>mount \/u01<\/b><\/p>\n<p>[root@dbhost1 ~]# <b>mount \/u02<\/b><\/p>\n<p>[root@dbhost1 ~]# <b>mount \/u03<\/b><\/p>\n<p>&nbsp;<\/p>\n<p>Confirm if these directories are mounted correctly.<\/p>\n<p>[root@dbhost1 ~]# <b>df -h<\/b><\/p>\n<p>Filesystem\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Size\u00a0 Used Avail Use% Mounted on<\/p>\n<p>\/dev\/mapper\/VolGroup00-LogVol00<\/p>\n<p>283G\u00a0 4.6G\u00a0 264G\u00a0\u00a0 2% \/<\/p>\n<p>\/dev\/sda1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 99M\u00a0\u00a0 41M\u00a0\u00a0 53M\u00a0 44% \/boot<\/p>\n<p>tmpfs\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 749M\u00a0\u00a0\u00a0\u00a0 0\u00a0 749M\u00a0\u00a0 0% \/dev\/shm<\/p>\n<p>.host:\/\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 301G\u00a0 248G\u00a0\u00a0 53G\u00a0 83% \/mnt\/hgfs<\/p>\n<p><b>nfshost:\/shared_1\u00a0\u00a0\u00a0\u00a0 283G\u00a0 4.6G\u00a0 264G\u00a0\u00a0 2% \/u01<\/b><\/p>\n<p><b>nfshost:\/shared_2\u00a0\u00a0\u00a0\u00a0 283G\u00a0 4.6G\u00a0 264G\u00a0\u00a0 2% \/u02<\/b><\/p>\n<p><b>nfshost:\/shared_3\u00a0\u00a0\u00a0\u00a0 283G\u00a0 4.6G\u00a0 264G\u00a0\u00a0 2% \/u03<\/b><\/p>\n<p>&nbsp;<\/p>\n<p>As I said, next time when you restart, automatically these directories will be mounted,<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\"><b><span style=\"text-decoration: underline;\">IMPORTANT NOTE:<\/span><\/b> Whenever you are restarting both servers, <b>make sure that you let Node 1 start properly before starting Node 2. <\/b>The reason being, the <b>shared file system is hosted on Node 1<\/b> so 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.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><b>Setting up user-equivalence on both nodes (Passwordless SSH setup)<\/b><\/p>\n<p><span style=\"color: #993300;\">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.<\/span><\/p>\n<p><span style=\"color: #993300;\">We will setup user-equivalence for both <b>oracle <\/b>and <b>oradb<\/b> users. Let us start with <b>grid owner user<\/b> <b>oracle<\/b> first.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #993300;\"><b>Perform following on Node1<\/b>\u00a0<\/span><\/p>\n<p><span style=\"color: #993300;\">Let\u2019s first create known_hosts entries so that it does not prompt to add host next time. We will use all <b>4 combinations<\/b> every time. i.e. dbhost1, dbhost1.paramlabs.com (fully qualified domain name), dbhost2, dbhost2.paramlabs.com<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>[root@ dbhost1~]# su &#8211; oracle<\/p>\n<p>[oracle@ dbhost1~]$ <b>ssh oracle@dbhost2<\/b><\/p>\n<p>The authenticity of host &#8216;dbhost2 (192.168.112.102)&#8217; can&#8217;t be established.<\/p>\n<p>RSA key fingerprint is af:5f:9d:92:e3:9c:4b:f0:62:15:92:16:00:b3:a2:c2.<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <b>yes<\/b><\/p>\n<p>Warning: Permanently added &#8216;dbhost2,192.168.112.102&#8217; (RSA) to the list of known hosts.<\/p>\n<p>oracle@dbhost2&#8217;s password:<\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@ dbhost1~]$ <b>ssh oracle@dbhost1<\/b><\/p>\n<p>The authenticity of host &#8216;dbhost1 (192.168.112.101)&#8217; can&#8217;t be established.<\/p>\n<p>RSA key fingerprint is af:5f:9d:92:e3:9c:4b:f0:62:15:92:16:00:b3:a2:c2.<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <b>yes<\/b><\/p>\n<p>Warning: Permanently added &#8216;dbhost1,192.168.112.101&#8217; (RSA) to the list of known hosts.<\/p>\n<p>oracle@dbhost1&#8217;s password:<\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@ dbhost1~]$ <b>ssh oracle@dbhost1.paramlabs.com<\/b><\/p>\n<p>\u2026<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <b>yes<\/b><\/p>\n<p>\u2026<\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@ dbhost1~]$ <b>ssh oracle@dbhost2.paramlabs.com<\/b><\/p>\n<p>\u2026<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <b>yes<\/b><\/p>\n<p>\u2026<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #993300;\">Now let us generate public key for <b>dbhost1. <\/b>Accept defaults and press enter whenever prompted.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@ dbhost1~]$ <b>ssh-keygen -t dsa<\/b><\/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>da:dd:34:90:3a:cb:01:b8:42:4d:14:90:4e:7d:4e:f1 oracle@ dbhost1.paramlabs.com<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #993300;\">This will generate following files in &lt;home directory&gt;\/.ssh directory<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@ dbhost1~]$ <b>ls -ltr \/home\/oracle\/.ssh\/<\/b><\/p>\n<p>total 12<\/p>\n<p>-rw-r&#8211;r&#8211; 1 oracle dba\u00a0 618 Feb 17 13:10 <b>id_dsa.pub<\/b><\/p>\n<p>-rw&#8212;&#8212;- 1 oracle dba\u00a0 668 Feb 17 13:10 <b>id_dsa<\/b><\/p>\n<p>-rw-r&#8211;r&#8211; 1 oracle dba 1616 Feb 17 13:11 known_hosts<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #993300;\">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 <b>authorized_keys<\/b> on node 2.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@ dbhost1~]$ <b>scp \/home\/oracle\/.ssh\/id_dsa.pub oracle@dbhost2:\/home\/oracle\/.ssh\/authorized_keys<\/b><\/p>\n<p>oracle@dbhost2&#8217;s password:<\/p>\n<p>id_dsa.pub\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\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\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0100%\u00a0 618\u00a0\u00a0\u00a0\u00a0 0.6KB\/s\u00a0\u00a0 00:00<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #993300;\">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)<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@ dbhost1~]$ <b>cat \/home\/oracle\/.ssh\/id_dsa.pub &gt;&gt; \/home\/oracle\/.ssh\/authorized_keys<\/b><\/p>\n<p>&nbsp;<\/p>\n<p><b>Now do the similar steps on Node 2 (dbhost2)<\/b><\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@ dbhost2~]$ <b>ssh oracle@dbhost1<\/b><\/p>\n<p>The authenticity of host &#8216;dbhost1 (192.168.112.101)&#8217; can&#8217;t be established.<\/p>\n<p>RSA key fingerprint is af:5f:9d:92:e3:9c:4b:f0:62:15:92:16:00:b3:a2:c2.<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <b>yes<\/b><\/p>\n<p>Warning: Permanently added &#8216;dbhost1,192.168.112.101&#8217; (RSA) to the list of known hosts.<\/p>\n<p>oracle@dbhost1&#8217;s password:<\/p>\n<p>[oracle@ dbhost2~]$ <b>ssh oracle@dbhost1.paramlabs.com<\/b><\/p>\n<p>\u2026<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <b>yes<\/b><\/p>\n<p>\u2026<\/p>\n<p>[oracle@ dbhost2~]$ <b>ssh oracle@dbhost2<\/b><\/p>\n<p>\u2026<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <b>yes<\/b><\/p>\n<p>\u2026<\/p>\n<p>[oracle@ dbhost2~]$ <b>ssh oracle@dbhost2.paramlabs.com<\/b><\/p>\n<p>\u2026<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <b>yes<\/b><\/p>\n<p>\u2026<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #993300;\">Generate the public key on <b>dbhost2<\/b>.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@ dbhost2~]$ <b>ssh-keygen -t dsa<\/b><\/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>04:bb:86:9d:b4:e6:33:28:62:e4:fa:ff:02:ba:8c:ea oracle@ dbhost2.paramlabs.com<\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@ dbhost2~]$ <b>ls -ltr \/home\/oracle\/.ssh\/<\/b><\/p>\n<p>total 16<\/p>\n<p>-rw-r&#8211;r&#8211; 1 oracle dba 1616 Feb 17 13:10 known_hosts<\/p>\n<p>-rw-r&#8211;r&#8211; 1 oracle dba\u00a0 618 Feb 17 13:13 authorized_keys<\/p>\n<p>-rw-r&#8211;r&#8211; 1 oracle dba\u00a0 618 Feb 17 13:13 <b>id_dsa.pub<\/b><\/p>\n<p>-rw&#8212;&#8212;- 1 oracle dba\u00a0 672 Feb 17 13:13 <b>id_dsa<\/b><\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@ dbhost2~]$ <b>scp \/home\/oracle\/.ssh\/id_dsa.pub oracle@dbhost1:\/home\/oracle\/.ssh\/authorized_keys<\/b><\/p>\n<p>oracle@dbhost1&#8217;s password:<\/p>\n<p>id_dsa.pub\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\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\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 100%\u00a0 618\u00a0\u00a0\u00a0\u00a0 0.6KB\/s\u00a0\u00a0 00:00<\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@ dbhost2~]$ <b>cat \/home\/oracle\/.ssh\/id_dsa.pub &gt;&gt; \/home\/oracle\/.ssh\/authorized_keys<\/b><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #993300;\">Now let us test the passwordless connectivity between these 2 nodes using Oracle user.<\/span><span style=\"color: #993300;\">\u00a0<\/span><\/p>\n<p><span style=\"color: #993300;\"><b>On Node 1<\/b><\/span><\/p>\n<p>[oracle@ dbhost1~]$ <b>ssh oracle@dbhost1<\/b><\/p>\n<p>[oracle@ dbhost1~]$ exit<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #993300;\">As you can see it did not prompt for password. Check the same for all 4 combinations. Make sure to exit once each ssh is tested to return back to original shell.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>[oracle@ dbhost1~]$ <b>ssh oracle@dbhost2<\/b><\/p>\n<p>Last login: Sun Feb 17 13:14:23 2013 from dbhost1.paramlabs.com<\/p>\n<p>[oracle@ dbhost1~]$ <b>exit<\/b><\/p>\n<p>[oracle@ dbhost1~]$ <b>ssh oracle@dbhost1.paramlabs.com<\/b><\/p>\n<p>Last login: Sun Feb 17 13:15:59 2013 from dbhost1.paramlabs.com<\/p>\n<p>[oracle@ dbhost1~]$ <b>exit<\/b><\/p>\n<p>[oracle@ dbhost1~]$ <b>ssh oracle@dbhost2.paramlabs.com<\/b><\/p>\n<p>Last login: Sun Feb 17 13:16:03 2013 from dbhost1.paramlabs.com<\/p>\n<p>[oracle@ dbhost1~]$ <b>exit<\/b><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #993300;\"><b>On Node2<\/b><\/span><\/p>\n<p>[oracle@ dbhost2~]$ <b>ssh dbhost1<\/b><\/p>\n<p>Last login: Sun Feb 17 13:16:12 2013 from dbhost1.paramlabs.com<\/p>\n<p>[oracle@ dbhost2~]$ <b>exit<\/b><\/p>\n<p>[oracle@ dbhost2~]$ <b>ssh dbhost2<\/b><\/p>\n<p>Last login: Sun Feb 17 13:16:16 2013 from dbhost1.paramlabs.com<\/p>\n<p>[oracle@ dbhost2~]$ <b>exit<\/b><\/p>\n<p>[oracle@ dbhost2~]$ <b>ssh dbhost1.paramlabs.com<\/b><\/p>\n<p>Last login: Sun Feb 17 13:17:12 2013 from dbhost2.paramlabs.com<\/p>\n<p>[oracle@ dbhost2~]$ <b>exit<\/b><\/p>\n<p>[oracle@ dbhost2~]$ <b>ssh dbhost2.paramlabs.com<\/b><\/p>\n<p>Last login: Sun Feb 17 13:17:16 2013 from dbhost2.paramlabs.com<\/p>\n<p>[oracle@ dbhost2~]$ <b>exit<\/b><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #993300;\">Now we have to exactly the same steps for <b>database owner user oradb. <\/b>Here I am skipping creation of known_hosts since anyway after first attempt to test ssh, it will create the entries.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>[oradb@dbhost1 ~]$ <b>ssh-keygen -t dsa<\/b><\/p>\n<p>Generating public\/private dsa key pair.<\/p>\n<p>Enter file in which to save the key (\/home\/oradb\/.ssh\/id_dsa):<\/p>\n<p>Created directory &#8216;\/home\/oradb\/.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\/oradb\/.ssh\/id_dsa.<\/p>\n<p>Your public key has been saved in \/home\/oradb\/.ssh\/id_dsa.pub.<\/p>\n<p>The key fingerprint is:<\/p>\n<p>6e:fb:1e:55:cc:41:b9:a4:d3:7c:26:cf:f9:39:8c:a7 oradb@dbhost1.paramlabs.com<\/p>\n<p>&nbsp;<\/p>\n<p>[oradb@dbhost1 ~]$ <b>cd \/home\/oradb\/.ssh\/<\/b><\/p>\n<p>[oradb@dbhost1 .ssh]$ <b>scp id_dsa.pub oradb@dbhost2:\/home\/oradb\/.ssh\/authorized_keys<\/b><\/p>\n<p>The authenticity of host &#8216;dbhost2 (192.168.112.102)&#8217; can&#8217;t be established.<\/p>\n<p>RSA key fingerprint is af:5f:9d:92:e3:9c:4b:f0:62:15:92:16:00:b3:a2:c2.<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <b>yes<\/b><\/p>\n<p>Warning: Permanently added &#8216;dbhost2,192.168.112.102&#8217; (RSA) to the list of known hosts.<\/p>\n<p>oradb@dbhost2&#8217;s password:<\/p>\n<p>id_dsa.pub\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\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 100%\u00a0 617\u00a0\u00a0\u00a0\u00a0 0.6KB\/s\u00a0\u00a0 00:00<\/p>\n<p>&nbsp;<\/p>\n<p>[oradb@dbhost1 .ssh]$ <b>cat id_dsa.pub \u00a0&gt;&gt; authorized_keys<\/b><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #993300;\"><b>On Node 2<\/b><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>[oradb@dbhost2 ~]$ <b>ssh-keygen -t dsa<\/b><\/p>\n<p>\u2026<\/p>\n<p>[oradb@dbhost2 ~]$ <b>cd \/home\/oradb\/.ssh\/<\/b><\/p>\n<p>[oradb@dbhost2 .ssh]$\u00a0 <b>scp id_dsa.pub oradb@dbhost1:\/home\/oradb\/.ssh\/authorized_keys<\/b><\/p>\n<p><b>\u2026<\/b><\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <b>yes<\/b><\/p>\n<p>\u2026<\/p>\n<p>oradb@dbhost1&#8217;s password:<\/p>\n<p>id_dsa.pub\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\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 100%\u00a0 617\u00a0\u00a0\u00a0\u00a0 0.6KB\/s\u00a0\u00a0 00:00<\/p>\n<p>&nbsp;<\/p>\n<p>[oradb@dbhost2 .ssh]$ <b>cat id_dsa.pub\u00a0 &gt;&gt; authorized_keys<\/b><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #993300;\">Now let us test the passwordless ssh for oradb user on both nodes.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><b>On Node 1<\/b><\/p>\n<p>[oradb@dbhost1 .ssh]$ <b>ssh oradb@dbhost1<\/b><\/p>\n<p>\u2026<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <b>yes<\/b><\/p>\n<p>\u2026<\/p>\n<p>[oradb@dbhost1 ~]$ <b>exit<\/b><\/p>\n<p>[oradb@dbhost1 .ssh]$ <b>ssh oradb@dbhost2<\/b><\/p>\n<p>[oradb@dbhost2 ~]$ <b>exit<\/b><\/p>\n<p>[oradb@dbhost1 .ssh]$ <b>ssh oradb@dbhost1.paramlabs.com<\/b><\/p>\n<p>\u2026<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <b>yes<\/b><\/p>\n<p>\u2026<\/p>\n<p>[oradb@dbhost1 ~]$ <b>exit<\/b><\/p>\n<p>[oradb@dbhost1 .ssh]$ <b>ssh oradb@dbhost2.paramlabs.com<\/b><\/p>\n<p>\u2026<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <b>yes<\/b><\/p>\n<p>\u2026<\/p>\n<p>[oradb@dbhost2 ~]$ exit<\/p>\n<p>&nbsp;<\/p>\n<p><b>On Node 2<\/b><\/p>\n<p>[oradb@dbhost2 .ssh]$ <b>ssh oradb@dbhost1<\/b><\/p>\n<p>Last login: Tue Feb 19 13:26:27 2013 from dbhost1.paramlabs.com<\/p>\n<p>[oradb@dbhost1 ~]$ <b>exit<\/b><\/p>\n<p>[oradb@dbhost2 .ssh]$ <b>ssh oradb@dbhost2<\/b><\/p>\n<p>\u2026<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <b>yes<\/b><\/p>\n<p>[oradb@dbhost2 ~]$ exit<\/p>\n<p>[oradb@dbhost2 .ssh]$ <b>ssh oradb@dbhost1.paramlabs.com<\/b><\/p>\n<p>\u2026<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <b>yes<\/b><\/p>\n<p>[oradb@dbhost1 ~]$ <b>exit<\/b><\/p>\n<p>[oradb@dbhost2 .ssh]$ <b>ssh oradb@dbhost2.paramlabs.com<\/b><\/p>\n<p>\u2026<\/p>\n<p>Are you sure you want to continue connecting (yes\/no)? <b>yes<\/b><\/p>\n<p>..<\/p>\n<p>[oradb@dbhost2 ~]$ <b>exit<\/b><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Next:<\/strong>\u00a0<a title=\"Installing 11g RAC on Linux VM: Install Oracle Clusterware\" href=\"http:\/\/www.oratraining.com\/blog\/2013\/03\/installing-11g-rac-on-linux-vm-install-oracle-clusterware\/\"><strong>Install Oracle Clusterware<\/strong><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong><a title=\"Installing 11g Release 2 Real Application Clusters (11gR2 RAC) on Linux x86-64 Virtual Machine (VM) \u2013 Step by step installation guide\" href=\"http:\/\/www.oratraining.com\/blog\/2013\/03\/installing-11g-release-2-real-application-clusters-11gr2-rac-on-linux-x86-64-virtual-machine-vm-step-by-step-installation-guide\/\">Installing 11g Release 2 Real Application Clusters (11gR2 RAC) on Linux x86-64 Virtual Machine (VM) \u2013 Steps<\/a><\/strong><\/p>\n<p>1.<strong>\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>\u00a0(generic step from previous post, not specific to this guide)<\/strong><\/p>\n<p>2.\u00a0<a title=\"Add additional virtual Ethernet card and perform prerequisites in Linux\" href=\"http:\/\/www.oratraining.com\/blog\/2013\/03\/add-additional-virtual-ethernet-card-and-perform-prerequisites-in-linux\/\"><strong>Add additional virtual Ethernet card and perform prerequisites in Linux<\/strong><\/a><\/p>\n<p>3.\u00a0<a title=\"Copy\/clone this virtual machine to create second node and modify host details\" href=\"http:\/\/www.oratraining.com\/blog\/2013\/03\/copyclone-this-virtual-machine-to-create-second-node-and-modify-host-details\/\"><strong>Copy\/clone this virtual machine to create second node and modify host details<\/strong><\/a><\/p>\n<p>4.\u00a0<a title=\"Setup shared file system and other pre-requisites\" href=\"http:\/\/www.oratraining.com\/blog\/2013\/03\/setup-shared-file-system-and-other-pre-requisites\/\"><strong>Setup shared file system and other pre-requisites<\/strong><\/a><\/p>\n<p>5.\u00a0<a title=\"Installing 11g RAC on Linux VM: Install Oracle Clusterware\" href=\"http:\/\/www.oratraining.com\/blog\/2013\/03\/installing-11g-rac-on-linux-vm-install-oracle-clusterware\/\"><strong>Install Oracle Clusterware<\/strong><\/a><\/p>\n<p>6.\u00a0<b><a title=\"Installing 11g RAC on Linux VM: Install Oracle Database software and create RAC database\" href=\"http:\/\/www.oratraining.com\/blog\/2013\/03\/installing-11g-rac-on-linux-vm-install-oracle-database-software-and-create-rac-database-2\/\">Install Oracle Database software and create RAC database<\/a><\/b><\/p>\n<p><a title=\"Installing 11g Release 2 Real Application Clusters (11gR2 RAC) on Linux x86-64 Virtual Machine (VM) \u2013 Step by step installation guide\" href=\"http:\/\/www.oratraining.com\/blog\/2013\/03\/installing-11g-release-2-real-application-clusters-11gr2-rac-on-linux-x86-64-virtual-machine-vm-step-by-step-installation-guide\/\"><strong>\u00a0<\/strong><\/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":[1],"tags":[],"class_list":["post-1996","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.oratraining.com\/blog\/wp-json\/wp\/v2\/posts\/1996","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=1996"}],"version-history":[{"count":0,"href":"https:\/\/www.oratraining.com\/blog\/wp-json\/wp\/v2\/posts\/1996\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.oratraining.com\/blog\/wp-json\/wp\/v2\/media?parent=1996"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.oratraining.com\/blog\/wp-json\/wp\/v2\/categories?post=1996"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.oratraining.com\/blog\/wp-json\/wp\/v2\/tags?post=1996"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}