Instalación de los binarios de Oracle 19c, sobre el sistema operativo Oracle Linux 8, sobre filesystem específicos para cada conjunto.
En el articulo anterior, vimos la instalación de Oracle Linux 8 aquí.
Archivo hosts
Con el usuario root, editamos el archivo «/etc/hosts», con la ip y el nombre de nuestro servidor
[root@soyundba ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.57.0.97 soyundba soyundba
Instalación de Oracle
Lo primero que debemos realizar, es la ejecución del siguiente comando, con el cual se correrán los prerrequisitos.
[root@soyundba ~]# dnf install -y oracle-database-preinstall-19c
Aunque actualizar todos los paquetes no es estrictamente necesario, siempre es buena idea aprovechando que estamos realizando ajuste desde cero, así quedara nuestro servidor 100% actualizado
[root@soyundba ~]# yum update -y
Configuración adicional
Realizamos el cambio de contraseña al usuario Oracle
[root@soyundba ~]# passwd oracle
Vamos a configurar en el archivo «/etc/selinux/config» con el parámetro » SELINUX=permissive»
[root@soyundba ~]# vi /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=permissive
# SELINUXTYPE= can take one of these three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
En este caso, vamos a deshabilitar el firewall ya que es un servidor de pruebas
[root@soyundba ~]# systemctl stop firewalld
[root@soyundba ~]# systemctl disable firewalld
Posterior a esto, realizaremos un reinicio al servidor
[root@soyundba ~]# init 6
Ahora, procederemos a crear los directorios donde se instalara el software, nuestra base de datos y sus backups
[root@soyundba ~]# mkdir -p /oracle/app/oracle/product/19.0.0/dbhome_1
[root@soyundba ~]# mkdir -p /archivelog/soyundba/arch
[root@soyundba ~]# mkdir -p /archivelog/soyundba/control
[root@soyundba ~]# mkdir -p /archivelog/soyundba/redo
[root@soyundba ~]# mkdir -p /backup/soyundba/dpump
[root@soyundba ~]# mkdir -p /backup/soyundba/rman
[root@soyundba ~]# mkdir -p /oradata/soyundba/data
[root@soyundba ~]# mkdir -p /oradata/soyundba/control
[root@soyundba ~]# mkdir -p /oradata/soyundba/redo
[root@soyundba ~]# chown -R oracle:oinstall /oracle/ /oradata/ /archivelog/ /backup/
[root@soyundba ~]# chmod -R 755 /oracle/ /oradata/ /archivelog/ /backup/
Para utilizar la consola grafica desde el putty, realizaremos las siguientes configuraciones. Editaremos el archivo «/etc/ssh/sshd_config» y el parametro X11Forwarding que se encuentra en «no», lo pasaremos a «yes»
[root@soyundba ~]# vi /etc/ssh/sshd_config
X11Forwarding yes
Guardamos los cambios y reiniciamos le servidor SSH
[root@soyundba ~]# systemctl restart sshd
Ahora, vamos a abrir una nueva sesión con el usuario Oracle, esta sesión dado que la abriremos desde el putty, tendremos que configurar X11 de la siguiente manera

Los siguientes scripts son creados usando el comando cat, los caracteres «$» son escapados usando «\». Si desea crear estos archivos manualmente, en lugar de utilizar el comando cat, recuerde eliminar los caracteres «\» antes de los caracteres «$».
Crearemos el directorio «scripts»
[oracle@soyundba ~]$ mkdir scripts
Vamos a crear el archivo de entorno llamado «setEnv.sh»
cat > /home/oracle/scripts/setEnv.sh <<EOF
# Oracle Settings
export TMP=/tmp
export TMPDIR=\$TMP
export ORACLE_HOSTNAME=soyundba
export ORACLE_UNQNAME=csoyundba
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/19.0.0/dbhome_1
export ORA_INVENTORY=/oracle/app/oraInventory
export ORACLE_SID=csoyundba
export PDB_NAME=soyundba
export DATA_DIR=/oradata/soyundba/data
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
EOF
Agregaremos una referencia del archivo ‘setEnv.sh’ al final del archivo ‘/home/oracle/.bash_profile’. Además ejecutaremos el » .bash_profile» para que nos proporcione las variables en la sesión actual
[oracle@soyundba ~]$ echo ". /home/oracle/scripts/setEnv.sh" >> /home/oracle/.bash_profile
[oracle@soyundba ~]$ . .bash_profile
Instalación
Ahora debemos traernos el .zip del instalador a nuestro servidor, yo lo realizaré a través de la herramienta WinSCP




Posterior, vamos a descomprimir e iniciar la instalación
[oracle@soyundba ~]$ cd $ORACLE_HOME
# Unzip software.
[oracle@soyundba dbhome_1]$ unzip -oq Linux.x86.x64_19.3.0.0.0c_database.zip
# Fake Oracle Linux 7.
[oracle@soyundba dbhome_1]$ export CV_ASSUME_DISTID=OEL7.9
# Interactive mode.
[oracle@soyundba dbhome_1]$ ./runInstaller
Para esta ocasión, vamos a instalar solamente el software, por lo cual, será la opción que vamos a escoger

Vamos a instalar una base de datos en instancia única

Así mismo, vamos a instalar la edición Enterprise

El ORACLE_BASE lo toma generalmente, sin embargo, aquí está la ubicación de este



Daremos la contraseña del usuario root, ya que el software requiere ejecutar algunas acciones con el usuario root, así no nos tocará realizarlo a mano




Aquí daremos a yes

Finalmente, quedará nuestro software instalado

Saludos.
¿Recomendarías para un entorno de producción dejar selinux y firewall deshabilitados?
Holas Victor,
El parámetro «SELINUX=permissive» cumple para ambos ambientes, pruebas y producción.
Por el contrario, el firewall desactivado, únicamente se debería hacer en entornos de pruebas, pues si tenemos un entorno productivo, lo que debemos realizar es, habilitar el acceso por el puerto 1521 o el que hayas puesto al listener.