This is an English translation of a Japanese blog. Some content may not be fully translated.
Oracle

Pre-Installation Preparation for Oracle Database 19c

Introduction


In the previous article, I installed Oracle Linux 7.6 as a prerequisite for installation, so this time I will continue from there. This covers pre-installation preparation for DB installation and DB setup.

The installation guide for Oracle Database 19c for Linux is here:

Oracle Database Database Installation Guide, 19c for Linux https://docs.oracle.com/cd/F19136_01/ladbi/index.html

Changing the Hostname


# Change hostname
hostnamectl set-hostname dbsrv.oracle.jp
  • Exit the session and log in again
[root@localhost ~]# hostnamectl set-hostname dbsrv.oracle.jp
[root@localhost ~]#
[root@localhost ~]# echo $?
0
[root@localhost ~]#

Stopping the Firewall


# Stop firewall
systemctl status firewalld
systemctl stop firewalld
systemctl status firewalld
# Permanently disable firewall
systemctl disable firewalld
systemctl status firewalld
[root@localhost ~]#
[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-06-13 16:41:42 JST; 7min ago
     Docs: man:firewalld(1)
 Main PID: 3423 (firewalld)
    Tasks: 2
   CGroup: /system.slice/firewalld.service
           └─3423 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

Jun 13 16:41:40 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
Jun 13 16:41:42 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
[root@localhost ~]#
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# echo $?
0
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Thu 2019-06-13 16:49:06 JST; 4s ago
     Docs: man:firewalld(1)
  Process: 3423 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
 Main PID: 3423 (code=exited, status=0/SUCCESS)

Jun 13 16:41:40 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
Jun 13 16:41:42 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
Jun 13 16:49:05 dbsrv.oracle.jp systemd[1]: Stopping firewalld - dynamic firewall daemon...
Jun 13 16:49:06 dbsrv.oracle.jp systemd[1]: Stopped firewalld - dynamic firewall daemon.
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]#
[root@localhost ~]# echo $?
0
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

Jun 13 16:41:40 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
Jun 13 16:41:42 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
Jun 13 16:49:05 dbsrv.oracle.jp systemd[1]: Stopping firewalld - dynamic firewall daemon...
Jun 13 16:49:06 dbsrv.oracle.jp systemd[1]: Stopped firewalld - dynamic firewall daemon.
[root@localhost ~]#

Disabling SELinux


-- Disable SELinux
vi /etc/selinux/config
cat /etc/selinux/config
[root@localhost ~]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
#SELINUX=enforcing
SELINUX=disabled  ★← Changed to disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

Running the “oracle-database-preinstall-19c” Package


Install the package using yum.

yum install -y oracle-database-preinstall-19c
[oracle@dbsrv ~]$ su -
Password:
Last login: Thu Jun 13 2019 17:10:03 JST on pts/0
[root@dbsrv ~]# yum install -y oracle-database-preinstall-19c
Loaded plugins: langpacks, ulninfo
ol7_UEKR5                                                                                                                                                            | 2.5 kB  00:00:00
ol7_latest                                                                                                                                                           | 2.7 kB  00:00:00
(1/5): ol7_UEKR5/x86_64/updateinfo                                                                                                                                   |  27 kB  00:00:00
(2/5): ol7_latest/x86_64/group                                                                                                                                       | 810 kB  00:00:00
(3/5): ol7_UEKR5/x86_64/primary_db                                                                                                                                   | 3.9 MB  00:00:00
(4/5): ol7_latest/x86_64/updateinfo                                                                                                                                  | 938 kB  00:00:01
(5/5): ol7_latest/x86_64/primary_db                                                                                                                                  |  24 MB  00:00:01
Resolving Dependencies
--> Running transaction check
---> Package oracle-database-preinstall-19c.x86_64 0:1.0-1.el7 will be installed
--> Processing Dependency: ksh for package: oracle-database-preinstall-19c-1.0-1.el7.x86_64
--> Processing Dependency: libaio-devel for package: oracle-database-preinstall-19c-1.0-1.el7.x86_64
--> Running transaction check
---> Package ksh.x86_64 0:20120801-139.0.1.el7 will be installed
---> Package libaio-devel.x86_64 0:0.3.109-13.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================================================================================================================
 Package                                                   Architecture                  Version                                         Repository                           Size
============================================================================================================================================================================================
Installing:
 oracle-database-preinstall-19c                            x86_64                            1.0-1.el7                                          ol7_latest                             18 k
Installing for dependencies:
 ksh                                                       x86_64                            20120801-139.0.1.el7                               ol7_latest                            883 k
 libaio-devel                                              x86_64                            0.3.109-13.el7                                     ol7_latest                             12 k

Transaction Summary
============================================================================================================================================================================================
Install  1 Package (+2 Dependent packages)

