Description:-
In this article we are going to see step by step oracle Rac 19c installation on OEL 7.3
High level steps:-
- Oracle virtual box setup
- install OEL 7.3
- DNS nameserver configuration
- Copy the Virtual Box
- Creating a Shared Disk
- Configure Oracle ASM
- Pre-check for RAC Setup
- Install and Configure Oracle Grid Infrastructure for a Cluster
- Oracle 19c Database Installation
- Post-Check For Rac Setup
Download Software
Download the following Software.
– Oracle Linux 7
– VirtualBox for Window hosts
– Oracle Database 19c Release 3 – Linux x86-64
Oracle VirtualBox Installation
Download and install VirtualBox-6.1.0-135406-Win
Oracle VirtualBox Setup
Create a New Virtual machine For Node1.
1Click on new and Click Next
Provide a Name as dbwr1 type as Linux and version as Oracle 64bit. Click Next
Enter Memory value to 12GB and then click the Next button
Note:-Oracle recommends at least 8 GB RAM for Oracle Grid Infrastructure installations.
If the production system does not have enough RAM, you will see instance evictions and node reboot that may not be very explainable very often.
Accept the default option to create a new virtual hard disk by clicking the Create button
Select the default VMDK or VDI type and click the Next button
Select Dynamically Allocated and Click next
Provide the location where you want to save the VM files.Also enter the size of your vm from default to say 400GB and Click Create
Once we click on Create we get dbwr1 vm created as highlighted below:
Click on General->Storage Select OEL7 ISO and click ok
Click on General->Advanced and change shared clipboard to Bidirectional and Change Drag ‘n’ Drop to Bidirectional and click Ok
Add three Adaptors.
1)public
2)private
3)Internet for installating RPM’s
Click on General->Network-Adapter 1
Make sure Adapter 1 is enabled, attached to Internal Network or Host-only Adapter. This interface will be used for public network, for example, for connection to the RAC database from other applications.
Click on General->Network-Adapter 2
Make sure Adapter 2 is enabled and attach to Internal Network. Name this network private network
Click on General->Network-Adapter 3
Enable Adapter 3 and attached to Bridged Adapter. This adapter will be used for internet. Then press ok button
Click on General->Shared Folder this will be helpful to get any windows folder mounted on OEL7
Double Check before starting Linux installation and Click on the Start button
Select the Oracle Linux ISO image and click the Start button.
After starting we get below screen and select Install.
Click Continue
This is main screen one by one we need to configure
Select Region and city and press Done button
Next installation Destination-> select 400GB->I will configure partitioning and press Done button
Press + button and enter mount point /boot 2G
Press + button and enter mount point /swap 25 GB
Press + button and enter mount point /tmp 20GB
Press + button and enter mount point / 350G
Finally Double check the mount points
Select accept changes
Select following packages and click done button
Server with GUI
Hardware Monitoring Utilities
Large Systems Performance
Network file system client
Performance Tools
Compatibility Libraries
Development Tools
Next Configure Network
Select IPv4 Settings tab and change Method to Manual; Press Add and fill Address: 192.168.24.1; Netmask: 255.255.255.0; Gateway: 0.0.0.0. Press save then done
Select IPv4 Settings tab; change Method to Manual. Press Add and fill Address: 192.168.10.1; Netmask: 255.255.255.0; Gateway: 0.0.0.0. save and press done button
Finally select enp0s9 interface, this will be used for Internet, then press Method and Check the box Connect automatically DHCP and .Press save button and done
We completed the configuration.before starting installation double check everything looks good
Enter Root Password
Installation is completed just press reboot button
Select Accept button
Double check all network is on
Click Finish button
Install the system Linux prerequisites
First check internet is working fine or not
ping oracledbwr.com
The package oracle-database-preinstall-19c contains all the prerequisites on Oracle Linux using the Oracle Unbreakable Enterprise Kernel (UEK).
# yum update -y
# yum install -y oracle-database-preinstall-19c.x86_64
# yum install oracleasm-support
# yum install bind* -y
# sysctl -p
Once Yum is update Configure Vmbox tools.
Select device and insert guest additions CD image
Execute the Run button
Vmox tools successfully configured without error or failed.
And Enable Full Screen and mouse will work easily Now
Configure Hosts File
[root@dbwr1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
# Public
192.168.24.1 dbwr1.localdomain dbwr1
192.168.24.2 dbwr2.localdomain dbwr2
# Private
192.168.10.1 dbwr1-priv.localdomain dbwr1-priv
192.168.10.2 dbwr2-priv.localdomain dbwr2-priv
# Virtual
192.168.24.31 dbwr1-vip.localdomain dbwr1-vip
192.168.24.32 dbwr2-vip.localdomain dbwr2-vip
# SCAN
192.168.24.41 dbwr-scan.localdomain dbwr-scan
192.168.24.42 dbwr-scan.localdomain dbwr-scan
192.168.24.43 dbwr-scan.localdomain dbwr-scan
Create Groups and permissions
[root@dbwr1 ~]# groupadd -g 54327 asmdba
[root@dbwr1 ~]# groupadd -g 54328 asmoper
[root@dbwr1 ~]# groupadd -g 54329 asmadmin
You might need to run usermod to change oracle user groups as it’s being created by oracle-database-preinstall-19c
usermod -G asmdba,asmoper,asmadmin oracle
Create Oracle user password
[root@dbwr1 ~]# 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.
Create the directories in which the Oracle software will be installed.
mkdir -p /u01/app/19c/grid
mkdir -p /u01/app/oracle/product/19c/db_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01/
Configure Bash Profile of Users.
We are going to install Grid and Oracle as oracle user.
Update the bash profile file for grid and oracle respectively as below.
Log in as the “oracle” user and add the following lines at the end of the “/home/oracle/.bash_profile” file.
# Oracle Settings
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/u01/app/oracle
export GRID_HOME=/u01/app/19c/grid
export DB_HOME=$ORACLE_BASE/product/19c/db_1
export ORACLE_HOME=$DB_HOME
export ORACLE_SID=oradbwr
export ORACLE_TERM=xterm
export BASE_PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$BASE_PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
alias grid=’. /home/oracle/grid.env’
alias db=’. /home/oracle/db.env’
Grid Home bash profile
Create a file called “/home/oracle/grid.env” with the following contents.
export ORACLE_SID=+ASM1
export ORACLE_HOME=$GRID_HOME
export PATH=$ORACLE_HOME/bin:$BASE_PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
Oracle Home bash profile
Create a file called “/home/oracle/db.env” with the following contents.
export ORACLE_SID=oradbwr
export ORACLE_HOME=$DB_HOME
export PATH=$ORACLE_HOME/bin:$BASE_PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
Firewall Stop and Disable
We can open firewall after installation
systemctl stop firewalld.service
systemctl disable firewalld.service
Chrony NTP Configuration
systemctl enable chronyd.service
systemctl restart chronyd.service
chronyc -a ‘burst 4/4’
chronyc -a makestep
DNS nameserver configuration:-
1. Check Bind packages
[root@dbwr1 ~]# rpm -qa | grep bind
After Checking required packages, now define zone files in master configuration ‘named.conf‘ file.
2. Then Edit the Configuration of name server
[root@dbwr1 ~]# cp /etc/named.conf /etc/named.conf_bkp
[root@racpb1:~ ] vim /etc/named.conf
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator’s Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html
options {
listen-on port 53 { 127.0.0.1; 192.168.24.1; };
listen-on-v6 port 53 { ::1; };
directory “/var/named”;
dump-file “/var/named/data/cache_dump.db”;
statistics-file “/var/named/data/named_stats.txt”;
memstatistics-file “/var/named/data/named_mem_stats.txt”;
recursing-file “/var/named/data/named.recursing”;
secroots-file “/var/named/data/named.secroots”;
allow-query { localhost; 192.168.24.0/24; };
/*
– If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
– If you are building a RECURSIVE (caching) DNS server, you need to enable
recursion.
– If your recursive DNS server has a public IP address, you MUST enable access
control to limit queries to your legitimate users. Failing to do so will
cause your server to become part of large scale DNS amplification
attacks. Implementing BCP38 within your network would greatly
reduce such attack surface
*/
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
/* Path to ISC DLV key */
bindkeys-file “/etc/named.root.key”;
managed-keys-directory “/var/named/dynamic”;
pid-file “/run/named/named.pid”;
session-keyfile “/run/named/session.key”;
};
logging {
channel default_debug {
file “data/named.run”;
severity dynamic;
};
};
zone “.” IN {
type hint;
file “named.ca”;
};
zone “localdomain.com” IN {
type master;
file “localdomain.zone”;
allow-update { none; };
};
zone “24.168.192.in-addr.arpa.” IN {
type master;
file “24.168.192.in-addr.arpa”;
allow-update { none; };
};
include “/etc/named.rfc1912.zones”;
include “/etc/named.root.key”;
Save and Exit the named.conf using wq!
3. Create the Forward and Reserve Zone files as mentioned in named.conf
FORWARD ZONE :
a.) Create a Forward Zone file under /var/named in the name of localdomain.zone
There are Sample files under the /var/named/ Directory, Just make a Copy of that file and modify it as our need
b.) Make a Copy of sample file as below
[root@dbwr1 ~]# cp /var/named/named.localhost /var/named/localdomain.zone
c.) Edit the file localdomain.zone
[root@dbwr1 ~]# vim /var/named/localdomain.zone
$TTL 86400
@ IN SOA dbwr1.localdomain.com. root.localdomain.com. (
2014051001 ; serial
3600 ; refresh
1800 ; retry
604800 ; expire
86400 ; minimum
)
@ IN NS dbwr1.localdomain.
localhost IN A 127.0.0.1
dbwr1 IN A 192.168.24.1
dbwr2 IN A 192.168.24.2
dbwr1-priv IN A 192.168.10.1
dbwr2-priv IN A 192.168.10.1
dbwr1-vip IN A 192.168.24.31
dbwr2-vip IN A 192.168.24.32
dbwr-scan IN A 192.168.24.41
dbwr-scan IN A 192.168.24.42
dbwr-scan IN A 192.168.24.43
4) RESERVE ZONE :
a.) Create a Reserver Zone file under /var/named in the name of 24.168.192.in-addr.arpa
There are Sample files under the /var/named/ Directory, Just make a Copy of that file and modify it as our need
b.) Make a Copy of sample file as below
[root@dbwr1 ~]# cp /var/named/named.loopback /var/named/24.168.192.in-addr.arpa
c.) Edit the file 24.168.192.in-addr.arpa
[root@dbwr1 ~]# vim /var/named/24.168.192.in-addr.arpa
$TTL 86400
@ IN SOA dbwr1.localdomain.com. root.localdomain.com. (
2
3H
1H
1W
1H )
@ IN NS dbwr1.localdomain.com.
@ IN PTR localdomain.com.
dbwr1 IN A 192.168.24.1
dbwr-scan IN A 192.168.24.41
dbwr-scan IN A 192.168.24.42
dbwr-scan IN A 192.168.24.43
1 IN PTR dbwr1.localdomain.com.
41 IN PTR dbwr-scan.localdomain.
42 IN PTR dbwr-scan.localdomain.
43 IN PTR dbwr-scan.localdomain.
5. The files we created was in root group We need to change those files to named group
Here we can see the files which have the root group
a.) Change the group to named using below Command
[root@dbwr1 ~]# chgrp named /var/named/localdomain.zone
[root@dbwr1 ~]# chgrp named /var/named/24.168.192.in-addr.arpa
b.) Then we need to check the Context of the files under
[root@dbwr1 named]# ls -lZd /etc/named.conf
-rwxrwxr-x. root root unconfined_u:object_r:etc_t:s0 /etc/named.conf
It want to be in the context of named_conf_t
If its Different than this then we need to restore the context using
[root@masterdns:~:] restorecon /etc/named.conf
6. Start the DNS Service
[root@racpb1:~ ] systemctl start named.service
7. Deploy iptables Rules to allow DNS service
Add the iptables rules
[root@racpb1:~ ] iptables -A INPUT -i lo -j ACCEPT
[root@racpb1:~ ] iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
[root@racpb1:~ ] iptables -A INPUT -p tcp -m state –state NEW -m tcp –dport 22 -j ACCEPT
[root@racpb1:~ ] iptables -A INPUT -p tcp -m state –state NEW -m tcp –dport 53 -j ACCEPT
[root@racpb1:~ ] iptables -A INPUT -p udp -m state –state NEW -m udp –dport 53 -j ACCEPT
[root@racpb1:~ ] iptables -A INPUT -j DROP
8. Make the DNS server’s own IP address in the below file.
[root@dbwr1 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 192.168.24.1
options timeout:1
options attempts:5
9. Now Check for the Available Hosts in DNS
[root@dbwr1 ~]# nslookup dbwr-scan
Server: 192.168.24.1
Address: 192.168.24.1#53
Name: dbwr-scan.localdomain
Address: 192.168.24.43
Name: dbwr-scan.localdomain
Address: 192.168.24.42
Name: dbwr-scan.localdomain
Address: 192.168.24.41
Backup VMbox for build 2nd Node and adding Diskgroup
Now we will shut down the server as we need to take backup and adding asm disks.
[root@dbwr1 19c]# init 0
Backup VMBox
Click File export Appliance
Select our VMBox name and press next
Select the location of backup
Click export
ASM Disk Group Preparation
After completed the backup.We need to add disks for ASM storage.
Click General-> Storage->Hard Disk
Click Create and select VDI
Select Fixed Size ( Do not Forget)
Select Storage Location
In My case example 3 folders i created like this Rac1,Rac2,Storage
Same like second Disk we need to create for OCR
Copy the Virtual Box For Node:2 Preparation
Select File and Click Import button
Now Restore the Backup that was taken earlier and change it as dbwr2
Change Name to DBWR2 and Change the location as below
Import is completed successfully
Creating a Shared Disk
After import is completed We need to Change the disks to shared that were created earlier for ASM
Select file and then Virtual media manager
Select our ASM Disk 35 GB and select shareable
Select our ASM Disk 12 GB and select shareable
Click Release
Both disk is Changed to Shareable,Now we are going to add this disk to 2nd node.
Select 2nd node General -> Storage -> Hard disk
Choose our disk and add (35 GB and 12 GB)
Both Asm Disk is added to 2nd node
Now start 2nd Node for changing network IP’s (Only 2nd Node)
Change Host name
[root@dbwr1 ~]# nmcli general hostname
dbwr1.localdomain
[root@dbwr1 ~]# nmcli general hostname dbwr2.localdomain
[root@dbwr1 ~]# nmcli general hostname
dbwr2.localdomain
[root@dbwr1 ~]# service systemd-hostnamed restart
Redirecting to /bin/systemctl restart systemd-hostnamed.service
[root@dbwr1 ~]# hostname
dbwr2.localdomain
Change Network
Select Applications and settings
Click network
Make sure after changing below IP’s and select connect automatically
[root@dbwr2 ~]# systemctl restart network
[root@dbwr2 ~]# ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.24.2 netmask 255.255.255.0 broadcast 192.168.24.255
inet6 fe80::decd:b0e6:ab4:dcf3 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:61:ae:37 txqueuelen 1000 (Ethernet)
RX packets 24 bytes 2661 (2.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 86 bytes 11585 (11.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.2 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 fe80::1591:1c9f:58ad:c650 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:6b:63:7d txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 133 bytes 21055 (20.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
To verify the network
ping -c 2 dbwr1
ping -c 2 dbwr2
ping -c 2 dbwr1-priv
ping -c 2 dbwr2-priv
[root@dbwr1 ~]# nslookup dbwr-scan
Server: 192.168.24.1
Address: 192.168.24.1#53
Name: dbwr-scan.localdomain
Address: 192.168.24.43
Name: dbwr-scan.localdomain
Address: 192.168.24.41
Name: dbwr-scan.localdomain
Address: 192.168.24.42
Copy the oracle 19c grid software using shared folder
[root@dbwr1 19c]# pwd/media/sf_oracle_software/19c
[root@dbwr1 19c]# cp LINUX.X64_193000_grid_home.zip /u01/app/19c/grid/
[root@dbwr1 19c]#unzip LINUX.X64_193000_grid_home.zip
Install the package cvudisk from the grid home as the “root” user on all nodes.
1st Node
[root@dbwr1 grid]# cd /u01/app/19c/grid/cv/rpm
[root@dbwr1 rpm]# rpm -Uvh cvuqdisk*
Preparing… ################################# [100%]
Using default group oinstall to install package
Updating / installing…
1:cvuqdisk-1.0.10-1 ################################# [100%]
2nd Node
scp ./cvuqdisk* root@dbwr2:/tmp
ssh root@dbwr2 rpm -Uvh /tmp/cvuqdisk*
Configure Oracle ASM
fdisk -l check before formatting
[root@dbwr1 ~]# 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 0xd0e0d61b.
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-25165823, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-25165823, default 25165823):
Using default value 25165823
Partition 1 of type Linux and of size 12 GiB is set
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@dbwr1 ~]# fdisk /dev/sdc
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 0x6c7dc5e4.
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-73400319, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-73400319, default 73400319):
Using default value 73400319
Partition 1 of type Linux and of size 35 GiB is set
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Configure oracleasm utility.
[root@dbwr1 grid]# /usr/sbin/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 []: oinstall
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
This can be verified using:-
[root@dbwr1 grid]# /usr/sbin/oracleasm configure
ORACLEASM_ENABLED=true
ORACLEASM_UID=oracle
ORACLEASM_GID=oinstall
ORACLEASM_SCANBOOT=true
ORACLEASM_SCANORDER=””
ORACLEASM_SCANEXCLUDE=””
ORACLEASM_SCAN_DIRECTORIES=””
ORACLEASM_USE_LOGICAL_BLOCK_SIZE=”false”
Initialize the asmlib with the oracleasm init command to load oracleasm module and mount the oracleasm filesystem:-
[root@dbwr1 grid]# /usr/sbin/oracleasm init
Creating /dev/oracleasm mount point: /dev/oracleasm
Loading module “oracleasm”: oracleasm
Configuring “oracleasm” to use device physical block size
Mounting ASMlib driver filesystem: /dev/oracleasm
When ASMLIB is configured, a special file system is created and mounted as /dev/oracleasm, you should notice the following line from the df command:-
[root@dbwr1 grid]# df -ha | grep oracle
oracle_software 931G 315G 617G 34% /media/sf_oracle_software
oracleasmfs 0 0 0 – /dev/oracleasm
[root@dbwr1 grid]# oracleasm createdisk ASMDISK_DATA /dev/sdb1
Writing disk header: done
Instantiating disk: done
[root@dbwr1 grid]# oracleasm createdisk ASMDISK_OCR /dev/sdc1
Writing disk header: done
Instantiating disk: done
[root@dbwr1 grid]# cd /dev/oracleasm/disks
[root@dbwr1 disks]# ls -lrt
total 0
brw-rw—-. 1 oracle oinstall 8, 17 Dec 31 11:13 ASMDISK_DATA
brw-rw—-. 1 oracle oinstall 8, 33 Dec 31 11:13 ASMDISK_OCR
[root@dbwr1 disks]# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks…
Scanning system for ASM disks…
[root@dbwr1 disks]# oracleasm listdisks
ASMDISK_DATA
ASMDISK_OCR
Node 2
[root@dbwr2 grid]# /usr/sbin/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 []: oinstall
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
[root@dbwr2 grid]# /usr/sbin/oracleasm init
Creating /dev/oracleasm mount point: /dev/oracleasm
Loading module “oracleasm”: oracleasm
Configuring “oracleasm” to use device physical block size
Mounting ASMlib driver filesystem: /dev/oracleasm
[root@dbwr2 grid]# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks…
Scanning system for ASM disks…
Instantiating disk “ASMDISK_OCR”
Instantiating disk “ASMDISK_DATA”
[root@dbwr2 grid]# oracleasm listdisks
ASMDISK_DATA
ASMDISK_OCR
Configure SSH Setup
[oracle@dbwr1 deinstall]$ pwd
/u01/app/19c/grid/deinstall
[oracle@dbwr1 deinstall]$ ./sshUserSetup.sh -user oracle -hosts “dbwr1 dbwr2” -noPromptPassphrase -confirm -advanced
Pre-check for RAC Setup
Pre-check for CRS installation using Cluvfy
We use this Cluvfy command to check that our cluster is ready for the Grid install.
[oracle@dbwr1 grid]$ ./runcluvfy.sh stage -pre crsinst -n dbwr1,dbwr2 -verbose
Display Config and Start Grid Installation
su –
export DISPLAY=:0.0
xhost +
su – oracle
[oracle@dbwr1 ~]$ DISPLAY=dbwr1.localdomain:0.0; export DISPLAY
Install and Configure Oracle 19c Grid Infrastructure for a Cluster
[oracle@dbwr1 ~]$ cd /u01/app/19c/grid/
[oracle@dbwr1 grid]$ ./gridSetup.sh
Launching Oracle Grid Infrastructure Setup Wizard…
Select the Configure Oracle Grid Infrastructure for a New Cluster option, then click the Next button.
Accept the Configure an Oracle Standalone Cluster option by clicking the Next button.
Enter the cluster name dbwr-cluster, SCAN name dbwr-scan and SCAN port 1521, then click the Next button.
On the “Cluster Node Information” screen, click the Add button.
Enter the details of the second node in the cluster, then click the OK button.
Click the SSH connectivity button and enter the password for the oracle user. Click the Setup button to configure SSH connectivity, and the Test button to test it once it is complete. Once the test is complete, click the Next button.
Check the public and private networks are specified correctly as ASM & Private. Click the Next button.
Accept the Use Oracle Flex ASM for Storage option by clicking the Next button.
Select the No option, as we don’t want to create a separate disk group for the GIMR in this case. Click the Next button.
First Browse the path /dev/oracleasm/disks* using change discovery path
Set the redundancy to External, click the 12GB DISK for OCR configuration, then click the Next button.
Enter the credentials and click the Next button.
Accept the default IPMI option by clicking the Next button.
Deselect EM. Click the Next button.
Set the groups to oinstall and click the Next button. Accept the warnings on the subsequent dialog by clicking the Yes button.
Click the Next button.
Accept the default inventory directory by click the Next button
Click the Next button.
Check the Ignore All checkbox and click the Next button.
Double check and click the Install button.
When prompted, run the configuration scripts on each node one by one
Node 1
[root@dbwr1 run]# /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.
Node 2
[root@dbwr2 grid]# /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.
Node 1
[root@dbwr1 run]# /u01/app/19c/grid/root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/19c/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/19c/grid/crs/install/crsconfig_params
The log of current session can be found at:
/u01/app/oracle/crsdata/dbwr1/crsconfig/rootcrs_dbwr1_2019-12-31_03-04-07PM.log
2019/12/31 15:05:54 CLSRSC-594: Executing installation step 1 of 19: ‘SetupTFA’.
2019/12/31 15:05:54 CLSRSC-594: Executing installation step 2 of 19: ‘ValidateEnv’.
2019/12/31 15:05:54 CLSRSC-363: User ignored prerequisites during installation
2019/12/31 15:05:55 CLSRSC-594: Executing installation step 3 of 19: ‘CheckFirstNode’.
2019/12/31 15:06:02 CLSRSC-594: Executing installation step 4 of 19: ‘GenSiteGUIDs’.
2019/12/31 15:06:06 CLSRSC-594: Executing installation step 5 of 19: ‘SetupOSD’.
2019/12/31 15:06:06 CLSRSC-594: Executing installation step 6 of 19: ‘CheckCRSConfig’.
2019/12/31 15:06:07 CLSRSC-594: Executing installation step 7 of 19: ‘SetupLocalGPNP’.
2019/12/31 15:08:34 CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector.
2019/12/31 15:08:39 CLSRSC-594: Executing installation step 8 of 19: ‘CreateRootCert’.
2019/12/31 15:08:58 CLSRSC-594: Executing installation step 9 of 19: ‘ConfigOLR’.
2019/12/31 15:09:36 CLSRSC-594: Executing installation step 10 of 19: ‘ConfigCHMOS’.
2019/12/31 15:09:36 CLSRSC-594: Executing installation step 11 of 19: ‘CreateOHASD’.
2019/12/31 15:09:50 CLSRSC-594: Executing installation step 12 of 19: ‘ConfigOHASD’.
2019/12/31 15:09:51 CLSRSC-330: Adding Clusterware entries to file ‘oracle-ohasd.service’
2019/12/31 15:12:06 CLSRSC-594: Executing installation step 13 of 19: ‘InstallAFD’.
2019/12/31 15:12:21 CLSRSC-594: Executing installation step 14 of 19: ‘InstallACFS’.
2019/12/31 15:14:34 CLSRSC-594: Executing installation step 15 of 19: ‘InstallKA’.
2019/12/31 15:14:48 CLSRSC-594: Executing installation step 16 of 19: ‘InitConfig’.
ASM has been created and started successfully.
[DBT-30001] Disk groups created successfully. Check /u01/app/oracle/cfgtoollogs/asmca/asmca-191231PM031547.log for details.
2019/12/31 15:22:26 CLSRSC-482: Running command: ‘/u01/app/19c/grid/bin/ocrconfig -upgrade oracle oinstall’
CRS-4256: Updating the profile
Successful addition of voting disk 9dbe409170c24f0abf8890b6ff79694c.
Successfully replaced voting disk group with +OCR_DISK.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced
## STATE File Universal Id File Name Disk group
— —– —————– ——— ———
1. ONLINE 9dbe409170c24f0abf8890b6ff79694c (/dev/oracleasm/disks/ASMDISK_DATA) [OCR_DISK]
Located 1 voting disk(s).
2019/12/31 15:26:21 CLSRSC-594: Executing installation step 17 of 19: ‘StartCluster’.
2019/12/31 15:29:07 CLSRSC-343: Successfully started Oracle Clusterware stack
2019/12/31 15:29:08 CLSRSC-594: Executing installation step 18 of 19: ‘ConfigNode’.
2019/12/31 15:36:21 CLSRSC-594: Executing installation step 19 of 19: ‘PostConfig’.
2019/12/31 15:38:35 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster … succeeded
Node 2
[root@dbwr2 grid]# /u01/app/19c/grid/root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/19c/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/19c/grid/crs/install/crsconfig_params
The log of current session can be found at:
/u01/app/oracle/crsdata/dbwr2/crsconfig/rootcrs_dbwr2_2019-12-31_03-39-53PM.log
2019/12/31 15:42:39 CLSRSC-594: Executing installation step 1 of 19: ‘SetupTFA’.
2019/12/31 15:42:39 CLSRSC-594: Executing installation step 2 of 19: ‘ValidateEnv’.
2019/12/31 15:42:39 CLSRSC-363: User ignored prerequisites during installation
2019/12/31 15:42:39 CLSRSC-594: Executing installation step 3 of 19: ‘CheckFirstNode’.
2019/12/31 15:42:44 CLSRSC-594: Executing installation step 4 of 19: ‘GenSiteGUIDs’.
2019/12/31 15:42:45 CLSRSC-594: Executing installation step 5 of 19: ‘SetupOSD’.
2019/12/31 15:42:45 CLSRSC-594: Executing installation step 6 of 19: ‘CheckCRSConfig’.
2019/12/31 15:42:48 CLSRSC-594: Executing installation step 7 of 19: ‘SetupLocalGPNP’.
2019/12/31 15:42:53 CLSRSC-594: Executing installation step 8 of 19: ‘CreateRootCert’.
2019/12/31 15:42:53 CLSRSC-594: Executing installation step 9 of 19: ‘ConfigOLR’.
2019/12/31 15:43:19 CLSRSC-594: Executing installation step 10 of 19: ‘ConfigCHMOS’.
2019/12/31 15:43:20 CLSRSC-594: Executing installation step 11 of 19: ‘CreateOHASD’.
2019/12/31 15:43:25 CLSRSC-594: Executing installation step 12 of 19: ‘ConfigOHASD’.
2019/12/31 15:43:25 CLSRSC-330: Adding Clusterware entries to file ‘oracle-ohasd.service’
2019/12/31 15:44:10 CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector.
2019/12/31 15:48:30 CLSRSC-594: Executing installation step 13 of 19: ‘InstallAFD’.
2019/12/31 15:48:34 CLSRSC-594: Executing installation step 14 of 19: ‘InstallACFS’.
2019/12/31 15:50:39 CLSRSC-594: Executing installation step 15 of 19: ‘InstallKA’.
2019/12/31 15:50:43 CLSRSC-594: Executing installation step 16 of 19: ‘InitConfig’.
2019/12/31 15:51:37 CLSRSC-594: Executing installation step 17 of 19: ‘StartCluster’.
2019/12/31 15:53:16 CLSRSC-343: Successfully started Oracle Clusterware stack
2019/12/31 15:53:16 CLSRSC-594: Executing installation step 18 of 19: ‘ConfigNode’.
2019/12/31 15:54:16 CLSRSC-594: Executing installation step 19 of 19: ‘PostConfig’.
2019/12/31 15:55:00 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster … succeeded
Once the scripts have completed, return to the Execute Configuration Scripts screen and click the OK button.
Grid Installation is complete. Ignore the NTP error.
Install and Configure Oracle 19c Software binary
[oracle@dbwr1]$ . db.env
[oracle@dbwr1 dbhome_1]$ unzip LINUX.X64_193000_db_home.zip
[oracle@dbwr1 dbhome_1]$ ./runInstaller
Launching Oracle Database Setup Wizard…
Select the setup software only option, then click the Next button.
Accept the Oracle Real Application Clusters database installation option by clicking the Next button.
Make sure both nodes are selected, then click the Next button.
Select the Enterprise Edition option, then click the Next button.
Enter /u01/app/oracle as the Oracle base and /u01/app/oracle/product/19c/dbhome_1 as the software location, then click the Next button.
Click the Next button.Accept the warnings on the subsequent dialog by clicking the Yes button
Check the “Ignore All” checkbox and click the “Next” button.
Click the Install button.
When prompted, run the configuration script on each node. When the scripts have been run on each node, click the OK button.
Node 1
[root@dbwr1 dbhome_1]# /u01/app/oracle/product/19c/dbhome_1/root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/19c/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.
Node 2
[root@dbwr2 dbhome_1]# /u01/app/oracle/product/19c/dbhome_1/root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/19c/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.
Oracle 19c Installation is completed.
Creating ASM Diskgroup using ASMCA Tool for database creation
[oracle@dbwr1 ~]$ . grid.env
[oracle@dbwr1 ~]$ asmca
Select Disk Groups and create
Set the redundancy to External, click the 35GB DISK for Database configuration, then click the ok button.
DiskGroup is ready for creating Database
Database Creation
[oracle@dbwr1 ~]$ . db.env
[oracle@dbwr1 ~]$ dbca
Select the Create Database option and click the Next button.
Select the Advanced configuration option.and click the Next button.
Select the General purpose and click the Next button.
Make sure both nodes are selected, then click the Next button.
Enter the Database Name and deselect CDB Database
Default select as it is and Click next
Deselect FRA and Archivelog mode
Default as it is and Click next
Check ASMM Memory
Default as it is and Click next
Enter oracle user Credential and click next
Select Create Database and click finish
Oracle 19c Rac Database Creation is completed.
Post-Check For Rac Setup
Check the Status of the RAC
[oracle@dbwr1 ~]$ srvctl config database -d oradbwr
Database unique name: oradbwr
Database name: oradbwr
Oracle home: /u01/app/oracle/product/19c/dbhome_1
Oracle user: oracle
Spfile: +DATA_DISK/ORADBWR/PARAMETERFILE/spfile.268.1028487843
Password file: +DATA_DISK/ORADBWR/PASSWORD/pwdoradbwr.256.1028485849
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: DATA_DISK
Mount point paths:
Services:
Type: RAC
Start concurrency:
Stop concurrency:
OSDBA group: oinstall
OSOPER group: oinstall
Database instances: oradbwr1,oradbwr2
Configured nodes: dbwr1,dbwr2
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services:
Database is administrator managed
Database Level
[oracle@dbwr1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 – Production on Tue Dec 31 19:20:07 2019
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production
Version 19.3.0.0.0
SQL> select INST_NUMBER,INST_NAME FROM v$active_instances;
INST_NUMBER INST_NAME
———– ———————————-
1 dbwr1.localdomain:oradbwr1
2 dbwr2.localdomain:oradbwr2
SQL> SELECT instance_name, host_name FROM gv$instance;
INSTANCE_NAME HOST_NAME
—————- —————————————————————-
oradbwr1 dbwr1.localdomain
oradbwr2 dbwr2.localdomain
Connect with me:-
Telegram App:https://t.me/oracledbwr
LinkedIn:https://www.linkedin.com/in/hariprasathdba
Facebook:https://www.facebook.com/HariPrasathdba
FB Group:https://www.facebook.com/groups/894402327369506/
FB Page : https://www.facebook.com/dbahariprasath/?
Twitter : https://twitter.com/oracledbwrdat