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

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.

Before installing Oracle Database 19c, ensure your system meets the following requirements:
Operating System: Oracle Linux 8.x (or any RHEL-compatible distribution)
RAM: Minimum 8GB (Recommended: 16GB or more)
Swap Space:
8GB RAM: 16GB swap
16GB RAM: 32GB swap
Disk Space: At least 50GB free space
Hostname Configuration: Ensure a proper FQDN is set
User Privileges: Root and an Oracle user with necessary permissions

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

1- Update System and Install Required Packages

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

sudo yum update && Yum Upgrade -y

2- Find IP Address

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

3- Find Host Name

Get the hostname.

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

4- Edit /etc/hosts file

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

5- Download Oracle Database

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!

6- Edit Config file

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

7- Disable Firewall

Disable firewall.

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

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.

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

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

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

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

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

Installing Oracle 19c database step by step guide.

Post Installation

Configure Oracle Listener

netca

Start and Enable Oracle Database

To start the database, run:

sqlplus / as sysdba
startup;
alter system register;
exit;

Enable auto-start on reboot:

sudo systemctl enable oracle.service
sudo systemctl start oracle.service

Validate the Installation

Check the Oracle database status:

ps -ef | grep pmon
lsnrctl status

Conclusion

Previous Post
Next Post