Introducción
Este guion automatiza el despliegue de una base de datos Oracle 11g Release 2 en un servidor con AlmaLinux 8.10, ejecutándose en modo standalone sin necesidad de intervención manual. El procedimiento ilustrado corresponde a la versión del 17 de octubre de 2023.
El script necesario se denomina OracleShellInstall.
Preparación del entorno
- Instalar el sistema operativo. Se recomienda incluir un entorno gráfico.
- Configurar la conectividad de red del host.
- Montar una imagen ISO local como repositorio de software.
- Transferir los archivos de instalación de Oracle (incluyendo parches) al servidor.
- Copiar el script de instalación automatizada (
OracleShellInstall) al directorio de trabajo.
Configuración del sistema
A continuación se detalla la enformación del servidor utilizado en esta demostración.
# Versión del sistema operativo
cat /etc/os-release | grep -E '^(NAME|VERSION)='
NAME="AlmaLinux"
VERSION="8.10 (Cerulean Leopard)"
# Interfaces de red y direcciones IP
ip -brief address
ens192 UP 192.168.88.72/24
# Punto de montaje del repositorio local
mount | grep '/mnt'
/dev/sr0 on /mnt type iso9660 (ro,relatime)
# Contenido del directorio de instalación '/soft'
ls -lh /soft/
total 2.4G
-rwxr--r--. 1 root root 206K OracleShellInstall
-rw-r--r--. 1 root root 1.3G p13390677_112040_Linux-x86-64_1of7.zip
-rw-r--r--. 1 root root 1.1G p13390677_112040_Linux-x86-64_2of7.zip
-rw-r--r--. 1 root root 315K rlwrap-0.44.tar.gz
Ejecución del script de instalación
Una vez verificados todos los prerequisitos, se procede a invocar el script con los parámetros específicos del entorno de producción.
# Ejecución desde el directorio /soft con parámetros de instalación estándar
cd /soft && ./OracleShellInstall \
--ifname ens192 \
--hostname AlmaLinux-oracle \
--oracle_pass oracle \
--base_dir /u01 \
--data_dir /oradata \
--db_name oradb \
--sys_pass oracle \
--db_char ZHS16GBK \
--nchar AL16UTF16 \
--redo_size 100 \
--psu 35574075 \
--ojvm_psu 35685663 \
--optimize_db Y
Proceso de instalación
El script ejecuta de forma secuencial múltiples etapas de configuración. A continuación, un extracto del flujo de operaciones registrado durante la ejecución:
Seleccione el modo de instalación [single(si)/rac(rac)] : si
Modo de base de datos seleccionado: single
Seleccione la versión de Oracle [11/12/19/21] : 11
Versión objetivo: 11
Aviso: El sistema operativo actual (AlmaLinux 8.10) no se encuentra en la lista oficial de soporte de Oracle. ¿Desea continuar? (Y/N): [Y] y
Iniciando instalación automatizada. Consulte el log para detalles: /soft/oracle_install_*.log
[Deshabilitando complejidad de contraseñas...] OK
[Configurando repositorio YUM...] OK
[Analizando configuración del sistema...] OK
[Configurando espacio de swap...] OK
[Configurando firewall...] OK
[Configurando SELinux...] OK
[Configurando parámetros del kernel...] OK
[Instalando paquetes de dependencia...] OK
[Configurando hostname e hosts...] OK
[Creando usuario y grupos Oracle...] OK
[Creando estructura de directorios...] OK
[Configurando Transparent Huge Pages y NUMA...] OK
[Configurando límites de recursos...] OK
[Instalando rlwrap...] OK
[Configurando variables de entorno...] OK
[Descomprimiendo binarios y parches...] OK
[Instalando software de Oracle y aplicando parches...] OK
[Creando Listener...] OK
[Creando base de datos...] OK
[Aplicando optimizaciones...] OK
¡Instalación completada con éxito! (Duración total: 326 segundos)
Reiniciar el servidor ahora [Y/N]: Y
Verificación de la instalación
Tras el reinicio del servidor, se procede a validar el entorno instalado.
# Verificación de la versión de SQL*Plus y parches aplicados
sqlplus -v
SQL*Plus: Release 11.2.0.4.0 Production
opatch lspatches
35685663;OJVM PATCH SET UPDATE 11.2.0.4.231017
35574075;Database Patch Set Update : 11.2.0.4.231017 (35574075)
# Conexión y consulta básica a la base de datos
sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production
Conectado a:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> SELECT instance_name, status FROM v$instance;
INSTANCE_NAME STATUS
---------------- ------------
oradb OPEN
SQL> SHOW PARAMETER db_name;
NAME TYPE VALUE
-------------------- ----------- ------------------------------
db_name string oradb
La conecitvidad y el funcionamiento básico de la base de datos han sido confirmados.