Total download size: 913 k
Installed size: 3.2 M
Downloading packages:
warning: /var/cache/yum/x86_64/7Server/ol7_latest/packages/libaio-devel-0.3.109-13.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY   ]  0.0 B/s |    0 B  --:--:-- ETA
Public key for libaio-devel-0.3.109-13.el7.x86_64.rpm is not installed
(1/3): libaio-devel-0.3.109-13.el7.x86_64.rpm                                                                                                                        |  12 kB  00:00:00
(2/3): ksh-20120801-139.0.1.el7.x86_64.rpm                                                                                                                           | 883 kB  00:00:00
(3/3): oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm                                                                                                           |  18 kB  00:00:00
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                        2.0 MB/s | 913 kB  00:00:00
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Importing GPG key 0xEC551F03:
 Userid     : "Oracle OSS group (Open Source Software group) <build@oss.oracle.com>"
 Fingerprint: 4214 4123 fecf c55b 9086 313d 72f9 7b74 ec55 1f03
 Package    : 7:oraclelinux-release-7.6-1.0.15.el7.x86_64 (@anaconda/7.6)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : ksh-20120801-139.0.1.el7.x86_64                                   1/3
  Installing : libaio-devel-0.3.109-13.el7.x86_64                                2/3
  Installing : oracle-database-preinstall-19c-1.0-1.el7.x86_64                   3/3
  Verifying  : libaio-devel-0.3.109-13.el7.x86_64                               1/3
  Verifying  : ksh-20120801-139.0.1.el7.x86_64                                  2/3
  Verifying  : oracle-database-preinstall-19c-1.0-1.el7.x86_64                  3/3

Installed:
  oracle-database-preinstall-19c.x86_64 0:1.0-1.el7

Dependency Installed:
  ksh.x86_64 0:20120801-139.0.1.el7                                                           libaio-devel.x86_64 0:0.3.109-13.el7

Complete!
[root@dbsrv ~]#

The “/etc/sysctl.conf” should have been modified.

[root@dbsrv ~]# cat /etc/sysctl.conf
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).

# oracle-database-preinstall-19c setting for fs.file-max is 6815744
fs.file-max = 6815744

# oracle-database-preinstall-19c setting for kernel.sem is '250 32000 100 128'
kernel.sem = 250 32000 100 128

# oracle-database-preinstall-19c setting for kernel.shmmni is 4096
kernel.shmmni = 4096

# oracle-database-preinstall-19c setting for kernel.shmall is 1073741824 on x86_64
kernel.shmall = 1073741824

# oracle-database-preinstall-19c setting for kernel.shmmax is 4398046511104 on x86_64
kernel.shmmax = 4398046511104

# oracle-database-preinstall-19c setting for kernel.panic_on_oops is 1 per Orabug 19212317
kernel.panic_on_oops = 1

# oracle-database-preinstall-19c setting for net.core.rmem_default is 262144
net.core.rmem_default = 262144

# oracle-database-preinstall-19c setting for net.core.rmem_max is 4194304
net.core.rmem_max = 4194304

# oracle-database-preinstall-19c setting for net.core.wmem_default is 262144
net.core.wmem_default = 262144

# oracle-database-preinstall-19c setting for net.core.wmem_max is 1048576
net.core.wmem_max = 1048576

# oracle-database-preinstall-19c setting for net.ipv4.conf.all.rp_filter is 2
net.ipv4.conf.all.rp_filter = 2

# oracle-database-preinstall-19c setting for net.ipv4.conf.default.rp_filter is 2
net.ipv4.conf.default.rp_filter = 2

# oracle-database-preinstall-19c setting for fs.aio-max-nr is 1048576
fs.aio-max-nr = 1048576

# oracle-database-preinstall-19c setting for net.ipv4.ip_local_port_range is 9000 65500
net.ipv4.ip_local_port_range = 9000 65500

Adding Users and Groups


Since this is a single-instance environment rather than RAC, users for the RAC environment are commented out.

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
cat /etc/passwd

[root@dbsrv ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

~ omitted ~

tcpdump:x:72:72::/:/sbin/nologin
oracle:x:1000:1000:oracle:/home/oracle:/bin/bash
vboxadd:x:988:1::/var/run/vboxadd:/bin/false
[root@dbsrv ~]#

Creating Directories


#mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oraInventory
#mkdir -p /u01/app/19.3.0.0/grid
mkdir -p /u01/app/oracle/product/19.3.0.0/dbhome_1
#chown -R grid:oinstall /u01
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01

Modifying /etc/hosts


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

192.168.56.231 dbsrv.oracle.jp dbsrv

[root@dbsrv ~]#

Next Steps


Next time I plan to install Oracle Database 19c.

The Oracle Database 19c installation is summarized here:

Oracle Database 19c Installation | my opinion is my own https://zatoima.github.io/oracle-19c-install-single.html

Suggest an edit on GitHub