Oracle Database 12c R2 (12.2) RAC On Oracle Linux 7

Oracle RAC (Real Application Cluster) is used for complex application to increase database performance, high availability and scalability. In this article, I will show how to install Oracle RAC (12.2.0.1) on Oracle Enterprise Linux 7.1.

Below high level steps will perform to install/configure Oracle RAC:

1. Configure VM for 2 Nodes RAC. Create VM

2. Install Oracle Linux 7.1. OEL 7.1

3. Oracle Installation Prerequisites:

Perform either the Automatic Setup or the Manual Setup to complete the basic prerequisites. The Additional Setup is required for all installations.

3.1. Automatic Setup:

All necessary prerequisites will be performed automatically.

Note::: You may notice that very few or no package installed with 12cR2-Preinstall packages. Because Earlier executed this package – (yum install oracle-rdbms-server-11gR2-preinstall) on this server.

[root@rac12cnode1 ~]# yum install oracle-database-server-12cR2-preinstall -y
Loaded plugins: langpacks
ol7_UEKR3                                                                                                                          | 2.5 kB  00:00:00
ol7_latest                                                                                                                         | 2.7 kB  00:00:00
(1/2): ol7_latest/x86_64/updateinfo                                                                                                | 3.0 MB  00:00:02
(2/2): ol7_latest/x86_64/primary_db                                                                                                |  39 MB  00:00:14
Resolving Dependencies
--> Running transaction check
---> Package oracle-database-server-12cR2-preinstall.x86_64 0:1.0-5.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================================================================================
 Package                                                    Arch                      Version                         Repository                     Size
==========================================================================================================================================================
Installing:
 oracle-database-server-12cR2-preinstall                    x86_64                    1.0-5.el7                       ol7_latest                     19 k

Transaction Summary
==========================================================================================================================================================
Install  1 Package

Total download size: 19 k
Installed size: 55 k
Downloading packages:
oracle-database-server-12cR2-preinstall-1.0-5.el7.x86_64.rpm                                                                       |  19 kB  00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
  Installing : oracle-database-server-12cR2-preinstall-1.0-5.el7.x86_64                                                                               1/1
  Verifying  : oracle-database-server-12cR2-preinstall-1.0-5.el7.x86_64                                                                               1/1

Installed:
  oracle-database-server-12cR2-preinstall.x86_64 0:1.0-5.el7

Complete!

You don’t need to run below command if you already done above one.

[root@rac12cnode1 ~]# yum install oracle-rdbms-server-11gR2-preinstall
Loaded plugins: langpacks
Resolving Dependencies
--> Running transaction check
---> Package oracle-rdbms-server-11gR2-preinstall.x86_64 0:1.0-6.el7 will be installed
--> Processing Dependency: gcc-c++ for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el7.x86_64
--> Processing Dependency: compat-libcap1 for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el7.x86_64
--> Processing Dependency: ksh for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el7.x86_64
--> Processing Dependency: libaio-devel for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el7.x86_64
--> Processing Dependency: compat-libstdc++-33 for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el7.x86_64
--> Processing Dependency: libstdc++-devel for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el7.x86_64
--> Running transaction check
---> Package compat-libcap1.x86_64 0:1.10-7.el7 will be installed
---> Package compat-libstdc++-33.x86_64 0:3.2.3-72.el7 will be installed
---> Package gcc-c++.x86_64 0:4.8.5-44.0.3.el7 will be installed
--> Processing Dependency: libstdc++ = 4.8.5-44.0.3.el7 for package: gcc-c++-4.8.5-44.0.3.el7.x86_64
--> Processing Dependency: gcc = 4.8.5-44.0.3.el7 for package: gcc-c++-4.8.5-44.0.3.el7.x86_64
---> Package ksh.x86_64 0:20120801-142.0.1.el7 will be installed
---> Package libaio-devel.x86_64 0:0.3.109-13.el7 will be installed
--> Processing Dependency: libaio(x86-64) = 0.3.109-13.el7 for package: libaio-devel-0.3.109-13.el7.x86_64
---> Package libstdc++-devel.x86_64 0:4.8.5-44.0.3.el7 will be installed
--> Running transaction check
---> Package gcc.x86_64 0:4.8.3-9.el7 will be updated
---> Package gcc.x86_64 0:4.8.5-44.0.3.el7 will be an update
--> Processing Dependency: libgomp = 4.8.5-44.0.3.el7 for package: gcc-4.8.5-44.0.3.el7.x86_64
--> Processing Dependency: cpp = 4.8.5-44.0.3.el7 for package: gcc-4.8.5-44.0.3.el7.x86_64
--> Processing Dependency: libgcc >= 4.8.5-44.0.3.el7 for package: gcc-4.8.5-44.0.3.el7.x86_64
---> Package libaio.x86_64 0:0.3.109-12.el7 will be updated
---> Package libaio.x86_64 0:0.3.109-13.el7 will be an update
---> Package libstdc++.x86_64 0:4.8.3-9.el7 will be updated
---> Package libstdc++.x86_64 0:4.8.5-44.0.3.el7 will be an update
--> Running transaction check
---> Package cpp.x86_64 0:4.8.3-9.el7 will be updated
---> Package cpp.x86_64 0:4.8.5-44.0.3.el7 will be an update
---> Package libgcc.x86_64 0:4.8.3-9.el7 will be updated
---> Package libgcc.x86_64 0:4.8.5-44.0.3.el7 will be an update
---> Package libgomp.x86_64 0:4.8.3-9.el7 will be updated
---> Package libgomp.x86_64 0:4.8.5-44.0.3.el7 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================================================================================
 Package                                               Arch                    Version                                  Repository                   Size
==========================================================================================================================================================
Installing:
 oracle-rdbms-server-11gR2-preinstall                  x86_64                  1.0-6.el7                                ol7_latest                   22 k
Installing for dependencies:
 compat-libcap1                                        x86_64                  1.10-7.el7                               ol7_latest                   17 k
 compat-libstdc++-33                                   x86_64                  3.2.3-72.el7                             ol7_latest                  190 k
 gcc-c++                                               x86_64                  4.8.5-44.0.3.el7                         ol7_latest                  7.2 M
 ksh                                                   x86_64                  20120801-142.0.1.el7                     ol7_latest                  882 k
 libaio-devel                                          x86_64                  0.3.109-13.el7                           ol7_latest                   12 k
 libstdc++-devel                                       x86_64                  4.8.5-44.0.3.el7                         ol7_latest                  1.5 M
Updating for dependencies:
 cpp                                                   x86_64                  4.8.5-44.0.3.el7                         ol7_latest                  5.9 M
 gcc                                                   x86_64                  4.8.5-44.0.3.el7                         ol7_latest                   16 M
 libaio                                                x86_64                  0.3.109-13.el7                           ol7_latest                   24 k
 libgcc                                                x86_64                  4.8.5-44.0.3.el7                         ol7_latest                  103 k
 libgomp                                               x86_64                  4.8.5-44.0.3.el7                         ol7_latest                  159 k
 libstdc++                                             x86_64                  4.8.5-44.0.3.el7                         ol7_latest                  306 k

