Step By Step Guide To Install Oracle 19c RAC installation Using VirtualBox


Step By Step Guide To Install Oracle 19c RAC installation Using VirtualBox

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.

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

192.168.24.1 dbwr1.localdomain dbwr1
192.168.24.2 dbwr2.localdomain dbwr2

192.168.10.1 dbwr1-priv.localdomain dbwr1-priv
192.168.10.2 dbwr2-priv.localdomain dbwr2-priv

192.168.24.31 dbwr1-vip.localdomain dbwr1-vip
192.168.24.32 dbwr2-vip.localdomain dbwr2-vip

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-/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”;

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

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

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

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

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

Make sure after changing below IP’s and select connect automatically

[root@dbwr2 ~]# systemctl restart network
[root@dbwr2 ~]# ifconfig
enp0s3: flags=4163 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
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 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
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.

[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%]

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 (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 (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 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 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

Click the Next 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


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *