Saltar al contenido principal

Instalación Oracle 19c en Oracle Linux 7

Instalación de Oracle 19c en Oracle Linux 7.9 (OL7U9).

ParámetroValor
Hostnameoracle.homelab.local
IP192.168.2.10
Usuario SOora19c
Base de datosPRUEBAS
Usuario Oracle (aplicación)SYSBACKUP
ModoARCHIVELOG

🔹 Paso 1: Preparación del sistema operativo

1.1 Instalar Oracle Linux 7.9

  • Usar el ISO: OracleLinux-R7-U9-Server-x86_64-dvd.iso
  • Seleccionar Server with GUI
  • Particionado recomendado:
    • /u01 → mínimo 50 GB
    • Swap = 1.5x RAM (si tienes 8 GB RAM → 12 GB swap)

Particionado del sistema

1.2 Configuración de red

Identificar la interfaz de red activa:

ip -o link show | awk -F': ' '{print $2}' | grep -v lo

Configurar IP estática, gateway, DNS y desactivar IPv6:

sudo nmcli con mod eth0 ipv4.addresses 192.168.2.10/24 \
ipv4.gateway 192.168.2.1 \
ipv4.dns "8.8.8.8 8.8.4.4" \
ipv4.method manual \
ipv6.method ignore

Activar la conexión:

sudo nmcli con up eth0

Agregar entrada en /etc/hosts:

echo "192.168.2.10 oracle.homelab.local oracle" | sudo tee -a /etc/hosts

1.3 Seguridad

# Desactivar SELinux (para laboratorio)
sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

# Abrir puertos Oracle
sudo firewall-cmd --permanent --add-port=1521/tcp
sudo firewall-cmd --reload
Laboratorio

Para entornos de lab, se puede deshabilitar firewalld completamente:

systemctl stop firewalld && systemctl disable firewalld

1.4 Paquetes requeridos

En OL7.9 funciona el preinstall:

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

Si no, instalar manualmente:

sudo yum install -y bc binutils compat-libcap1 compat-libstdc++-33 \
elfutils-libelf elfutils-libelf-devel fontconfig-devel \
glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi \
libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++-devel \
libxcb make smartmontools sysstat

🔹 Paso 2: Crear usuario y grupos Oracle

sudo groupadd oinstall
sudo groupadd dba
sudo groupadd oper
sudo useradd -g oinstall -G dba,oper ora19c
echo "ora19c" | sudo passwd --stdin ora19c

🔹 Paso 3: Crear directorios

sudo mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1
sudo mkdir -p /u01/app/oraInventory
sudo chown -R ora19c:oinstall /u01
sudo chmod -R 775 /u01

🔹 Paso 4: Configurar variables de entorno (usuario ora19c)

Editar ~/.bash_profile del usuario ora19c y agregar:

# Oracle Environment Settings
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1
export ORACLE_SID=PRUEBA1
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

Aplicar:

source ~/.bash_profile

🔹 Paso 5: Instalar Oracle 19c

Copiar el instalador a /tmp, permisos y extraer:

chmod 777 LINUX.X64_193000_db_home.zip
chown ora19c:oinstall LINUX.X64_193000_db_home.zip
unzip /tmp/LINUX.X64_193000_db_home.zip -d $ORACLE_HOME

Ejecutar instalador en GUI:

cd $ORACLE_HOME
./runInstaller

Configuración del instalador:

  • Set Up Software Only
  • Tipo: Single Instance Database Installation
  • Edition: Standard Edition 2 (SE2)
  • Oracle base: /u01/app/oracle
  • Software location: /u01/app/oracle/product/19.3.0/dbhome_1
  • Inventory: /u01/app/oraInventory
  • oraInventory Group Name: oinstall

Configuración del instalador

Ejecutar scripts como root:

sudo /u01/app/oraInventory/orainstRoot.sh
sudo /u01/app/oracle/product/19.3.0/dbhome_1/root.sh

🔹 Paso 6: Crear la base de datos (DBCA en GUI)

dbca

Seguir el asistente: Database Operation → Create Database → Advanced configuration

Create Database

User Credentials — SYS / SYSTEM: T3CN0L0G14

Activar en Password Management el usuario SYSBACKUP con contraseña T3CN0L0G14.


🔹 Paso 7: Habilitar ARCHIVELOG

sqlplus / as sysdba
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
ARCHIVE LOG LIST;

Debe mostrar: Database log mode: Archive Mode


🔹 Paso 8: Verificar listener

lsnrctl status

Debe mostrar servicio PRUEBAS escuchando en 192.168.2.10:1521.


Información del servidor Oracle

ParámetroValor
Hostoracle.homelab.local
IP192.168.2.10
SIDPRUEBAS
ORACLE_HOME/u01/app/oracle/product/19.3.0/dbhome_1

Conexión a la base de datos

Usando SQL*Plus con listener:

# SYS (SYSDBA)
sqlplus sys/T3CN0L0G14@PRUEBAS as sysdba

# SYSTEM
sqlplus system/T3CN0L0G14@PRUEBAS

# SYSBACKUP
sqlplus SYSBACKUP/T3CN0L0G14@PRUEBA1 as sysbackup

Conexión local sin TNS:

sqlplus / as sysdba

Verificar el estado de SYSBACKUP

SELECT username, account_status, lock_date, expiry_date
FROM dba_users
WHERE username = 'SYSBACKUP';
ACCOUNT_STATUSSignificado
OPENUsuario activo
LOCKEDUsuario bloqueado
EXPIRED & LOCKEDContraseña expirada y usuario bloqueado
EXPIREDContraseña expirada

Habilitar o desbloquear SYSBACKUP:

ALTER USER SYSBACKUP IDENTIFIED BY TuContraseña VALID UNTIL UNLIMITED ACCOUNT UNLOCK;