Instalar Oracle RAC en Solución Bare Metal
En esta página se explica cómo instalar Oracle Real Application Clusters (RAC) en tu servidor de Bare Metal Solution.
Implementación
En esta guía, creamos una implementación que incluye Oracle RAC 19c instalado en un servidor de Solución Bare Metal. Creamos un RAC de dos nodos con una base de datos.
Antes de empezar
- Asegúrate de aprovisionar la infraestructura necesaria para RAC. Esto incluye dos nodos, almacenamiento compartido y volúmenes dedicados para alojar el directorio de Oracle Home.
- En esta guía, usamos el proceso de instalación de la interfaz gráfica de usuario. Si también quieres usar el proceso de instalación de la GUI, configura Virtual Network Computing (VNC) en uno de los nodos siguiendo la guía de configuración de VNC de Oracle.
- Crea un punto de montaje local
/apps
para alojar los directorios de Oracle Home y Grid Home.
Instalar RAC
Para instalar RAC en la solución Bare Metal, debes seguir estos pasos:
- Prepara los nodos para la instalación de RAC.
- Configura Oracle ASM.
- Realiza comprobaciones previas a la instalación.
- Instala Oracle RAC.
- Realiza los pasos posteriores a la instalación.
Preparar los nodos para la instalación de RAC
Sigue estos pasos en ambos nodos, a menos que se indique lo contrario:
Actualiza el archivo
/etc/hosts
con las siguientes direcciones IP de RAC:- Direcciones IP públicas
- Direcciones IP privadas
- Direcciones IP virtuales
- Direcciones IP virtuales de SCAN
A continuación, se muestra un ejemplo del archivo
/etc/hosts
modificado:10.*.*.* bms-jumphost # public IP addresses for Oracle RAC 192.*.*.* at-2811641-svr001 at-2811641-svr001.localdomain 192.*.*.* at-2811641-svr002 at-2811641-svr002.localdomain # private IP addresses for Oracle RAC 172.*.*.* at-2811641-svr001-priv at-2811641-svr001-priv.localdomain 172.*.*.* at-2811641-svr002-priv at-2811641-svr002-priv.localdomain # virtual IP addresses for Oracle RAC 192.*.*.* at-2811641-svr001-vip at-2811641-svr001-vip.localdomain 192.*.*.* at-2811641-svr002-vip at-2811641-svr001-vip.localdomain # SCAN virtual IP addresses for Oracle RAC 192.*.*.* psoracle-scan psoracle-scan.localdomain 192.*.*.* psoracle-scann psoracle-scan.localdomain 192.*.*.* psoracle-scan psoracle-scan.localdomain
Realiza la resolución de DNS para las direcciones IP virtuales y las direcciones IP virtuales de SCAN.
Usamos Cloud DNS para resolver direcciones IP virtuales y direcciones IP virtuales de SCAN. Para obtener instrucciones, consulta Configurar SCAN con Cloud DNS.
Actualiza el archivo
/etc/sysctl.conf
con los parámetros del kernel.vi /etc/sysctl.conf # Added for Oracle 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
Aplica las actualizaciones de los parámetros del kernel.
/sbin/sysctl -p
En el archivo
/etc/security/limits.conf
, añade los límites de recursos.vi /etc/security/limits.conf ## Added for Oracle grid soft nofile 1024 grid hard nofile 65536 grid soft nproc 2047 grid hard nproc 16384 grid soft stack 10240 grid hard stack 32768 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft stack 10240 oracle hard stack 32768
Añade los usuarios y grupos necesarios.
groupadd -g 54321 oinstall groupadd -g 54322 dba groupadd -g 54323 oper groupadd -g 54327 asmdba groupadd -g 54328 asmoper groupadd -g 54329 asmadmin useradd -u 54321 -g oinstall -G dba,oper,asmdba,asmoper,asmadmin,oracle
Instala el paquete de preinstalación de Oracle.
En esta guía se da por hecho que has configurado el repositorio de Oracle.
yum install oracle-database-preinstall-19c
El paquete
oracle-database-preinstall-19c
instala los paquetes necesarios y crea el usuariooracle
y una entrada en el archivo/etc/sysctl.conf
.Cambia la contraseña del usuario
oracle
.passwd oracle
Instala los siguientes paquetes para Oracle ASM:
oracleasm-support
kmod-oracleasm
yum install oracleasm-support yum install kmod-oracleasm
Inhabilita
SELinux
actualizando el archivo/etc/selinux/config
.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=disabled # SELINUXTYPE= can take one of three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
Detén e inhabilita el cortafuegos.
systemctl stop firewalld.service systemctl disable firewalld
Configura NTP.
Instala el paquete NTP.
yum install ntp
Inicia el servicio
ntpd
.systemctl start ntpd
Actualiza el archivo
/etc/ntp.conf
.En este caso, nos sincronizamos con nuestro host bastion, que es
10.x.x.x
. También puede ser tu servidor NTP interno.192.x.x.x
es la dirección IP de tu servidor de Solución Bare Metal.vi /etv/ntp.conf restrict 192.x.x.x mask 255.255.255.0 nomodify notrap server 10.x.x.x prefer
Actualiza el servidor NTP para iniciar la sincronización.
ntpdate -qu SERVER_NAME
Si
avahi-daemon
está en ejecución, deténlo e inhabilítalo.systemctl status avahi-daemon ● avahi-daemon.service - Avahi mDNS/DNS-SD Stack Loaded: loaded (/usr/lib/systemd/system/avahi-daemon.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2021-08-09 07:51:26 UTC; 23h ago Main PID: 2543 (avahi-daemon) Status: "avahi-daemon 0.6.31 starting up." Tasks: 2 CGroup: /system.slice/avahi-daemon.service ├─2543 avahi-daemon: running [at-2811641-svr001.local] └─2546 avahi-daemon: chroot helper systemctl stop avahi-daemon Warning: Stopping avahi-daemon.service, but it can still be activated by: avahi-daemon.socket [root@at-2811641-svr001 ~]# systemctl disable avahi-daemon Removed symlink /etc/systemd/system/multi-user.target.wants/avahi-daemon.service. Removed symlink /etc/systemd/system/sockets.target.wants/avahi-daemon.socket. Removed symlink /etc/systemd/system/dbus-org.freedesktop.Avahi.service. systemctl status avahi-daemon ● avahi-daemon.service - Avahi mDNS/DNS-SD Stack Loaded: loaded (/usr/lib/systemd/system/avahi-daemon.service; disabled; vendor preset: enabled) Active: inactive (dead) since Tue 2021-08-10 07:16:28 UTC; 36s ago Main PID: 2543 (code=exited, status=0/SUCCESS)
Crea los directorios de Oracle Home y Grid Home.
mkdir -p /apps/grid/19.3.0/gridhome_1 mkdir -p /apps/grid/gridbase/ mkdir -p /apps/oracle/product/19.3.0/dbhome_1 chmod -R 775 /apps/ chown -R oracle:oinstall /apps/
En el primer nodo, haz lo siguiente:
- Descarga los archivos de imagen de Oracle Grid Infrastructure.
- Como usuario de
Oracle
, copia los archivos descargados en el directorio principal de Grid. - Como usuario
Oracle
, extrae los archivos de imagen de Oracle Grid Infrastructure.
cp LINUX.X64_193000_grid_home.zip /apps/grid/19.3.0/gridhome_1/ cd /apps/grid/19.3.0/gridhome_1/ unzip LINUX.X64_193000_grid_home.zip
En cualquiera de los nodos, configura SSH sin contraseña para el usuario de Oracle.
cd /apps/grid/19.3.0/gridhome_1/deinstall ./sshUserSetup.sh -user oracle -hosts "at-2811641-svr001 at-2811641-svr002" -noPromptPassphrase -confirm -advanced
En cualquiera de los nodos, como usuario root, instala el paquete RPM
cvuqdisk
desde el directorio principal de Grid.rpm -qa cvuqdisk cd /apps/grid/19.3.0/gridhome_1/cv/rpm/ rpm -iv cvuqdisk-1.0.10-1.rpm Preparing packages... Using default group oinstall to install package cvuqdisk-1.0.10-1.x86_64 rpm -qa cvuqdisk cvuqdisk-1.0.10-1.x86_64
Configurar Oracle ASM
Para configurar Oracle ASM, sigue estos pasos como usuario root:
En cualquiera de los nodos, identifica todos los LUNs compartidos que vas a usar para Oracle ASM.
multipath -ll
En cualquiera de los nodos, crea particiones en todos los dispositivos compartidos con
fdisk
ogdisk
.fdisk /dev/mapper/DISK_WWID
Haz los cambios siguientes:
- DISK_WWID: WWID del disco.
A continuación, se muestra un ejemplo de resultado:
fdisk /dev/mapper/3600a098038314343753f4f723154594e Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0xf7f8fd23. The device presents a logical sector size that is smaller than the physical sector size. Aligning to a physical sector (or optimal I/O) size boundary is recommended, or performance may be impacted. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): First sector (2048-2147518463, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-2147518463, default 2147518463): Using default value 2147518463 Partition 1 of type Linux and of size 1 TiB is set Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 22: Invalid argument. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks. fdisk -l /dev/mapper/3600a098038314343753f4f723154594e Disk /dev/mapper/3600a098038314343753f4f723154594e: 1099.5 GB, 1099529453568 bytes,2147518464 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 65536 bytes Disk label type: dos Disk identifier: 0xf7f8fd23 Device Boot Start End Blocks Id System /dev/mapper/3600a098038314343753f4f723154594e1 2048 2147518463 1073758208 83 Linux
Ejecuta
partprobe
para que se muestren todas las particiones nuevas.partprobe
En ambos nodos, configura Oracle ASM.
oracleasm configure -i Configuring the Oracle ASM library driver. This will configure the on-boot properties of the Oracle ASM library driver. The following questions will determine whether the driver is loaded on boot and what permissions it will have. The current values will be shown in brackets ('[]'). Hitting <ENTER> without typing an answer will keep that current value. Ctrl-C will abort. Default user to own the driver interface []: oracle Default group to own the driver interface []: oinstall Start Oracle ASM library driver on boot (y/n) [n]: y Scan for Oracle ASM disks on boot (y/n) [y]: y Writing Oracle ASM library driver configuration: done
En ambos nodos, asigna el valor
dm
al parámetroORACLEASM_SCANORDER
y el valorsd
al parámetroORACLEASM_SCANEXCLUDE
, ya que los servidores de Bare Metal Solution usan dispositivos de multipath.vi /etc/sysconfig/oracleasm ORACLEASM_SCANORDER="dm" ORACLEASM_SCANEXCLUDE="sd"
En ambos nodos, verifica la configuración de Oracle ASM.
oracleasm configure ORACLEASM_ENABLED=true ORACLEASM_UID=oracle ORACLEASM_GID=oinstall ORACLEASM_SCANBOOT=true ORACLEASM_SCANORDER="dm" ORACLEASM_SCANEXCLUDE="sd" ORACLEASM_SCAN_DIRECTORIES="" ORACLEASM_USE_LOGICAL_BLOCK_SIZE="false"
En ambos nodos, inicia
oracleasm
.oracleasm init Creating /dev/oracleasm mount point: /dev/oracleasm Loading module "oracleasm": oracleasm Configuring "oracleasm" to use device physical block size Mounting ASMlib driver filesystem: /dev/oracleasm
En ambos nodos, comprueba el estado de
oracleasm
.oracleasm status Checking if ASM is loaded: yes Checking if /dev/oracleasm is mounted: yes
En cualquiera de los nodos, crea discos Oracle ASM en los dispositivos particionados de multipath.
oracleasm createdisk OCR /dev/mapper/DISK_WWID
Haz los cambios siguientes:
- DISK_WWID: WWID del disco.
A continuación, se muestra un ejemplo de resultado:
oracleasm createdisk OCR /dev/mapper/3600a098038314343753f4f723154594e1 Writing disk header: done Instantiating disk: done
En el primer nodo, enumera los nombres de los discos.
oracleasm listdisks
A continuación, se muestra un ejemplo de resultado:
DATA01 DATA02 DATA03 DATA04 DATA05 DATA06 FRA01 FRA02 FRA03 OCR
En el segundo nodo, enumera los discos que se han marcado como discos ASMLIB en el primer nodo.
oracleasm scandisks
A continuación, se muestra un ejemplo de resultado:
Reloading disk partitions: done Cleaning any stale ASM disks... Scanning system for ASM disks... Instantiating disk "DATA01" Instantiating disk "DATA06" Instantiating disk "DATA04" Instantiating disk "OCR" Instantiating disk "DATA05" Instantiating disk "FRA01" Instantiating disk "DATA03" Instantiating disk "FRA03" Instantiating disk "FRA02" Instantiating disk "DATA02"
En el segundo nodo, enumera los nombres de los discos.
oracleasm listdisks
A continuación, se muestra un ejemplo de resultado:
oracleasm listdisks DATA01 DATA02 DATA03 DATA04 DATA05 DATA06 FRA01 FRA02 FRA03 OCR
Si los discos no aparecen en el segundo nodo después de analizar, ejecuta el comando
partprobe
para que las particiones sean visibles.
Realizar comprobaciones previas a la instalación
Comprueba que se cumplen todos los requisitos previos para la instalación de Oracle Grid Infrastructure. En el primer nodo, ejecuta la secuencia de comandos runcluvfy.sh
.
./runcluvfy.sh stage -pre crsinst -n at-2811641-svr001,at-2811641-svr002 -verbose
Si no se cumple alguno de los requisitos previos, corrígelo antes de continuar con la instalación.
Instalar Oracle RAC
En el primer nodo en el que hayas descargado y extraído los archivos de imagen de Oracle Grid Infrastructure, sigue estos pasos:
- Conéctate a tu servidor de Solución Bare Metal a través de VNC Viewer.
- Ejecuta la secuencia de comandos
gridSetup.sh
. - En la página Select configuration option (Seleccionar opción de configuración), selecciona Oracle Grid Infrastructure for a new cluster (Oracle Grid Infrastructure para un clúster nuevo) y, a continuación, haz clic en Next (Siguiente).
- En la página Select cluster configuration (Seleccionar configuración de clúster), selecciona Configure an Oracle standalone cluster (Configurar un clúster independiente de Oracle) y, a continuación, haz clic en Next (Siguiente).
En la página Información de Grid Plug and Play, haz lo siguiente:
- Selecciona Crear SCAN local.
- Escribe el nombre del clúster. Asegúrate de que tenga menos de 15 caracteres.
- Introduce un nombre de SCAN.
- Introduce un puerto SCAN.
- Haz clic en Siguiente.
Para añadir el segundo nodo, haz clic en Añadir y sigue estos pasos:
- Introduce el nombre de host público del segundo nodo.
- Introduce el nombre de host virtual del segundo nodo.
- Haz clic en Aceptar.
En la página Especificar el uso de la interfaz de red, haz lo siguiente:
- En la columna Usar para de cada interfaz, seleccione el tipo de uso. En la interfaz privada, selecciona ASM & Private (ASM y privada).
- Haz clic en Siguiente.
En la página Storage option information (Información de la opción de almacenamiento), seleccione Oracle Flex ASM for storage (Oracle Flex ASM para almacenamiento) para almacenar los archivos OCR y los archivos de disco de voto en Oracle ASM y, a continuación, haga clic en Next (Siguiente).
En Create Grid Infrastructure Management Repository (Crear repositorio de gestión de infraestructura de Grid), seleccione Yes (Sí) y, a continuación, haga clic en Next (Siguiente).
Con este paso se crea el repositorio de gestión de infraestructura de Grid (GIMR).
En la página Grid Infrastructure Management Repository option (Opción de repositorio de gestión de infraestructura de Grid), seleccione No, ya que no queremos crear un grupo de discos independiente para GIMR.
En la página Crear grupo de discos ASM, haga lo siguiente:
- Escribe el nombre del grupo de discos.
Haga clic en Cambiar ruta de descubrimiento e introduzca la ruta de descubrimiento correcta a los discos de Oracle ASM.
Asegúrate de que los dispositivos estén asignados a multipath para que los discos de Oracle ASM sigan funcionando aunque una de las rutas deje de funcionar.
En la página Specify ASM password (Especificar contraseña de ASM), haz lo siguiente:
- Selecciona Usar las mismas contraseñas en estas cuentas.
- Introduce y confirma la contraseña.
- Haz clic en Siguiente.
En la página Failure isolation support (Compatibilidad con el aislamiento de errores), seleccione Do not use Intelligent Platform Management Interface (IPMI) (No usar la interfaz de gestión de plataforma inteligente) y haga clic en Next (Siguiente).
En la página Specify management options (Especificar opciones de gestión), haga clic en Next (Siguiente), ya que no vamos a configurar Oracle Grid Infrastructure con Oracle Enterprise Manager.
En la página Grupos de sistemas operativos con privilegios, haz lo siguiente:
- Para todos los privilegios de Oracle ASM, selecciona oinstall. También puedes usar asmdba y asmoper.
- Haz clic en Siguiente.
En la página Specify installation location (Especificar ubicación de instalación), especifica la base de datos de Oracle y haz clic en Next (Siguiente).
Las secuencias de comandos raíz se pueden ejecutar automáticamente si tienes la contraseña raíz o si el usuario
oracle
tiene privilegios de superusuario. Sin embargo, en esta guía, ejecutamos las secuencias de comandos manualmente. Por lo tanto, en la página Ejecución de la secuencia de comandos raíz, haz clic en Siguiente.En la página Realizar comprobaciones de requisitos, haz lo siguiente:
Corrige los errores que se muestren.
Si has corregido todos los errores que has encontrado al ejecutar la secuencia de comandos
runcluvfy.sh
, tal como se describe en la sección Realizar comprobaciones previas a la instalación, puedes esperar una instalación limpia.Una vez que hayas corregido los errores, haz clic en Volver a comprobar para actualizar el estado de los errores a Correcto.
Haz clic en Siguiente.
Revisa el resumen y haz clic en Instalar.
En la petición de instalación se te pedirá que ejecutes las secuencias de comandos raíz en ambos nodos. Primero, ejecute las secuencias de comandos en el primer nodo y, después, en el segundo.
/apps/grid/oraInventory/orainstRoot.sh /apps/grid/19.3.0/gridhome_11/grid/root.sh
Cuando aparezca la ventana Finalizar, haz clic en Cerrar.
Realizar los pasos posteriores a la instalación
Una vez que se haya completado la instalación de Oracle Grid Infrastructure, sigue estos pasos:
Instala y configura el software de la base de datos de Oracle.
Para la instalación de RAC, elige la opción de instalación Solo software.
Para obtener instrucciones sobre cómo instalar el software de la base de datos de Oracle, consulta el blog: Step by step installing And configuring Oracle 19c Binaries for RAC database (Instalación y configuración paso a paso de los archivos binarios de Oracle 19c para la base de datos RAC).
Crea grupos de discos de Oracle ASM.
Crea una entrada para la instancia de Oracle ASM en el archivo
/etc/oratab
.vi /etc/oratab +ASM1:/apps/grid/19.3.0/gridhome_1:N
Defina las variables
ORACLE_SID
yORACLE_HOME
de la instancia de Oracle ASM y conéctese a ella.. oraenv ORACLE_SID = [oracle] ? +ASM1 The Oracle base has been set to /apps/grid/gridbase sqlplus / as sysasm SQL> select INSTANCE_NAME,STATUS from v$instance; INSTANCE_NAME STATUS ---------------- ------------ +ASM1 STARTED
Comprueba que los discos que se van a añadir tengan un
HEADER_STATUS
dePROVISIONED
.SQL> select HEADER_STATUS,STATE,TOTAL_MB/1024,path from v$asm_disk; HEADER_STATUS. STATE PATH ------------ -------- ------------- ------------------------- PROVISIONED NORMAL /dev/oracleasm/disks/DAT01 PROVISIONED NORMAL /dev/oracleasm/disks/DATA02 MEMBER NORMAL /dev/oracleasm/disks/OCR
Crea el grupo de discos desde un nodo.
SQL> create diskgroup DATA external redundancy disk '/dev/oracleasm/disks/DATA01','/dev/oracleasm/disks/DATA02'; Diskgroup created. SQL> select name, state, type from v$asm_diskgroup; NAME STATE TYPE ------------------------------ OCR MOUNTED EXTERN DATA MOUNTED EXTERN
En el otro nodo, inicia sesión en la instancia de Oracle ASM y monta el grupo de discos.
SQL> select name, state, type from v$asm_diskgroup; NAME STATE TYPE -------------------- ----------- ------ DATA DISMOUNTED OCR MOUNTED EXTERN SQL> alter diskgroup DATA mount; Diskgroup altered. SQL> select name, state, type from v$asm_diskgroup; NAME STATE TYPE ------------------------------ ----------- ------ OCR MOUNTED EXTERN DATA MOUNTED EXTERN
Crea una base de datos RAC con Oracle Database Configuration Assistant (DBCA).
Asegúrese de elegir Tipo de base de datos como Base de datos de clúster de aplicaciones reales.
Para obtener instrucciones, consulta la documentación de Oracle.
La instalación de la base de datos RAC se ha completado y ya se puede usar.