top of page
DBAGenesis_png.png

Oracle 19c Installation on Linux

Oracle 19c adds more features to Oracle database and this article demonstrates Oracle 19c installation on Linux 7. We will be using Oracle Linux 7 and Oracle Database 19.3 softwares for this activity. We will also be looking at database creation via DBCA.


Oracle 19c Pre-requisites


Use the YUM repository to perform all the pre-install steps. Make sure your VM is able to ping google.com before executing below command

yum install -y oracle-database-preinstall-19c

Set password for Oracle user

passwd oracle

Create Oracle home directory and give ownership to Oracle user

mkdir -p /u01/app/oracle/product/19.3/db_home
chown -R oracle:oinstall /u01
chmod -R 775 /u01

Setup Oracle user bash_profile

su - oracle
vi .bash_profile

Delete all and paste below. Make sure to change environment variables according to your environment

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi

# User specific environment and startup programs

export ORACLE_SID=CDB
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.3/db_home

PATH=$PATH:$HOME/.local/bin:$ORACLE_HOME/bin

export PATH

Export bash profile

. .bash_profile


Install Oracle 19c Software


Download Oracle 19c and copy the 19c software file to ORACLE_HOME location and unzip. Start the run installer to perform installation

cd $ORACLE_HOME

unzip -qo /softwares/LINUX.X64_193000_db_home.zip

#for GUI installation
./runInstaller

#for silent installation
./runInstaller -ignorePrereq -waitforcompletion -silent      \
-responseFile ${ORACLE_HOME}/install/response/db_install.rsp \
oracle.install.option=INSTALL_DB_SWONLY                      \
ORACLE_HOSTNAME=${HOSTNAME}                                  \
UNIX_GROUP_NAME=oinstall                                     \
INVENTORY_LOCATION=/u01/app/oraInventory                     \
SELECTED_LANGUAGES=en,en_GB                                  \
ORACLE_HOME=${ORACLE_HOME}                                   \
ORACLE_BASE=${ORACLE_BASE}                                   \
oracle.install.db.InstallEdition=EE                          \
oracle.install.db.OSDBA_GROUP=dba                            \
oracle.install.db.OSBACKUPDBA_GROUP=dba                      \
oracle.install.db.OSDGDBA_GROUP=dba                          \
oracle.install.db.OSKMDBA_GROUP=dba                          \
oracle.install.db.OSRACDBA_GROUP=dba                         \
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false                   \
DECLINE_SECURITY_UPDATES=true


DBCA Create 19c Container Database


To create 19c container database along with multiple PDBs, use below

dbca -silent -createDatabase                            \
     -templateName General_Purpose.dbc                  \
     -gdbname ${ORACLE_SID} -sid  ${ORACLE_SID}         \
     -characterSet AL32UTF8                             \
     -sysPassword enterCDB#123                          \
     -systemPassword enterCDB#123                       \
     -createAsContainerDatabase true                    \
     -totalMemory 2000                                  \
     -storageType FS                                    \
     -datafileDestination /u01/${ORACLE_SID}            \
     -emConfiguration NONE                              \
     -numberOfPDBs 2                                    \
     -pdbName PDB                                       \
     -pdbAdminPassword enterPDB#123                     \
     -ignorePreReqs

Check all the containers inside the database

sqlplus / as sysdba

SELECT  NAME, OPEN_MODE, CDB FROM V$DATABASE;
SELECT CON_ID, NAME, OPEN_MODE FROM V$CONTAINERS;


DBCA Create 19c Database (non-cdb)


Oracle has stopped supporting non-cdb architecture but you can still create a non-cdb database

export ORACLE_SID=orcl
     
#for silent database creation
dbca -silent -createDatabase                            \
     -templateName General_Purpose.dbc                  \
     -gdbname ${ORACLE_SID} -sid  ${ORACLE_SID}         \
     -characterSet AL32UTF8                             \
     -sysPassword enterDB#123                           \
     -systemPassword enterDB#123                        \
     -createAsContainerDatabase false                   \
     -totalMemory 2000                                  \
     -storageType FS                                    \
     -datafileDestination /u01/${ORACLE_SID}            \
     -emConfiguration NONE                              \
     -ignorePreReqs -sampleSchema true

Further Read

Become a top notch dba with DBA Genesis
Become a DBA with DBA Genesis.png
bottom of page