Instalacion de Oracle 26ai – Oracle restart

Vamos a continuar con la instalacion de un Oracle26ai

En la anterior entrada vimos como teniamos que preparar un Oracle Linux 9.
Ahora veremos como instalar el Oracle Restart. Para no hacer la entrada muy larga, instalaremos solamente los binarios y en la siguiente configuraremos la capa de almacenamiento y crearemos el ASM.

Nosotros usaremos el paquete clásico LINUX.X64_2326100_grid_home.zip ya que instalar desde .rpm no tiene ninguna gracia.

Tras haer ejecutado esos pasos, nos conectaremos con nuestro usuario GRID y pondremos las variables de entorno en su fichero .bash_profile.

En muchos documentos hablan indistintamente e GI_HOME y GROD_HOME, con lo que nosotros nos ahorraremos el aburrimiento de ir poniéndolas siempre añadiéndolas directamente en nuestro bash_profile


export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/grid
export GI_HOME=$GRID_HOME
export ORACLE_HOME=$GRID_HOME
export ORACLE_SID=+ASM
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
umask 022
# Required for install and compile
export VUQDISK_GRP=oinstall
export CV_ASSUME_DISTID=OL8

Descomprimir binarios

Iremos a nuestro ORACLE_HOME y descomprimiremos los binarios:

cd $ORACLE_HOME
unzip /var/tmp/26ai/LINUX.X64_2326100_grid_home.zip

Descomprimir el utimo Opatch

Siempre usaremos la última versión de Opatch, como curiosidad, veremos como aun no le han cambiado el nombre de 23ai a 26 ai 😉

cd $ORACLE_HOME
rm -fR OPatch
unzip /var/tmp/26ai/p6880880_230000_LINUX.zip

Instalar el paquete cvuqdisk

Aunque pensábamos que todos los pasos requeridos como root ya estaban, exsiste algún paquete requerido que no es parte de la distribución sino del propio grid, por lo que solo lo tenemos cuando descargamos el software del grid, el paquete cvuqdisk puede encontrarse con un simple find, y lo instalaremos con el gestor de paquetes de red-hat dnf con el comando:

grid@gigabyte grid]$ find . -name *.rpm
./cv/remenv/cvuqdisk-1.0.10-1.rpm
./cv/rpm/cvuqdisk-1.0.10-1.rpm
sudo dnf install -y ./cv/rpm/cvuqdisk-1.0.10-1.rpm

Preparar un archivo de response

Ahora tendremos que preparar un archivo de respuesta con las configuraciones que queremos.
Esto va a ser mas sencillo y limpio que tener una linea de comandos enormes , para ello haremos una copia del gridsetup.rsp y modificaremos las lineasque vemos en el bloque de debajo:

cp ./install/response/gridsetup.rsp ./install/response/pamplona_dba.rsp


grid@gigabyte grid]$ diff ./install/response/gridsetup.rsp ./install/response/pamplona_dba.rsp

< INVENTORY_LOCATION= > INVENTORY_LOCATION=/u01/app/oraInventory
---
< installOption= > installOption=CRS_SWONLY
---
< ORACLE_BASE= > ORACLE_BASE=/u01/app/oracle
---
< OSDBA= > OSDBA=asmdba
---
< OSOPER= > OSOPER=asmoper
---
< OSASM= > OSASM=asmadmin
---
< configureAsExtendedCluster= > configureAsExtendedCluster=false
---
< executeRootScript= > executeRootScript=false

Una vez tenemos nuestro fichero, podríamos proceder a la instalacion

Nota Desde Cafe database nos dieron un consejo muy interesante, y es que podemos usar la utilidad de verificación de cluster para asegurarnos que todos los prerrequisitos de nuestro GRID se cumplen, para ello ejecutaríamos:

/runcluvfy.sh stage -pre crsinst -n `hostname -s`

INstalacion

Y llegamos al momento de la verdad, donde haríamos la Instalacion como usuario gridcon el comando

cd $ORACLE_HOME
./gridSetup.sh -silent -responseFile ./install/response/pamplona_dba.rsp

Nota En el momento de hacer este documento no exsiste ningun parche adicional que aplicar, en el caso de que hubiese disponible algun RU, deberiamos de descargarlo y ejecutar como usuario grid

cd $ORACLE_HOME
./gridSetup.sh -silent  -applyRU /var/tmp/[NUMERO_RU_DESCOMPRIMIDO] -responseFile ./install/response/pamplona_dba.rsp

Esto nos dará una salida similar a:

-----------------------------------------------
[WARNING] [INS-13014] Target environment does not meet some optional requirements.
   CAUSE: Some of the optional prerequisites are not met. See logs for details. gridSetupActions2026-01-25_06-23-45PM.log.
   ACTION: Identify the list of failed prerequisite checks from the log: gridSetupActions2026-01-25_06-23-45PM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
The response file for this session can be found at:
 /u01/app/grid/install/response/grid_2026-01-25_06-23-45PM.rsp

You can find the log of this install session at:
 /tmp/GridSetupActions2026-01-25_06-23-45PM/gridSetupActions2026-01-25_06-23-45PM.log

As a root user, run the following script(s):
	1. /u01/app/oraInventory/orainstRoot.sh
	2. /u01/app/grid/root.sh

