Instalación Oracle Restart 19c (Oracle Grid Infrastructure) sobre Linux

En la siguiente entrada se explican los pasos a seguir para realizar una instalación de una infraestructura grid (Oracle Restart) versión 19c en un servidor único con sistema operativo Oracle Linux 7 o Red Hat Enterprise Linux.

Configuración sistema operativo

Antes de comenzar con el proceso de instalación de los binarios, debemos realizar una serie de configuraciones en el sistema operativo para adaptarlo a nuestra instalación. Las configuraciones a realizar se pueden encontrar en la documentación oficial de oracle 19c https://docs.oracle.com/en/database/oracle/oracle-database/19/cwlin/server-configuration-checklist-for-oracle-grid-infrastructure.html#GUID-A7E9141D-1AFC-4CBF-846B-CD579FCFD9C0

El primer paso que debemos realizar es la modificación del fichero /etc/hosts. En el fichero debemos introducir la IP y el “Fully Qualified Name” de la maquina donde vamos a realizar la instalación.

A continuación, debemos instalar los paquetes rpm necesarios para la infraestructura grid de Oracle. Se pueden instalar de forma automática llamando directamente al repositorio de Oracle o de forma individual paquete a paquete.

Instalación paquetes de forma automática

yum install -y https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

Instalación paquetes de forma manual

yum install -y bc
yum install -y binutils
yum install -y compat-libcap1
yum install -y compat-libstdc++-33
yum install -y dtrace-utils
yum install -y elfutils-libelf
yum install -y elfutils-libelf-devel
yum install -y fontconfig-devel
yum install -y glibc
yum install -y glibc-devel
yum install -y ksh
yum install -y libaio
yum install -y libaio-devel
yum install -y libdtrace-ctf-devel
yum install -y libXrender
yum install -y libXrender-devel
yum install -y libX11
yum install -y libXau
yum install -y libXi
yum install -y libXtst
yum install -y libgcc
yum install -y librdmacm-devel
yum install -y libstdc++
yum install -y libstdc++-devel
yum install -y libxcb
yum install -y make
yum install -y net-tools # Clusterware
yum install -y nfs-utils # ACFS
yum install -y python # ACFS
yum install -y python-configshell # ACFS
yum install -y python-rtslib # ACFS
yum install -y python-six # ACFS
yum install -y targetcli # ACFS
yum install -y smartmontools
yum install -y sysstat
yum install -y unixODBC

Parámetros Kernel

Configuramos los parámetros del Kernel modificando el fichero /etc/sysctl.conf o /etc/sysctl.d/98-oracle.conf

fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500

Aplicamos los cambios lanzando el siguiente comando:

/sbin/sysctl –p
/sbin/sysctl -p /etc/sysctl.d/98-oracle.conf

Límites de Usuario

Configuramos los límites de usuario modificando el fichero /etc/security/limits.conf e introducimos las siguientes líneas al final del fichero.

######################
# Limites Oracle 19c
######################
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 hard memlock 134217728
oracle soft memlock 134217728

Espacio en disco

El espacio necesario en disco es el siguiente:

SWAPSi la memoria RAM esta comprendida entre 4 y 16 GB, la SWAP sera igual al tamaño de la memoria RAM.
Si la memoria RAM es superior a 16 GB, la SWAP sera de 16 GB.
/tmpAl menos 1 GB libre en el filesystem /tmp
/u01Al menos 80 GB. En este FS irán los binarios de la infraestructura de GRID y RDBMS

Grupos y usuarios de sistema operativo

En este apartado creamos los grupos y usuario de sistema operativo necesarios para la instalación. En nuestro caso al no querer separación de roles, únicamente creamos el usuario “oracle”. Pero si queremos realizar la instalación con separación de roles, creamos el usuario “grid” para la instalación de los binarios correspondientes a la infraestructura de GRID y el usuario “oracle” para la instalación de los binarios del RDBMS.

##Creación 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

##Creación usuario:
useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,asmoper,asmadmin,racdba oracle

Permisos filesystem Oracle

Asignamos el usuario, grupo y permisos al filesystem /u01

chown -R oracle:oinstall /u01
chmod -R 775 /u01

Selinux y Firewall