Transaction Summary
==========================================================================================================================================================
Install  1 Package  (+6 Dependent packages)
Upgrade             ( 6 Dependent packages)

Total download size: 32 M
Is this ok [y/d/N]: y
Downloading packages:
No Presto metadata available for ol7_latest
warning: /var/cache/yum/x86_64/7Server/ol7_latest/packages/compat-libcap1-1.10-7.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEYTA
Public key for compat-libcap1-1.10-7.el7.x86_64.rpm is not installed
(1/13): compat-libcap1-1.10-7.el7.x86_64.rpm                                                                                       |  17 kB  00:00:00
(2/13): cpp-4.8.5-44.0.3.el7.x86_64.rpm                                                                                            | 5.9 MB  00:00:01
(3/13): compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm                                                                                | 190 kB  00:00:05
(4/13): gcc-4.8.5-44.0.3.el7.x86_64.rpm                                                                                            |  16 MB  00:00:04
(5/13): ksh-20120801-142.0.1.el7.x86_64.rpm                                                                                        | 882 kB  00:00:00
(6/13): libaio-0.3.109-13.el7.x86_64.rpm                                                                                           |  24 kB  00:00:00
(7/13): libaio-devel-0.3.109-13.el7.x86_64.rpm                                                                                     |  12 kB  00:00:00
(8/13): libgcc-4.8.5-44.0.3.el7.x86_64.rpm                                                                                         | 103 kB  00:00:00
(9/13): libgomp-4.8.5-44.0.3.el7.x86_64.rpm                                                                                        | 159 kB  00:00:00
(10/13): libstdc++-4.8.5-44.0.3.el7.x86_64.rpm                                                                                     | 306 kB  00:00:00
(11/13): libstdc++-devel-4.8.5-44.0.3.el7.x86_64.rpm                                                                               | 1.5 MB  00:00:00
(12/13): oracle-rdbms-server-11gR2-preinstall-1.0-6.el7.x86_64.rpm                                                                 |  22 kB  00:00:01
(13/13): gcc-c++-4.8.5-44.0.3.el7.x86_64.rpm                                                                                       | 7.2 MB  00:00:04
----------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                     3.3 MB/s |  32 MB  00:00:09
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Importing GPG key 0xEC551F03:
 Userid     : "Oracle OSS group (Open Source Software group) <[email protected]>"
 Fingerprint: 4214 4123 fecf c55b 9086 313d 72f9 7b74 ec55 1f03
 Package    : 7:oraclelinux-release-7.1-1.0.5.el7.x86_64 (@anaconda/7.1)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Is this ok [y/N]: y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : libgcc-4.8.5-44.0.3.el7.x86_64                                                                                                        1/19
  Updating   : libstdc++-4.8.5-44.0.3.el7.x86_64                                                                                                     2/19
  Installing : libstdc++-devel-4.8.5-44.0.3.el7.x86_64                                                                                               3/19
  Updating   : libaio-0.3.109-13.el7.x86_64                                                                                                          4/19
  Installing : libaio-devel-0.3.109-13.el7.x86_64                                                                                                    5/19
  Installing : compat-libstdc++-33-3.2.3-72.el7.x86_64                                                                                               6/19
  Updating   : cpp-4.8.5-44.0.3.el7.x86_64                                                                                                           7/19
  Installing : ksh-20120801-142.0.1.el7.x86_64                                                                                                       8/19
  Installing : compat-libcap1-1.10-7.el7.x86_64                                                                                                      9/19
  Updating   : libgomp-4.8.5-44.0.3.el7.x86_64                                                                                                      10/19
  Updating   : gcc-4.8.5-44.0.3.el7.x86_64                                                                                                          11/19
  Installing : gcc-c++-4.8.5-44.0.3.el7.x86_64                                                                                                      12/19
  Installing : oracle-rdbms-server-11gR2-preinstall-1.0-6.el7.x86_64                                                                                13/19
  Cleanup    : gcc-4.8.3-9.el7.x86_64                                                                                                               14/19
  Cleanup    : libstdc++-4.8.3-9.el7.x86_64                                                                                                         15/19
  Cleanup    : libgcc-4.8.3-9.el7.x86_64                                                                                                            16/19
  Cleanup    : cpp-4.8.3-9.el7.x86_64                                                                                                               17/19
  Cleanup    : libgomp-4.8.3-9.el7.x86_64                                                                                                           18/19
  Cleanup    : libaio-0.3.109-12.el7.x86_64                                                                                                         19/19
  Verifying  : gcc-4.8.5-44.0.3.el7.x86_64                                                                                                           1/19
  Verifying  : libaio-0.3.109-13.el7.x86_64                                                                                                          2/19
  Verifying  : oracle-rdbms-server-11gR2-preinstall-1.0-6.el7.x86_64                                                                                 3/19
  Verifying  : libgomp-4.8.5-44.0.3.el7.x86_64                                                                                                       4/19
  Verifying  : compat-libstdc++-33-3.2.3-72.el7.x86_64                                                                                               5/19
  Verifying  : gcc-c++-4.8.5-44.0.3.el7.x86_64                                                                                                       6/19
  Verifying  : compat-libcap1-1.10-7.el7.x86_64                                                                                                      7/19
  Verifying  : libaio-devel-0.3.109-13.el7.x86_64                                                                                                    8/19
  Verifying  : libstdc++-devel-4.8.5-44.0.3.el7.x86_64                                                                                               9/19
  Verifying  : libgcc-4.8.5-44.0.3.el7.x86_64                                                                                                       10/19
  Verifying  : libstdc++-4.8.5-44.0.3.el7.x86_64                                                                                                    11/19
  Verifying  : ksh-20120801-142.0.1.el7.x86_64                                                                                                      12/19
  Verifying  : cpp-4.8.5-44.0.3.el7.x86_64                                                                                                          13/19
  Verifying  : gcc-4.8.3-9.el7.x86_64                                                                                                               14/19
  Verifying  : cpp-4.8.3-9.el7.x86_64                                                                                                               15/19
  Verifying  : libgomp-4.8.3-9.el7.x86_64                                                                                                           16/19
  Verifying  : libstdc++-4.8.3-9.el7.x86_64                                                                                                         17/19
  Verifying  : libgcc-4.8.3-9.el7.x86_64                                                                                                            18/19
  Verifying  : libaio-0.3.109-12.el7.x86_64                                                                                                         19/19

Installed:
  oracle-rdbms-server-11gR2-preinstall.x86_64 0:1.0-6.el7

Dependency Installed:
  compat-libcap1.x86_64 0:1.10-7.el7    compat-libstdc++-33.x86_64 0:3.2.3-72.el7  gcc-c++.x86_64 0:4.8.5-44.0.3.el7  ksh.x86_64 0:20120801-142.0.1.el7
  libaio-devel.x86_64 0:0.3.109-13.el7  libstdc++-devel.x86_64 0:4.8.5-44.0.3.el7

Dependency Updated:
  cpp.x86_64 0:4.8.5-44.0.3.el7         gcc.x86_64 0:4.8.5-44.0.3.el7           libaio.x86_64 0:0.3.109-13.el7     libgcc.x86_64 0:4.8.5-44.0.3.el7
  libgomp.x86_64 0:4.8.5-44.0.3.el7     libstdc++.x86_64 0:4.8.5-44.0.3.el7