Run /u01/app/oraInventory/orainstRoot.sh on the following nodes:
[gigabyte]
Run /u01/app/grid/root.sh on the following nodes:
[gigabyte]


Successfully Setup Software with warning(s).
Moved the install session logs to:
 /u01/app/oraInventory/logs/GridSetupActions2026-01-25_06-23-45PM

Ejecucion de comandos como root

Vamos pues a ejecutarlos comandos de root

[root@gigabyte u01]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@gigabyte u01]# /u01/app/grid/root.sh
Check /u01/app/grid/install/root_gigabyte.pamplona.name_2026-01-25_18-31-43-054623113.log for the output of root script

Con lo que ya tenemos los binarios listos !!

Siguiente paso en:

Instalacion oracle 26ai -Preparacion del servidor

Ya esta disponible la version on-prem de oracle26ai, con lo que en esta entrada vamos a ver de manera sencilla los pasos para su instalacion.

Paqueteria

Vamos a partir de una OEL9 con la instalacion mínima, por lo que , tendremos que instalar algunos paquetes de comodities que nos facilitaran el trabajo, como son:

  • binutils c
  • 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
  • libxcb
  • make
  • smartmontools
  • sysstat
  • net-tools
  • nfs-utils
  • python3
  • python3-configshell
  • python3-rtslib
  • python3-six
  • targetcli
  • bc
  • tmux
  • parted
  • tcpdump
  • zip
  • unzip
  • xterm
  • lsof
  • lsscsi

Esto lo haremos con el comando

dnf install -y binutils 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 libxcb make \
smartmontools sysstat net-tools nfs-utils python3 python3-configshell \
python3-rtslib python3-six targetcli bc compat-openssl11 tmux \
parted tcpdump zip unzip xterm lsof lsscsi \

Definicion de limites

Editaremos el fichero /etc/security/limits.d/30-oracle.conf añadiendo el contenido:

grid     soft   nofile   1024
grid     hard   nofile   65536

grid     soft   nproc    16384
grid     hard   nproc    16384

grid     soft   stack    10240
grid     hard   stack    32768

grid     soft   memlock  134217728
grid     hard   memlock  134217728

oracle     soft   nofile   1024
oracle     hard   nofile   65536

oracle     soft   nproc    16384
oracle     hard   nproc    16384

oracle     soft   stack    10240
oracle     hard   stack    32768

oracle     soft   memlock  134217728
oracle     hard   memlock  134217728

Configuration de red

Hay qequeños ajustes de red que deben de hacerse, si el sistema no esta propiamente registrado en un dns, deberemos de añadir la entrada en el fichero /etc/hosts por ejemplo

192.168.1.149 gigabyte.pamplona.name gigabyte

Ademas de esto, deberemos de poner en el fichero /etc/sysconfig/network el contenido

NOZEROCONF=yes

Y reniniciar el subsistema de red con el comando systemctl restart NetworkManager

Configuración de Huge Pages

Deberemos de meterle mano al GRUB para añadir la line transparent_hugepage=madvise
Editaremos el fichero /etc/default/grub

y donde ponía
GRUB_CMDLINE_LINUX=»resume=UUID=7691cd59-d957-4d6f-8d2b-e6825eea5403″
Lo modificaremos por
GRUB_CMDLINE_LINUX=»resume=UUID=7691cd59-d957-4d6f-8d2b-e6825eea5403 transparent_hugepage=madvise»
Y regeneraremos el grub con el comando grub2-mkconfig -o /boot/grub2/grub.cfg –update-bls-cmdline
Tras esto reiniciaremos el server.

Una vez reiniciado,comprobaremos que está así mirando el fichero /sys/kernel/mm/transparent_hugepage/enabled

[root@gigabyte ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always [madvise] never

Por que aparece ese valor y no always
Es el modo en el que Transparent HugePages se activan solo cuando un proceso lo solicita explícitamente, evitando los problemas de rendimiento que genera THP siempre activo (“always”) en bases de datos.

Creacion de usuarios y grupos

En primer lugar, como siempre tendremos que crear la estructura de usuarios y grupos que soportara la instalacion

# Crear grupos
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

# Usuario grid (Grid Infrastructure + ASM)
useradd -u 54331 -g oinstall -G dba,asmadmin,asmdba,asmoper,racdba grid
passwd grid

# Usuario oracle (Base de datos)
useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,asmoper,asmadmin,racdba oracle
passwd oracle

Creacion de arbol de directirios

Una vez tenemos los usuarios, creareos el arbol de directorios donde queremos instalar el grid.
En nuestro caso sera

  • /u01/app/grid Para el GRID
  • /u01/app/oracle/product/26ai/dbhome_1 Para el motor de bases de datos
  • /u01/app/oracle será nuestro ORACLE_BASE

# 3. Directorios OFA compartidos
mkdir -p /u01/app
mkdir -p /u01/app/oraInventory # Ubicacion del inventory de la base de datos
mkdir -p /u01/app/oracle # ORACLE_BASE compartido
mkdir -p /u01/app/oracle/product/26ai/dbhome_1 # Home de la primera base dedatos
mkdir -p /u01/app/grid # GRID_HOME

# 4. Permisos
chown -R oracle:oinstall /u01/app
chown -R grid:oinstall /u01/app/grid
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app

Con estos sencillos pasos,deberíamos de tener el servidor configurado para proceder a la instalacion , que podremos ver en las entradas