Tanto el selinux como el firewall deben estar deshabilitados.

En el fichero /etc/selinux/config el parámetro “SELINUX” debe estar a disabled

SELINUX=disabled

Para deshabilitar el firewall, ejecutamos estos dos comandos:

systemctl stop firewalld
systemctl disable firewalld

Variables entorno

Ahora vamos a crear dos perfiles con las variables de entorno. Un perfil con las variables para acceder a los binarios de infraestructura de GRID y otro perfil con las variables para los binarios de RDBMS. Ambos perfiles se crearan en el “home” (/home/oracle/) del usuario “oracle”.

### profile_GI19
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/19.3.0/grid
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export ORACLE_SID=+ASM
echo ” “
echo “———————————————–“
echo ” “
echo ” Entorno Oracle Restart 19c “
echo ” “
echo “———————————————–“
echo ” “
##profile_RDBMS19
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/db_1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export GI_HOME=/u01/app/19.3.0/grid
export ORACLE_SID=XXXXX
echo ” “
echo “—————————————————————-“
echo ” “
echo ” Entorno RDBMS generico 19c con GI 19c “
echo ” “
echo “—————————————————————“
echo ” “

Instalación software Grid Infrastructure

Previo al proceso de instalación, se debe descargar el software de la página oficial de Oracle: https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html

Cargamos las variables de entorno con el fichero “profile_GI19” y descomprimimos el fichero descargado “LINUX.X64_193000_grid_home.zip” en la ruta /u01/app/19.3.0/grid

Una vez descomprimido ejecutamos el fichero “gridSetup.sh” y seguimos el proceso de instalación tal y como se muestra en las siguientes capturas de pantalla.

En la primera pantalla seleccionamos la opción “Configure Oracle Grid Infrastucture for a Standaone Server (Oracle Resart)

En esta pantalla, debemos elegir un nombre para el diskgroup de ASM y la ubicación del disco que lo compone. En nuestro caso, llamaremos al diskgroup “DG_DATA” con redundancia “externa” al ser un disco que proviene de una cabina de almacenamiento.

Si se desea configurar el ASM Filter Driver (AFD), se debe marcar la opción “configure Oracle ASM Filter Driver”

Ahora creamos las contraseñas de los usuarios SYS y ASMSNMP. En nuestro caso creamos los dos usuarios con la misma contraseña.

En la siguiente pantalla, nos da la opción de registrar nuestra instalación con un servidor de monitorización “Oracle Enterprise Manager Cloud Control”. Si se desea registrar nuestra infraestructura de GRID, marcando el “check” e introduciendo los datos que se piden. En nuestro caso no lo configuramos por lo que no marcamos la opción “Register with Enterprise Manager (EM) Cloud Control”

Ahora seleccionamos el nombre de los grupos de sistema operativo creados anteriormente.

Seleccionamos la ubicación del “ORACLE_BASE”, en nuestro caso sera /u01/app/oracle

Seleccionamos la ubicación del inventario Oracle, en nuestro caso sera /u01/app/oraInventory

Durante el proceso de instalación, ciertas configuraciones se realizan con el usuario administrador del sistema operativo “root”. En la siguiente pantalla nos da la opción de introducir las credenciales de “root” para que sea el propio software de instalación el que realice las configuraciones o también si nuestro usuario “oracle” tiene configurado el “sudo” podemos introducir las credenciales para que realice las configuraciones de forma automática. En nuestro caso, vamos a ejecutar manualmente las configuraciones por lo que no marcamos la opción “Automatically run configuration scripts”

En la siguiente pantalla se chequean todos los pre-requisitos necesarios para realizar la instalación. En el caso de detectar algún fallo, te indica cuales han fallado y como solucionarlo. En nuestro caso hemos pasado todos los chequeos correctamente y sin errores.

En la siguiente pantalla guardamos la configuración de la instalación en un fichero de respuesta. Esta opción es muy útil por si si van a realizar instalaciones desatendidas.

Pulsamos sobre el botón “Install” y comenzara el proceso de instalación

En la siguiente pantalla nos indica que tenemos que lanzar con el usuario “root” los siguientes scripts:

