#!/bin/bash #Script to install Oracle database 19c on Oracle Linux 8 #Change HOSTNAME, IPs, SID & PATHs #KeepWalking86 #Define variables DOMAIN=dwh.local HOSTNAME=dwh ORACLE_MOUNT=/u01 ORACLE_BASE=${ORACLE_MOUNT}/app/oracle ORACLE_HOME=${ORACLE_BASE}/product/19.3.0/db_1 ORACLE_INVENTORY_LOCATION=/u01/app/oraInventory ORACLE_SID=dwh ORACLE_PORCL=ODS SOURCEPATH=/home/setup ORACLE_FILE=LINUX.X64_193000_db_home.zip ORACLE_DIR=/home/oracle DATA_DIR=/data/oradata ORACLE_PASSWORD=Oracle19c IPADDRESS=172.16.0.11 #Check user account to run script if [[ $UID -ne 0 ]]; then echo "You need root account to run script" exit 1; fi #Check oracle software if [ ! -f ${SOURCEPATH}/${ORACLE_FILE} ]; then echo "${ORACLE_FILE} is not exist. You need to download ${ORACLE_FILE}" exit 1 fi #Setting hostname #echo "hostname=$HOSTNAME" >> /etc/sysconfig/network #echo "$IPADDRESS $HOSTNAME" >>/etc/hosts hostnamectl set-hostname $HOSTNAME --static #Installing required packages dnf install -y oracle-database-preinstall-19c dnf update -y dnf install bc binutils glibc libXrender libXrender-devel glibc-devel ksh libaio libaio-devel \ libX11 libXau libXi libXtst libgcc libstdc++ libstdc++-devel libxcb make nfs-utils smartmontools net-tools sysstat unzip \ elfutils-libelf elfutils-libelf-devel fontconfig-devel libnsl libnsl.i686 libnsl2 libnsl2.i686 libstdc++ libstdc++-devel -y #groups for database management echo "Creating groups for oracle database" 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 #Create oracle user echo "Creating Oracle user" useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba,oinstall oracle echo "kernel parameters for oracle 19c installation" cat >/etc/sysctl.conf <>/etc/security/limits.conf < $ORACLE_HOME/scripts/setEnv.sh <> ${ORACLE_DIR}/.bash_profile #Scrips for Oracle start/stop ##Start Oracle cat > $ORACLE_HOME/scripts/start_all.sh < ${ORACLE_HOME}/scripts/stop_all.sh <$ORACLE_HOME/db_install.rsp <${ORACLE_HOME}/netca.rsp<dbca.rsp </dev/null; then echo "LISTERNER is running, port 1521" else su oracle -c "$ORACLE_HOME/bin/lsnrctl start" fi #Oracle Instance echo "Creating and starting Oracle instance" su oracle -c "${ORACLE_HOME}/bin/dbca -silent -createDatabase -responseFile $ORACLE_HOME/dbca.rsp" #su oracle -c "${ORACLE_HOME}/bin/dbca -silent -createDatabase -responseFile $ORACLE_HOME/dbca.rsp -J-Doracle.assistants.dbca.validate.ConfigurationParams=false" #dbstart utility bring up at system boot time" echo "Bring up at system boot time" sed -i '/^$ORACLE_SID/c\$ORACLE_SID:$ORACLE_HOME:Y' /etc/oratab #Finish Scripting