Installing Oracle Database 19c on Linux/Oracle Linux 8.x

  • Post author:
  • Post category:Linux
  • Post last modified:August 31, 2023

Introduction:

Oracle Database 19c stands as a pinnacle of reliability, performance, and security in the world of enterprise-level databases. This article will show step-by-step guide for installing and configuring an Oracle Database 19c on Oracle Linux 8.9. this is first time for me to install oracle database on Oracle Linux 8.9 server on virtualization infrastructure. As a reference, I used the article “Oracle Database 19c Installation On Oracle Linux 8 (OL8)” and followed all the step-by-step process.

Prerequisites:

Following software used while installing oracle database 19c on oracle Linux server 8.9.

Environment Readiness:

There are some prerequisite setups that needs to be performed before kicking of the installation process of Oracle Database 19c. These steps are shown below.

Step 1:

Ensure your Oracle Linux server is up-to-date by running:

sudo yum update && Yum Upgrade -y

Step 2:

Get the IP Address using ‘ifconfig’ or ‘ip addr’ command. For example:

[root@oraclelinux ~]# ifconfig

ens192: flags=4163 mtu 1500
inet 172.16.17.252 netmask 255.255.0.0 broadcast 172.16.255.255
inet6 fe80::20c:29ff:fed4:a073 prefixlen 64 scopeid 0x20
ether 00:0c:29:d4:a0:73 txqueuelen 1000 (Ethernet)
RX packets 433883 bytes 44947951 (42.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 856 bytes 101947 (99.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Step 3:

Get the hostname.

[root@oraclelinux ~]# hostname
oraclelinux.test.com

Step 4:

Amend the IP address and hostname to /etc/hosts file to resolve the hostname. You can use the nano editor for this like

[root@oraclelinux ~]# sudo nano /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.17.252 oraclelinux.test.com

Step 5:

Next, download “oracle-database-preinstall-19c” package. This package will perform all the setups that are necessary to install 19c.

[oracle@oraclelinux deinstall]$ dnf install -y oracle-database-preinstall-19c
….
….
……………
Installed:
binutils-2.30-119.0.1.el8.x86_64 glibc-devel-2.28-225.0.3.el8.x86_64 ksh-20120801-257.0.1.el8.x86_64 libICE-1.0.9-15.el8.x86_64 libSM-1.2.3-1.el8.x86_64 libXcomposite-0.4.4-14.el8.x86_64 libXi-1.7.10-1.el8.x86_64 libXinerama-1.1.4-1.el8.x86_64 libXmu-1.1.3-1.el8.x86_64 libXrandr-1.5.2-1.el8.x86_64 libXt-1.1.5-12.el8.x86_64 libXtst-1.2.3-7.el8.x86_64 libXxf86dga-1.1.5-1.el8.x86_64 libXxf86misc-1.0.4-1.el8.x86_64 libaio-devel-0.3.112-1.el8.x86_64 libdmx-1.1.4-3.el8.x86_64 libnsl-2.28-225.0.3.el8.x86_64 libstdc++-devel-8.5.0-18.0.2.el8.x86_64 libxcrypt-devel-4.1.1-6.el8.x86_64 lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64 make-1:4.2.1-11.el8.x86_64 oracle-database-preinstall-19c-1.0-2.el8.x86_64 sysstat-11.7.3-9.0.1.el8.x86_64 xorg-x11-utils-7.5-28.el8.x86_64 xorg-x11-xauth-1:1.0.9-12.el8.x86_64

Complete!

Step 6:

Next, Edit “/etc/selinux/config” file to set “SELINUX=permissive“ with command

[oracle@oraclelinux deinstall]$ nano /etc/selinux/config

It is recommended that you restart the server after this step.

Installing Oracle Database 19c

Step 7:

Disable firewall.

[root@oraclelinux /]# systemctl stop firewalld
[root@oraclelinux /]# systemctl disable firewalld

Setting-up our oracle user account

Step 1:

we are going to set the password for the oracle user that was created during installation process. First we need to log-in as a root user. Then, we can change the password.

[root@oraclelinux /]# passwd oracle
Changing password for user oracle.
New password:
BAD PASSWORD: The password fails the dictionary check – it is based on a dictionary word
Retype new password:
passwd: all authentication tokens updated successfully.

Step 2:

Now, we are going to give the oracle user root privileges through /etc/sudoers file. We can edit the sudoers files by using the visudo command. Press Shift+G to navigate to the bottom of the document. Press the letter “i” on your keyboard to begin editing the document. Once you complete this task, hit the ESC button, and type :wq at the bottom of text editor.

[root@oraclelinux /]# sudo visudo

Installing oracle database 19c grant rights to user

Step 3:

Some additional packages need to install for oracle database 19c while installing on Oracle Linux (OL8).

dnf install -y unixODBC
dnf install -y libnsl
dnf install -y libnsl.i686
dnf install -y libnsl2
dnf install -y libnsl2.i686

Step 4:

creating new users and groups which might not be installed by oracle auto installation package “oracle-database-preinstall-19c” and add following user.

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

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

Creating an Oracle home directory

Next, we are going to be creating an Oracle home directory and giving ownership of that directory to the user, oracle.

[root@oraclelinux /]# su oracle

Now, we are going to be creating our home directory with following commands into terminal

[oracle@oraclelinux /]$ sudo mkdir -p /u01/app/oracle/product/19c/dbhome_1
[oracle@oraclelinux /]$ sudo mkdir -p /u02/oradata
[oracle@oraclelinux /]$ sudo chown -R oracle:oinstall /u01 /u02
[oracle@oraclelinux /]$ sudo chmod -R 777 /u01 /u02

Setting-up a bash_profile environment

1- Create a directory for hosting the scripts and navigate to the directory.

[oracle@oraclelinux /]$ mkdir /home/oracle/scripts

2- Create an environment file called “setEnv.sh” using the script below.

[oracle@amsoradb ~]$ sudo nano /home/oracle/scripts/setEnv.sh

#Oracle Settings
export TMP=/tmp
export TMPDIR=\$TMP
export ORACLE_HOSTNAME=ol8-19.localdomain
export ORACLE_UNQNAME=cdb1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/19.0.0/dbhome_1
export ORA_INVENTORY=/u01/app/oraInventory
export ORACLE_SID=cdb1
export PDB_NAME=pdb1
export DATA_DIR=/u02/oradata
export PATH=/usr/sbin:/usr/local/bin:\$PATH
export PATH=\$ORACLE_HOME/bin:\$PATH
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib
Installing oracle database 19c- environment parameters

2- Add a reference to the “setEnv.sh” file at the end of the “/home/oracle/.bash_profile” file.

[oracle@oraclelinux /]$ echo “. /home/oracle/scripts/setEnv.sh” >> /home/oracle/.bash_profile

and verify the reference of setEnv.sh file added in .bash_profile.sh file, use following command

[oracle@amsoradb ~]$ nano /home/oracle/.bash_profile

Start Installation

For interactive mode, I generally launch the installer through MobaXterm. Download MobaXterm on the Host machine, open a console and connect to your Linux machine using ‘ssh’ and IP address of the Linux machine with oracle user, as shown in the screenshot below.

Run oracle installer

Navigate to the folder where you have unzipped the Oracle using MobaXterm console and execute ‘runInstaller’.

[oracle@oraclelinux /]$ cd /u01/app/oracle/product/19c/dbhome_1
[oracle@oraclelinux dbhome_1]$ ./runInstaller

Then you will see the installation wizard started, first the oracle splash screen then wizard ask to click on Next to move next step. if you counter an issue ” [INS-08101] Unexpected error while executing the action at state: ‘supportedOSCheck” then click on below link

How to resolve INS-08101 Unexpected error

Once you resolved the above issue then the normal installation wizard will start and again the same error [INS-08101] will not appear.

To see further steps of oracle database installation on Linux click on below link

Installing Oracle 19c database step by step guide.