/u01/app/oraInventory/orainstRoot.sh
/u01/app/19.3.0/grid/root.sh
[root@pruovmoracle19]# /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@pruovmoracle19]#
[root@pruovmoracle19]# /u01/app/19.3.0/grid/root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/19.3.0/grid
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin …
Copying oraenv to /usr/local/bin …
Copying coraenv to /usr/local/bin …
Creating /etc/oratab file…
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /u01/app/19.3.0/grid/crs/install/crsconfig_params
The log of current session can be found at:
/u01/app/oracle/crsdata/pruovmoracle19/crsconfig/roothas_2020-03-04_12-45-08AM.log
LOCAL ADD MODE
Creating OCR keys for user ‘oracle’, privgrp ‘oinstall’..
Operation successful.
LOCAL ONLY MODE
Successfully accumulated necessary OCR keys.
Creating OCR keys for user ‘root’, privgrp ‘root’..
Operation successful.
CRS-4664: Node pruovmoracle19 successfully pinned.
2020/03/04 12:45:22 CLSRSC-330: Adding Clusterware entries to file ‘oracle-ohasd.service’
pruovmoracle19 2020/03/04 12:48:01 /u01/app/oracle/crsdata/pruovmoracle19/olr/backup_20200304_124801.olr 724960844
2020/03/04 12:48:01 CLSRSC-327: Successfully configured Oracle Restart for a standalone server
[root@pruovmoracle19]#

Una vez ejecutados los 2 scripts, el proceso de instalación continua y finaliza.

Instalación software RDBMS

Previo al proceso de instalación, se debe descargar el software de la página oficial de Oracle: https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html

Cargamos las variables de entorno con el fichero “profile_RDBMS19” y descomprimimos el fichero descargado “LINUX.X64_193000_db_home.zip” en la ruta /u01/app/oracle/product/19.3.0/db_1

Una vez descomprimido ejecutamos el fichero “runInstaller.sh” y seguimos el proceso de instalación tal y como se muestra en las siguientes capturas de pantalla.

Como solo vamos a instalar el software, sin crear base de datos, en la siguiente pantalla seleccionamos la opción “Set up Software Only”.

Seleccionamos el tipo de instalación para la base de datos, en nuestro caso elegimos la opción “Single instance database installation”.

Seleccionamos la edición de base de datos, en nuestro caso “Enterprise Edition”.

Introducimos la ubicación del ORACLE_BASE, en nuestro caso /u01/app/oracle

Seleccionamos los grupos

Tal y como se indica en el proceso de instalación de la infraestructura GRID, hay ciertas configuraciones que se realizan con el usuario administrador del sistema operativo “root”. En la siguiente pantalla nos da la opción de introducir las credenciales de “root” para que sea el propio software de instalación el que realice las configuraciones o también si nuestro usuario “oracle” tiene configurado el “sudo” podemos introducir las credenciales para que realice las configuraciones de forma automática. En nuestro caso, vamos a ejecutar manualmente las configuraciones por lo que no marcamos la opción “Automatically run configuration scripts”

En la siguiente pantalla se chequean los pre-requisitos necesarios para poder realizar la instalación de los binarios. En caso de fallar alguno, te muestra el que ha fallado y como solventarlo.

Nos guardamos un fichero de respuesta para realizar futuras instalaciones desatendidas.

Pulsamos sobre el botón “Install” y comenzara el proceso de instalación.

En la siguiente pantalla nos indica que tenemos que lanzar con el usuario “root” el siguiente script:

/u01/app/oracle/product/19.3.0/db_1/root.sh
[root@pruovmoracle19]# /u01/app/oracle/product/19.3.0/db_1/root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/19.3.0/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The contents of “dbhome” have not changed. No need to overwrite.
The contents of “oraenv” have not changed. No need to overwrite.
The contents of “coraenv” have not changed. No need to overwrite.
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Oracle Trace File Analyzer (TFA – Standalone Mode) is available at :
/u01/app/oracle/product/19.3.0/db_1/bin/tfactl
Note :
tfactl will use TFA Service if that service is running and user has been granted access
tfactl will configure TFA Standalone Mode only if user has no access to TFA Service or TFA is not installed
[root@pruovmoracle19]#

Una vez ejecutado el script finaliza la instalación.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s