Complete!

3.2. Manual Setup:

Add the following lines to the “/etc/sysctl.conf” file, or in a file called “/etc/sysctl.d/98-oracle.conf”.

fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500

Validation –

/sbin/sysctl -p
# Or
/sbin/sysctl -p /etc/sysctl.d/98-oracle.conf

Add the following lines to a file called “/etc/security/limits.d/oracle-database-server-12cR2-preinstall.conf” file.

oracle   soft   nofile    1024
oracle   hard   nofile    65536
oracle   soft   nproc    16384
oracle   hard   nproc    16384
oracle   soft   stack    10240
oracle   hard   stack    32768
oracle   hard   memlock    134217728
oracle   soft   memlock    134217728

Install required packages:

# From Public Yum or ULN
yum install binutils -y
yum install compat-libstdc++-33 -y
yum install compat-libstdc++-33.i686 -y
yum install gcc -y
yum install gcc-c++ -y
yum install glibc -y
yum install glibc.i686 -y
yum install glibc-devel -y
yum install glibc-devel.i686 -y
yum install ksh -y
yum install libgcc -y
yum install libgcc.i686 -y
yum install libstdc++ -y
yum install libstdc++.i686 -y
yum install libstdc++-devel -y
yum install libstdc++-devel.i686 -y
yum install libaio -y
yum install libaio.i686 -y
yum install libaio-devel -y
yum install libaio-devel.i686 -y
yum install libXext -y
yum install libXext.i686 -y
yum install libXtst -y
yum install libXtst.i686 -y
yum install libX11 -y
yum install libX11.i686 -y
yum install libXau -y
yum install libXau.i686 -y
yum install libxcb -y
yum install libxcb.i686 -y
yum install libXi -y
yum install libXi.i686 -y
yum install make -y
yum install sysstat -y
yum install unixODBC -y
yum install unixODBC-devel -y
yum install zlib-devel -y
yum install zlib-devel.i686 -y

Create Groups and User:

groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
#groupadd -g 54324 backupdba
#groupadd -g 54325 dgdba
#groupadd -g 54326 kmdba
#groupadd -g 54327 asmdba
#groupadd -g 54328 asmoper
#groupadd -g 54329 asmadmin
#groupadd -g 54330 racdba

useradd -u 54321 -g oinstall -G dba,oper oracle

You could define the additional groups and assign them to the “oracle” users. The would allow you to assign the individual groups during the installation. For this installation I’ve just used the “dba” group.

groupadd -g 54324 backupdba
groupadd -g 54325 dgdba
groupadd -g 54326 kmdba
groupadd -g 54327 asmdba
groupadd -g 54328 asmoper
groupadd -g 54329 asmadmin
groupadd -g 54330 racdba

useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,asmoper,asmadmin,racdba oracle

4. Additional Setup:

4.1 Network Setup:

