Silent Installation of Oracle 19c on CentOS 7.9 - Detailed Guide

Prerequisites

  • Operating System: CentOS 7.9
  • Memory: 8 GB
  • CPU: 4 cores
  • Disk: 100 GB

Download Installation Packages

1. Download Oracle 19c Database Software

https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#19c

Download page

2. Download Oracle 19c Pre-install RPM

http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

3. Transfer Files to Linux

Files transferred

Step 1: Install Dependencies

yum install -y unzip compat-libcap1 compat-libstdc++-33 gcc-c++ ksh libaio-devel libstdc++-devel elfutils-libelf-devel fontconfig-devel libXrender-devel rlwrap

Dependencies install

Step 2: Create User and Groups

groupadd oinstall
groupadd dba
groupadd asmdba
groupadd backupdba
groupadd dgdba
groupadd kmdba
groupadd racdba
groupadd oper
useradd -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper -m oracle

User and groups

Step 3: Modify Linux Kernel Parameters

Edit /etc/sysctl.conf and add the following:

net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_keepalive_time = 150
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_keepalive_intvl = 6
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 16451328
kernel.shmmax = 33692319744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

Kernel parameters

Run sysctl -p to apply the changes.

sysctl -p

Step 4: Modify User Limits

Edit /etc/security/limits.conf and add:

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle soft memlock 262144000 
oracle hard memlock 262144000 

User limits

Step 5: Disable Firewall and SELinux

systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld

vim /etc/selinux/config
# Set SELINUX=disabled

Firewall status SELinux config

Step 6: Create Directories and Extract Installation Package

mkdir -p /data/u01/app/oracle/product/19c/dbhome_1
mkdir -p /data/u01/app/oraInventory
chown -R oracle:oinstall /data/u01

cd /root
unzip LINUX.X64_193000_db_home.zip -d /data/u01/app/oracle/product/19c/dbhome_1/
chown -R oracle:oinstall /data/u01/

Extraction

Step 7: Set Environment Variables

Edit /home/oracle/.bash_profile and add:

export ORACLE_SID=orcl19c
export ORACLE_HOSTNAME=`hostname -s`
export ORACLE_BASE=/data/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19c/dbhome_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:$ORACLE_HOME/network/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export TMP=/tmp
export TMPDIR=$TMP
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$HOME/.local/bin:$HOME/bin:$PATH
export EDITOR=vi
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_PATH=.:$ORACLE_BASE/dba_scripts/sql:$ORACLE_HOME/rdbms/admin
export SQLPATH=$ORACLE_HOME/sqlplus/admin

Environment variables

Save and run source /home/oracle/.bash_profile to apply.

Step 8: Install Oracle Database Software

su - oracle

/data/u01/app/oracle/product/19c/dbhome_1/runInstaller -silent -force -noconfig -ignorePrereq \
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0 \
oracle.install.option=INSTALL_DB_SWONLY \
UNIX_GROUP_NAME=oinstall \
INVENTORY_LOCATION=/data/u01/app/oraInventory \
ORACLE_BASE=/data/u01/app/oracle \
ORACLE_HOME=/data/u01/app/oracle/product/19c/dbhome_1 \
oracle.install.db.InstallEdition=EE \
oracle.install.db.OSDBA_GROUP=dba \
oracle.install.db.OSOPER_GROUP=oper \
oracle.install.db.OSBACKUPDBA_GROUP=backupdba \
oracle.install.db.OSDGDBA_GROUP=dgdba \
oracle.install.db.OSKMDBA_GROUP=kmdba \
oracle.install.db.OSRACDBA_GROUP=racdba \
oracle.install.db.rootconfig.executeRootScript=true \
oracle.install.db.rootconfig.configMethod=ROOT

Installation running

Step 9: Create Database Instance

dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \
-gdbname orcl19c -sid orcl19c \
-createAsContainerDatabase TRUE \
-numberOfPDBs 1 \
-pdbName orclpdb2 \
-pdbAdminPassword oracle12334 \
-sysPassword oracle12334 -systemPassword oracle12334 \
-datafileDestination '/data/u01/app/oracle/oradata' \
-recoveryAreaDestination '/data/u01/app/oracle/flash_recovery_area' \
-redoLogFileSize 50 \
-storageType FS \
-characterset ZHS16GBK -nationalCharacterSet AL16UTF16 \
-sampleSchema true \
-totalMemory 2048 \
-databaseType OLTP \
-emConfiguration NONE

DBCA running

Step 10: Configure Listener

Edit /data/u01/app/oracle/product/19c/dbhome_1/network/admin/listener.ora:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orclpdb2)
      (SID_NAME = orcl19c)
    )
   (SID_DESC =
      (GLOBAL_DBNAME = gzpdb1)
      (SID_NAME = orcl19c)
   )
   (SID_DESC =
      (GLOBAL_DBNAME = ynpdb1)
      (SID_NAME = orcl19c)
   )
   (SID_DESC =
      (GLOBAL_DBNAME = tstpdb)
      (SID_NAME = orcl19c)
   )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = oracle19c )(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = /data1/u01/app/oracle

Change the HOST value to your own hostname or IP address.

Listener config

Start the listener:

lsnrctl start

Start Database

sqlplus / as sysdba
startup
show pdbs;

Database started

Tags: Oracle Oracle 19c CentOS 7.9 Database Installation Silent Install

Posted on Sat, 17 Oct 2026 16:15:26 +0000 by joozt