[root@rac12cnode1 ~]# ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.56.210  netmask 255.255.255.0  broadcast 192.168.56.255
        inet6 fe80::a00:27ff:fe9d:4d59  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:9d:4d:59  txqueuelen 1000  (Ethernet)
        RX packets 5846  bytes 366426 (357.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 432  bytes 107845 (105.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.10.210  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::a00:27ff:fe38:a5fb  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:38:a5:fb  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 118  bytes 13805 (13.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s9: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.243  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 2600:1700:8930:4760:a00:27ff:fea7:ae0b  prefixlen 128  scopeid 0x0<global>
        inet6 fe80::a00:27ff:fea7:ae0b  prefixlen 64  scopeid 0x20<link>
        inet6 2600:1700:8930:4760::1f  prefixlen 128  scopeid 0x0<global>
        ether 08:00:27:a7:ae:0b  txqueuelen 1000  (Ethernet)
        RX packets 43592  bytes 47190486 (45.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 15892  bytes 1233112 (1.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 271  bytes 23040 (22.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 271  bytes 23040 (22.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

4.2. Hosts File:

[root@rac12cnode1 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

#RAC

# Public IP
192.168.56.210          rac12cnode1.localdomain         rac12cnode1
192.168.56.211          rac12cnode2.localdomain         rac12cnode2

#Private IP
192.168.10.210          rac12cnode1-priv.localdomain    rac12cnode1-priv
192.168.10.211          rac12cnode2-priv.localdomain    rac12cnode2-priv

#VIP
192.168.56.212          rac12cnode1-vip.localdomain    rac12cnode1-vip
192.168.56.213          rac12cnode2-vip.localdomain    rac12cnode2-vip

#SCAN IP
192.168.56.214          rac12cnode-scan.localdomain    rac12cnode-scan
192.168.56.215          rac12cnode-scan.localdomain    rac12cnode-scan
192.168.56.216          rac12cnode-scan.localdomain    rac12cnode-scan

4.3. Set password for oracle:

[root@rac12cnode1 ~]# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba)
[root@rac12cnode1 ~]# passwd oracle
Changing password for user oracle.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.

4.4. Set secure Linux to permissive:

[root@rac12cnode1 ~]# cat /etc/selinux/config | grep permissive
SELINUX=permissive

4.5. Disable Firewall:

[root@rac12cnode1 ~]# systemctl stop firewalld
[root@rac12cnode1 ~]# systemctl disable firewalld

4.6. To create home directory for GI and Oracle DB, enter the following commands:

mkdir -p /u01/app/12.2.0/grid
chown -R oracle:oinstall /u01/app/12.2.0/grid
chmod -R 775 /u01/app/12.2.0/grid

mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app/oracle

mkdir -p /u01/app/oracle/cfgtoollogs
chown -R oracle:oinstall /u01/app/oracle/cfgtoollogs

chmod -R 775 /u01/app/oracle
mkdir -p /u01/app/oraInventory
chown -R oracle:oinstall /u01/app/oraInventory
chmod -R 775 /u01/app/oraInventory

mkdir -p /u01/app/oracle/product/12.2.0/dbhome_1
chown -R oracle:oinstall /u01/app/oracle/product/12.2.0/dbhome_1
chmod -R 775 /u01/app/oracle/product/12.2.0/dbhome_1

4.7. Install Oracle ASMLib:

[root@rac12cnode1 software]# rpm -Uvh oracleasmlib-2.0.12-1.el7.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:oracleasmlib-2.0.12-1.el7        ################################# [100%]

[root@rac12cnode1 software]# rpm -Uvh oracleasm-support-2.1.8-3.el7.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:oracleasm-support-2.1.8-3.el7    ################################# [100%]
Note: Forwarding request to 'systemctl enable oracleasm.service'.
ln -s '/usr/lib/systemd/system/oracleasm.service' '/etc/systemd/system/multi-user.target.wants/oracleasm.service'

5. Create Shared Disk:

5.1. Create the disks and associate them to VM as virtual media:

VBoxManage createhd --filename "C:\VM\rac12cnode1\asmdisk01.vdi" --size 7168 --format VDI --variant Fixed
VBoxManage createhd --filename "C:\VM\rac12cnode1\asmdisk02.vdi" --size 5120 --format VDI --variant Fixed
VBoxManage createhd --filename "C:\VM\rac12cnode1\asmdisk03.vdi" --size 5120 --format VDI --variant Fixed
VBoxManage createhd --filename "C:\VM\rac12cnode1\asmdisk04.vdi" --size 5120 --format VDI --variant Fixed

5.2. Convert Disk to Shareable:

VBoxManage modifyhd "C:\VM\rac12cnode1\asmdisk01.vdi" --type shareable
VBoxManage modifyhd "C:\VM\rac12cnode1\asmdisk02.vdi" --type shareable
VBoxManage modifyhd "C:\VM\rac12cnode1\asmdisk03.vdi" --type shareable
VBoxManage modifyhd "C:\VM\rac12cnode1\asmdisk04.vdi" --type shareable

5.3. Connect Disk to VM:

VBoxManage storageattach rac12cnode1 --storagectl "SATA" --port 1 --device 0 --type hdd --medium "C:\VM\racnode1\asmdisk01.vdi" --mtype shareable
VBoxManage storageattach rac12cnode1 --storagectl "SATA" --port 2 --device 0 --type hdd --medium "C:\VM\racnode1\asmdisk02.vdi" --mtype shareable
VBoxManage storageattach rac12cnode1 --storagectl "SATA" --port 3 --device 0 --type hdd --medium "C:\VM\racnode1\asmdisk03.vdi" --mtype shareable
VBoxManage storageattach rac12cnode1 --storagectl "SATA" --port 4 --device 0 --type hdd --medium "C:\VM\racnode1\asmdisk04.vdi" --mtype shareable

5.4. Format disk for Creating ASM:

[root@rac12cnode1 dev]# ls sd*
sda  sda1  sda2  sdb  sdc  sdd  sde

[root@rac12cnode1 dev]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xeb05d744.

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-14680063, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-14680063, default 14680063):
Using default value 14680063
Partition 1 of type Linux and of size 7 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@rac12cnode1 dev]# ls sd*
sda  sda1  sda2  sdb  sdb1  sdc  sdc1  sdd  sdd1  sde  sde1

5.5. Configure ASM Library Drive:

[root@rac12cnode1 dev]# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba)
[root@racnode1 dev]# oracleasm configure -i
Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library
driver.  The following questions will determine whether the driver is
loaded on boot and what permissions it will have.  The current values
will be shown in brackets ('[]').  Hitting <ENTER> without typing an
answer will keep that current value.  Ctrl-C will abort.

Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done

5.6. Create ASM Disks

[root@rac12cnode1 dev]# /usr/sbin/oracleasm init

[root@rac12cnode1 dev]# /usr/sbin/oracleasm createdisk DISK_OCR /dev/sdb1
Writing disk header: done
Instantiating disk: done
[root@rac12cnode1 dev]# /usr/sbin/oracleasm createdisk DISK_DATA01 /dev/sdc1
Writing disk header: done
Instantiating disk: done
[root@rac12cnode1 dev]# /usr/sbin/oracleasm createdisk DISK_DATA02 /dev/sdd1
Writing disk header: done
Instantiating disk: done
[root@rac12cnode1 dev]# /usr/sbin/oracleasm createdisk DISK_DATA03 /dev/sde1
Writing disk header: done
Instantiating disk: done

5.7. Validate ASM Disks:

[root@rac12cnode1 dev]# /usr/sbin/oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
[root@rac12cnode1 dev]# /usr/sbin/oracleasm listdisks
DISK_DATA01
DISK_DATA02
DISK_DATA03
DISK_OCR

6. Clone the Virtual Machine for Node2:

6.1. You can clone VM using command prompt or GUI.

C:\Users\samad>cd "c:\Program Files\Oracle\VirtualBox"
VBoxManage clonehd "C:\VM\rac12cnode1\rac12cnode1.vdi" "C:\VM\rac12cnode2\rac12cnode2.vdi"

6.2. Add all shareable disks to Node 2.

VBoxManage storageattach rac12cnode2 --storagectl "SATA" --port 1 --device 0 --type hdd --medium "C:\VM\rac12cnode1\asmdisk01.vdi" --mtype shareable
VBoxManage storageattach rac12cnode2 --storagectl "SATA" --port 2 --device 0 --type hdd --medium "C:\VM\rac12cnode1\asmdisk02.vdi" --mtype shareable
VBoxManage storageattach rac12cnode2 --storagectl "SATA" --port 3 --device 0 --type hdd --medium "C:\VM\rac12cnode1\asmdisk03.vdi" --mtype shareable
VBoxManage storageattach rac12cnode2 --storagectl "SATA" --port 4 --device 0 --type hdd --medium "C:\VM\rac12cnode1\asmdisk04.vdi" --mtype shareable

6.3. Change hostname and IP on Node2:

[root@racnode2 ~]# cat /etc/hostname
rac12cnode2.localdomain

[root@rac12cnode2 ~]# ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.56.211  netmask 255.255.255.0  broadcast 192.168.56.255
        inet6 fe80::a00:27ff:fe28:a10a  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:28:a1:0a  txqueuelen 1000  (Ethernet)
        RX packets 146  bytes 13342 (13.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 90  bytes 14607 (14.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.10.211  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::a00:27ff:fede:982a  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:de:98:2a  txqueuelen 1000  (Ethernet)
        RX packets 14  bytes 2971 (2.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 55  bytes 8257 (8.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s9: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.244  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::a00:27ff:fed0:8d47  prefixlen 64  scopeid 0x20<link>
        inet6 2600:1700:8930:4760:a00:27ff:fed0:8d47  prefixlen 128  scopeid 0x0<global>
        ether 08:00:27:d0:8d:47  txqueuelen 1000  (Ethernet)
        RX packets 363  bytes 28591 (27.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 84  bytes 10320 (10.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 134  bytes 11384 (11.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 134  bytes 11384 (11.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
     

6.3. Verify ASM Disks on Node2:

[root@rac12cnode2 ~]# oracleasm configure -i
Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library
driver.  The following questions will determine whether the driver is
loaded on boot and what permissions it will have.  The current values
will be shown in brackets ('[]').  Hitting <ENTER> without typing an
answer will keep that current value.  Ctrl-C will abort.

Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Scan for Oracle ASM disks on boot (y/n) [y]:
Writing Oracle ASM library driver configuration: done

6.5. ASM Disks Validation:

[root@rac12cnode2 ~]# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
Instantiating disk "DISK_OCR"
Instantiating disk "DISK_DATA02"
Instantiating disk "DISK_DATA03"
Instantiating disk "DISK_DATA01"

[root@rac12cnode2 ~]# oracleasm listdisks
DISK_DATA01
DISK_DATA02
DISK_DATA03
DISK_OCR

7. Install GI (Grid Infrastructure):

7.1 Trigger runInstaller from GUI.

[oracle@rac12cnode1 software]$ pwd
/u01/software

[oracle@rac12cnode1 software]$ ls -lrt
total 2924500
-rw-r--r--. 1 oracle oinstall 2994687209 Jul 19  2018 linuxx64_12201_grid_home.zip

[oracle@rac12cnode1 grid]$ pwd
/u01/app/12.2.0/grid
[oracle@rac12cnode1 grid]$ unzip /u01/software/li
lib/                          linuxx64_12201_grid_home.zip
[oracle@rac12cnode1 grid]$ unzip /u01/software/linuxx64_12201_grid_home.zip

[oracle@rac12cnode1 grid]$ pwd
/u01/app/12.2.0/grid
[oracle@rac12cnode1 grid]$ ls -lrt gridSetup.sh
-rwxr-x---. 1 oracle oinstall 5395 Jul 21  2016 gridSetup.sh
[oracle@rac12cnode1 grid]$ ./gridSetup.sh

7.2. Installation Software show all option one by one.

Choose “Skip software updates” and Click Next…

Choose “Configure Oracle Grid Infrastructure for a New Cluster” and Click Next…

Choose “Configure an Oracle Standalone Cluster” and Click Next…

Provide Cluster Name and Scan Name with port. Click Next..

Click on Add.. Button to add other nodes.

Provide Node’s Hostname and Role with Virtual Hostname. Click on OK..

Click on SSH Connectivity.. to setup or test password less connection between nodes.

Provide password for user and Click Setup (if not setup earlier)

Successfully setup passwordless SSH connectivity between selected nodes. Click OK.

Click on Test if setup SSH earlier.

Select Interface for Public and ASM & Private. Click Next..

Choose “Configure ASM using block devices” and Click Next…

Click Yes, if you want to Create seperate ASM DiskGroup for OCR/Voting Disk and GIMR. otherwise Choose No.

Provide DiskGroup Name and Disk. Click Next..

Provide password for ASM and ASMSNMP.

Select Do not use IPMI.

You can configure OEM agent later.

Provide OS Group.

Click Yes to confirm.

Click Next..

Click Yes to confirm.

Uncheck the CheckBox. Click Next..

Prerequisite Check. Click on “Fix & Check Again”

Execute generated script from root user to all recommended nodes.

Script Execution:

[root@rac12cnode1 disks]# /tmp/GridSetupActions2020-10-16_04-23-47PM/CVU_12.2.0.1.0_oracle/runfixup.sh
All Fix-up operations were completed successfully.

[root@rac12cnode2 ~]# /tmp/GridSetupActions2020-10-16_04-23-47PM/CVU_12.2.0.1.0_oracle/runfixup.sh
All Fix-up operations were completed successfully.

You may Ignore if you think these are ok. But recommended to meet all prerequisite checks on Production database.

Click “Ignore All” check box to continue.

Click Yes to confirm.

Summary of all selection. If you are ok then Click on Install otherwise click on Back to change.

Installation is progressing.

Execute all Scripts on recommended nodes from root user.

Execute orainstRoot.sh script on both nodes:

[root@rac12cnode1 disks]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.

[root@rac12cnode2 ~]# /tmp/GridSetupActions2020-10-16_04-23-47PM/CVU_12.2.0.1.0_oracle/runfixup.sh
All Fix-up operations were completed successfully.
[root@rac12cnode2 ~]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /u01/app/oraInventor

Execute root.sh script on all nodes from root user:

[root@rac12cnode1 grid]# /u01/app/12.2.0/grid/root.sh
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/12.2.0/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]:
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Relinking oracle with rac_on option
Using configuration parameter file: /u01/app/12.2.0/grid/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/oracle/crsdata/rac12cnode1/crsconfig/rootcrs_rac12cnode1_2020-10-16_04-59-41PM.log
2020/10/16 16:59:45 CLSRSC-594: Executing installation step 1 of 19: 'SetupTFA'.
2020/10/16 16:59:45 CLSRSC-4001: Installing Oracle Trace File Analyzer (TFA) Collector.
2020/10/16 17:00:15 CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector.
2020/10/16 17:00:15 CLSRSC-594: Executing installation step 2 of 19: 'ValidateEnv'.
2020/10/16 17:00:19 CLSRSC-363: User ignored prerequisites during installation
2020/10/16 17:00:19 CLSRSC-594: Executing installation step 3 of 19: 'CheckFirstNode'.
2020/10/16 17:00:21 CLSRSC-594: Executing installation step 4 of 19: 'GenSiteGUIDs'.
2020/10/16 17:00:22 CLSRSC-594: Executing installation step 5 of 19: 'SaveParamFile'.
2020/10/16 17:00:28 CLSRSC-594: Executing installation step 6 of 19: 'SetupOSD'.
2020/10/16 17:00:28 CLSRSC-594: Executing installation step 7 of 19: 'CheckCRSConfig'.
2020/10/16 17:00:28 CLSRSC-594: Executing installation step 8 of 19: 'SetupLocalGPNP'.
2020/10/16 17:01:00 CLSRSC-594: Executing installation step 9 of 19: 'ConfigOLR'.
2020/10/16 17:01:08 CLSRSC-594: Executing installation step 10 of 19: 'ConfigCHMOS'.
2020/10/16 17:01:08 CLSRSC-594: Executing installation step 11 of 19: 'CreateOHASD'.
2020/10/16 17:01:13 CLSRSC-594: Executing installation step 12 of 19: 'ConfigOHASD'.
2020/10/16 17:01:29 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service'
2020/10/16 17:01:50 CLSRSC-594: Executing installation step 13 of 19: 'InstallAFD'.
2020/10/16 17:01:55 CLSRSC-594: Executing installation step 14 of 19: 'InstallACFS'.
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'rac12cnode1'
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'rac12cnode1' has completed
CRS-4133: Oracle High Availability Services has been stopped.
CRS-4123: Oracle High Availability Services has been started.
2020/10/16 17:02:32 CLSRSC-594: Executing installation step 15 of 19: 'InstallKA'.
2020/10/16 17:02:37 CLSRSC-594: Executing installation step 16 of 19: 'InitConfig'.
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'rac12cnode1'
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'rac12cnode1' has completed
CRS-4133: Oracle High Availability Services has been stopped.
CRS-4123: Oracle High Availability Services has been started.
CRS-2672: Attempting to start 'ora.evmd' on 'rac12cnode1'
CRS-2672: Attempting to start 'ora.mdnsd' on 'rac12cnode1'
CRS-2676: Start of 'ora.mdnsd' on 'rac12cnode1' succeeded
CRS-2676: Start of 'ora.evmd' on 'rac12cnode1' succeeded
CRS-2672: Attempting to start 'ora.gpnpd' on 'rac12cnode1'
CRS-2676: Start of 'ora.gpnpd' on 'rac12cnode1' succeeded
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'rac12cnode1'
CRS-2672: Attempting to start 'ora.gipcd' on 'rac12cnode1'
CRS-2676: Start of 'ora.cssdmonitor' on 'rac12cnode1' succeeded
CRS-2676: Start of 'ora.gipcd' on 'rac12cnode1' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'rac12cnode1'
CRS-2672: Attempting to start 'ora.diskmon' on 'rac12cnode1'
CRS-2676: Start of 'ora.diskmon' on 'rac12cnode1' succeeded
CRS-2676: Start of 'ora.cssd' on 'rac12cnode1' succeeded

Disk groups created successfully. Check /u01/app/oracle/cfgtoollogs/asmca/asmca-201016PM050314.log for details.


2020/10/16 17:03:58 CLSRSC-482: Running command: '/u01/app/12.2.0/grid/bin/ocrconfig -upgrade oracle oinstall'
CRS-2672: Attempting to start 'ora.crf' on 'rac12cnode1'
CRS-2672: Attempting to start 'ora.storage' on 'rac12cnode1'
CRS-2676: Start of 'ora.storage' on 'rac12cnode1' succeeded
CRS-2676: Start of 'ora.crf' on 'rac12cnode1' succeeded
CRS-2672: Attempting to start 'ora.crsd' on 'rac12cnode1'
CRS-2676: Start of 'ora.crsd' on 'rac12cnode1' succeeded
CRS-4256: Updating the profile
Successful addition of voting disk a35c504b83ec4f86bff42baa1e71892c.
Successfully replaced voting disk group with +OCR.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   a35c504b83ec4f86bff42baa1e71892c (/dev/oracleasm/disks/DISK_OCR01) [OCR]
Located 1 voting disk(s).
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'rac12cnode1'
CRS-2673: Attempting to stop 'ora.crsd' on 'rac12cnode1'
CRS-2677: Stop of 'ora.crsd' on 'rac12cnode1' succeeded
CRS-2673: Attempting to stop 'ora.storage' on 'rac12cnode1'
CRS-2673: Attempting to stop 'ora.crf' on 'rac12cnode1'
CRS-2673: Attempting to stop 'ora.drivers.acfs' on 'rac12cnode1'
CRS-2673: Attempting to stop 'ora.gpnpd' on 'rac12cnode1'
CRS-2673: Attempting to stop 'ora.mdnsd' on 'rac12cnode1'
CRS-2677: Stop of 'ora.drivers.acfs' on 'rac12cnode1' succeeded
CRS-2677: Stop of 'ora.storage' on 'rac12cnode1' succeeded
CRS-2673: Attempting to stop 'ora.asm' on 'rac12cnode1'
CRS-2677: Stop of 'ora.gpnpd' on 'rac12cnode1' succeeded
CRS-2677: Stop of 'ora.crf' on 'rac12cnode1' succeeded
CRS-2677: Stop of 'ora.mdnsd' on 'rac12cnode1' succeeded
CRS-2677: Stop of 'ora.asm' on 'rac12cnode1' succeeded
CRS-2673: Attempting to stop 'ora.cluster_interconnect.haip' on 'rac12cnode1'
CRS-2677: Stop of 'ora.cluster_interconnect.haip' on 'rac12cnode1' succeeded
CRS-2673: Attempting to stop 'ora.ctssd' on 'rac12cnode1'
CRS-2673: Attempting to stop 'ora.evmd' on 'rac12cnode1'
CRS-2677: Stop of 'ora.evmd' on 'rac12cnode1' succeeded
CRS-2677: Stop of 'ora.ctssd' on 'rac12cnode1' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on 'rac12cnode1'
CRS-2677: Stop of 'ora.cssd' on 'rac12cnode1' succeeded
CRS-2673: Attempting to stop 'ora.gipcd' on 'rac12cnode1'
CRS-2677: Stop of 'ora.gipcd' on 'rac12cnode1' succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'rac12cnode1' has completed
CRS-4133: Oracle High Availability Services has been stopped.
2020/10/16 17:05:05 CLSRSC-594: Executing installation step 17 of 19: 'StartCluster'.
CRS-4123: Starting Oracle High Availability Services-managed resources
CRS-2672: Attempting to start 'ora.mdnsd' on 'rac12cnode1'
CRS-2672: Attempting to start 'ora.evmd' on 'rac12cnode1'
CRS-2676: Start of 'ora.mdnsd' on 'rac12cnode1' succeeded
CRS-2676: Start of 'ora.evmd' on 'rac12cnode1' succeeded
CRS-2672: Attempting to start 'ora.gpnpd' on 'rac12cnode1'
CRS-2676: Start of 'ora.gpnpd' on 'rac12cnode1' succeeded
CRS-2672: Attempting to start 'ora.gipcd' on 'rac12cnode1'
CRS-2676: Start of 'ora.gipcd' on 'rac12cnode1' succeeded
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'rac12cnode1'
CRS-2676: Start of 'ora.cssdmonitor' on 'rac12cnode1' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'rac12cnode1'
CRS-2672: Attempting to start 'ora.diskmon' on 'rac12cnode1'
CRS-2676: Start of 'ora.diskmon' on 'rac12cnode1' succeeded
CRS-2676: Start of 'ora.cssd' on 'rac12cnode1' succeeded
CRS-2672: Attempting to start 'ora.cluster_interconnect.haip' on 'rac12cnode1'
CRS-2672: Attempting to start 'ora.ctssd' on 'rac12cnode1'
CRS-2676: Start of 'ora.ctssd' on 'rac12cnode1' succeeded
CRS-2676: Start of 'ora.cluster_interconnect.haip' on 'rac12cnode1' succeeded
CRS-2672: Attempting to start 'ora.asm' on 'rac12cnode1'
CRS-2676: Start of 'ora.asm' on 'rac12cnode1' succeeded
CRS-2672: Attempting to start 'ora.storage' on 'rac12cnode1'
CRS-2676: Start of 'ora.storage' on 'rac12cnode1' succeeded
CRS-2672: Attempting to start 'ora.crf' on 'rac12cnode1'
CRS-2676: Start of 'ora.crf' on 'rac12cnode1' succeeded
CRS-2672: Attempting to start 'ora.crsd' on 'rac12cnode1'
CRS-2676: Start of 'ora.crsd' on 'rac12cnode1' succeeded
CRS-6023: Starting Oracle Cluster Ready Services-managed resources
CRS-6017: Processing resource auto-start for servers: rac12cnode1
CRS-6016: Resource auto-start has completed for server rac12cnode1
CRS-6024: Completed start of Oracle Cluster Ready Services-managed resources
CRS-4123: Oracle High Availability Services has been started.
2020/10/16 17:06:51 CLSRSC-343: Successfully started Oracle Clusterware stack
2020/10/16 17:06:51 CLSRSC-594: Executing installation step 18 of 19: 'ConfigNode'.
CRS-2672: Attempting to start 'ora.ASMNET1LSNR_ASM.lsnr' on 'rac12cnode1'
CRS-2676: Start of 'ora.ASMNET1LSNR_ASM.lsnr' on 'rac12cnode1' succeeded
CRS-2672: Attempting to start 'ora.asm' on 'rac12cnode1'
CRS-2676: Start of 'ora.asm' on 'rac12cnode1' succeeded
CRS-2672: Attempting to start 'ora.OCR.dg' on 'rac12cnode1'
CRS-2676: Start of 'ora.OCR.dg' on 'rac12cnode1' succeeded
2020/10/16 17:09:47 CLSRSC-594: Executing installation step 19 of 19: 'PostConfig'.
2020/10/16 17:12:18 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded

# on Node2:

[root@rac12cnode2 ~]# /u01/app/12.2.0/grid/root.sh
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/12.2.0/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]:
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Relinking oracle with rac_on option
Using configuration parameter file: /u01/app/12.2.0/grid/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/oracle/crsdata/rac12cnode2/crsconfig/rootcrs_rac12cnode2_2020-10-16_05-13-16PM.log
2020/10/16 17:13:21 CLSRSC-594: Executing installation step 1 of 19: 'SetupTFA'.
2020/10/16 17:13:21 CLSRSC-4001: Installing Oracle Trace File Analyzer (TFA) Collector.
2020/10/16 17:13:49 CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector.
2020/10/16 17:13:49 CLSRSC-594: Executing installation step 2 of 19: 'ValidateEnv'.
2020/10/16 17:13:50 CLSRSC-363: User ignored prerequisites during installation
2020/10/16 17:13:50 CLSRSC-594: Executing installation step 3 of 19: 'CheckFirstNode'.
2020/10/16 17:13:51 CLSRSC-594: Executing installation step 4 of 19: 'GenSiteGUIDs'.
2020/10/16 17:13:51 CLSRSC-594: Executing installation step 5 of 19: 'SaveParamFile'.
2020/10/16 17:13:53 CLSRSC-594: Executing installation step 6 of 19: 'SetupOSD'.
2020/10/16 17:13:53 CLSRSC-594: Executing installation step 7 of 19: 'CheckCRSConfig'.
2020/10/16 17:13:54 CLSRSC-594: Executing installation step 8 of 19: 'SetupLocalGPNP'.
2020/10/16 17:13:56 CLSRSC-594: Executing installation step 9 of 19: 'ConfigOLR'.
2020/10/16 17:13:58 CLSRSC-594: Executing installation step 10 of 19: 'ConfigCHMOS'.
2020/10/16 17:13:58 CLSRSC-594: Executing installation step 11 of 19: 'CreateOHASD'.
2020/10/16 17:13:59 CLSRSC-594: Executing installation step 12 of 19: 'ConfigOHASD'.
2020/10/16 17:14:15 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service'
2020/10/16 17:14:32 CLSRSC-594: Executing installation step 13 of 19: 'InstallAFD'.
2020/10/16 17:14:33 CLSRSC-594: Executing installation step 14 of 19: 'InstallACFS'.
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'rac12cnode2'
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'rac12cnode2' has completed
CRS-4133: Oracle High Availability Services has been stopped.
CRS-4123: Oracle High Availability Services has been started.
2020/10/16 17:14:56 CLSRSC-594: Executing installation step 15 of 19: 'InstallKA'.
2020/10/16 17:14:57 CLSRSC-594: Executing installation step 16 of 19: 'InitConfig'.
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'rac12cnode2'
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'rac12cnode2' has completed
CRS-4133: Oracle High Availability Services has been stopped.
CRS-4123: Oracle High Availability Services has been started.
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'rac12cnode2'
CRS-2673: Attempting to stop 'ora.drivers.acfs' on 'rac12cnode2'
CRS-2677: Stop of 'ora.drivers.acfs' on 'rac12cnode2' succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'rac12cnode2' has completed
CRS-4133: Oracle High Availability Services has been stopped.
2020/10/16 17:15:16 CLSRSC-594: Executing installation step 17 of 19: 'StartCluster'.
CRS-4123: Starting Oracle High Availability Services-managed resources
CRS-2672: Attempting to start 'ora.mdnsd' on 'rac12cnode2'
CRS-2672: Attempting to start 'ora.evmd' on 'rac12cnode2'
CRS-2676: Start of 'ora.mdnsd' on 'rac12cnode2' succeeded
CRS-2676: Start of 'ora.evmd' on 'rac12cnode2' succeeded
CRS-2672: Attempting to start 'ora.gpnpd' on 'rac12cnode2'
CRS-2676: Start of 'ora.gpnpd' on 'rac12cnode2' succeeded
CRS-2672: Attempting to start 'ora.gipcd' on 'rac12cnode2'
CRS-2676: Start of 'ora.gipcd' on 'rac12cnode2' succeeded
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'rac12cnode2'
CRS-2676: Start of 'ora.cssdmonitor' on 'rac12cnode2' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'rac12cnode2'
CRS-2672: Attempting to start 'ora.diskmon' on 'rac12cnode2'
CRS-2676: Start of 'ora.diskmon' on 'rac12cnode2' succeeded
CRS-2676: Start of 'ora.cssd' on 'rac12cnode2' succeeded
CRS-2672: Attempting to start 'ora.cluster_interconnect.haip' on 'rac12cnode2'
CRS-2672: Attempting to start 'ora.ctssd' on 'rac12cnode2'
CRS-2676: Start of 'ora.ctssd' on 'rac12cnode2' succeeded
CRS-2676: Start of 'ora.cluster_interconnect.haip' on 'rac12cnode2' succeeded
CRS-2672: Attempting to start 'ora.asm' on 'rac12cnode2'
CRS-2676: Start of 'ora.asm' on 'rac12cnode2' succeeded
CRS-2672: Attempting to start 'ora.storage' on 'rac12cnode2'
CRS-2676: Start of 'ora.storage' on 'rac12cnode2' succeeded
CRS-2672: Attempting to start 'ora.crf' on 'rac12cnode2'
CRS-2676: Start of 'ora.crf' on 'rac12cnode2' succeeded
CRS-2672: Attempting to start 'ora.crsd' on 'rac12cnode2'
CRS-2676: Start of 'ora.crsd' on 'rac12cnode2' succeeded
CRS-6017: Processing resource auto-start for servers: rac12cnode2
CRS-2673: Attempting to stop 'ora.LISTENER_SCAN1.lsnr' on 'rac12cnode1'
CRS-2672: Attempting to start 'ora.net1.network' on 'rac12cnode2'
CRS-2672: Attempting to start 'ora.ASMNET1LSNR_ASM.lsnr' on 'rac12cnode2'
CRS-2677: Stop of 'ora.LISTENER_SCAN1.lsnr' on 'rac12cnode1' succeeded
CRS-2676: Start of 'ora.net1.network' on 'rac12cnode2' succeeded
CRS-2673: Attempting to stop 'ora.scan1.vip' on 'rac12cnode1'
CRS-2672: Attempting to start 'ora.ons' on 'rac12cnode2'
CRS-2677: Stop of 'ora.scan1.vip' on 'rac12cnode1' succeeded
CRS-2672: Attempting to start 'ora.scan1.vip' on 'rac12cnode2'
CRS-2676: Start of 'ora.scan1.vip' on 'rac12cnode2' succeeded
CRS-2672: Attempting to start 'ora.LISTENER_SCAN1.lsnr' on 'rac12cnode2'
CRS-2676: Start of 'ora.ASMNET1LSNR_ASM.lsnr' on 'rac12cnode2' succeeded
CRS-2672: Attempting to start 'ora.asm' on 'rac12cnode2'
CRS-2676: Start of 'ora.ons' on 'rac12cnode2' succeeded
CRS-2676: Start of 'ora.LISTENER_SCAN1.lsnr' on 'rac12cnode2' succeeded
CRS-2676: Start of 'ora.asm' on 'rac12cnode2' succeeded
CRS-6016: Resource auto-start has completed for server rac12cnode2
CRS-6024: Completed start of Oracle Cluster Ready Services-managed resources
CRS-4123: Oracle High Availability Services has been started.
2020/10/16 17:17:00 CLSRSC-343: Successfully started Oracle Clusterware stack
2020/10/16 17:17:00 CLSRSC-594: Executing installation step 18 of 19: 'ConfigNode'.
2020/10/16 17:17:14 CLSRSC-594: Executing installation step 19 of 19: 'PostConfig'.
2020/10/16 17:17:27 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded

Click on OK once executed successfully on all nodes.

Installation is progressing…

You may ignore the failed for Oracle Cluster Verification Utility. Click on Close.

7.3. Clusterware Status:

[root@rac12cnode1 grid]# crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr
               ONLINE  ONLINE       rac12cnode1              STABLE
               ONLINE  ONLINE       rac12cnode2              STABLE
ora.LISTENER.lsnr
               ONLINE  ONLINE       rac12cnode1              STABLE
               ONLINE  ONLINE       rac12cnode2              STABLE
ora.OCR.dg
               ONLINE  ONLINE       rac12cnode1              STABLE
               ONLINE  ONLINE       rac12cnode2              STABLE
ora.chad
               ONLINE  ONLINE       rac12cnode1              STABLE
               ONLINE  ONLINE       rac12cnode2              STABLE
ora.net1.network
               ONLINE  ONLINE       rac12cnode1              STABLE
               ONLINE  ONLINE       rac12cnode2              STABLE
ora.ons
               ONLINE  ONLINE       rac12cnode1              STABLE
               ONLINE  ONLINE       rac12cnode2              STABLE
ora.proxy_advm
               OFFLINE OFFLINE      rac12cnode1              STABLE
               OFFLINE OFFLINE      rac12cnode2              STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       rac12cnode2              STABLE
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       rac12cnode1              STABLE
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       rac12cnode1              STABLE
ora.MGMTLSNR
      1        ONLINE  ONLINE       rac12cnode1              169.254.193.228 192.
                                                             168.10.210,STABLE
ora.asm
      1        ONLINE  ONLINE       rac12cnode1              Started,STABLE
      2        ONLINE  ONLINE       rac12cnode2              Started,STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.cvu
      1        ONLINE  ONLINE       rac12cnode1              STABLE
ora.mgmtdb
      1        ONLINE  ONLINE       rac12cnode1              Open,STABLE
ora.qosmserver
      1        ONLINE  ONLINE       rac12cnode1              STABLE
ora.rac12cnode1.vip
      1        ONLINE  ONLINE       rac12cnode1              STABLE
ora.rac12cnode2.vip
      1        ONLINE  ONLINE       rac12cnode2              STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       rac12cnode2              STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       rac12cnode1              STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       rac12cnode1              STABLE
--------------------------------------------------------------------------------

8. Configure ASM: Create ASM DiskGroup

9. Install Oracle Database Binary and Create Database on RAC:

Below links will show how to install Oracle Software on GI/RAC. This link is for another setup and processes are same. So you may see different host name on this example.

Oracle Database Software Installation on RAC: Installation Processes

Create Database using DBCA on RAC: Create Database

Or,

Follow following steps to install and create oracle database on RAC.

Unzip Oracle Software:

[oracle@rac12cnode1 ~]$ cd /u01/software/
[oracle@rac12cnode1 software]$ ls
[oracle@rac12cnode1 software]$ ls -lrt
total 3372752
-rw-r--r--. 1 oracle oinstall 3453696911 Jul 20  2018 linuxx64_12201_database.zip
[oracle@rac12cnode1 software]$ unzip linuxx64_12201_database.zip

[oracle@rac12cnode1 database]$ pwd
/u01/software/database
[oracle@rac12cnode1 database]$ ./runInstaller
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 500 MB.   Actual 19658 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 996 MB    Passed
Checking monitor: must be configured to display at least 256 colors   Passed

Trigger runInstaller from GUI.

Uncheck for not receiving update on Oracle Support. Click Next…

Choose “Create and Configure a Database” and Click Next…

Choose “Server class” option.

Choose “Oracle Real Application Clusters database installation” Option.

Choose option based on your requirement.

Select nodes from list and Click on SSH Connectivity for testing or setting up the SSH connection.

Select Install Type option.

Choose Database Edition – Enterprise or Standard Edition based on your license.

Provide Oracle Base and Home location.

Select Configuration Type based on your requirement.

Provide Global database name and SID. If you want to create Container Database with Pluggable then Click on Check box.

Select memory for Target Memory and Checked Enable AMM. Click on Character Sets Tab.

Select ASM for Storage.

You may install OEM agent later.

Select Recovery Option.

Select ASM DiskGroup Name for Data.

Make sure ASM compactivity is set at least 12.2.0.0.

Change the compatibility to 12.2.0.0.0 using asmca or command line.

Once set correct compatibility for ASM Group then you should be good.

Provide password for sys and system user.

Select appropriate OS Group for separation of duties.

Prerequisites check. Click on “Fix & Check Again”

Generated script to fix the prerequisites.

Run the script from root user to all recommended nodes.

[root@rac12cnode1 ~]# /tmp/CVU_12.2.0.1.0_oracle/runfixup.sh
All Fix-up operations were completed successfully.

[root@rac12cnode2 ~]# /tmp/CVU_12.2.0.1.0_oracle/runfixup.sh
All Fix-up operations were completed successfully.

Not recommended to ignore any prerequisites on real life database.

Click Yes to confirm as ignore the prerequisites.

Summary of all selection. Click on Install if you want to continue otherwise click on back if need to change any option.

Installation is progressing.

Run the script from all nodes from root user.

Execute root.sh script:

[root@rac12cnode1 ~]# /u01/app/oracle/product/12.2.0/dbhome_1/root.sh
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/12.2.0/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]:
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.

[root@rac12cnode2 ~]# /u01/app/oracle/product/12.2.0/dbhome_1/root.sh
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/12.2.0/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]:
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.

Database creation is progressing…

Installation completed successfully.

Database Validation:

[oracle@rac12cnode1 dbhome_1]$ srvctl status database -d orcl
Instance orcl1 is running on node rac12cnode1
Instance orcl2 is running on node rac12cnode2

SQL> SELECT NAME, OPEN_MODE, INSTANCE_NAME, HOST_NAME FROM GV$DATABASE D, GV$INSTANCE I 
WHERE D.INST_ID=I.INST_ID;

NAME      OPEN_MODE            INSTANCE_NAME    HOST_NAME
--------- -------------------- ---------------- -------------------------
ORCL      READ WRITE           orcl2            rac12cnode2.localdomain
ORCL      READ WRITE           orcl1            rac12cnode1.localdomain

[oracle@rac12cnode1 dbhome_1]$ srvctl config database -d orcl
Database unique name: orcl
Database name: orcl
Oracle home: /u01/app/oracle/product/12.2.0/dbhome_1
Oracle user: oracle
Spfile: +DATA/ORCL/PARAMETERFILE/spfile.273.1053980243
Password file: +DATA/ORCL/PASSWORD/pwdorcl.256.1053979731
Domain: localdomain
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: DATA
Mount point paths:
Services:
Type: RAC
Start concurrency:
Stop concurrency:
OSDBA group: dba
OSOPER group: oper
Database instances: orcl1,orcl2
Configured nodes: rac12cnode1,rac12cnode2
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services:
Database is administrator managed