Instala Oracle RAC en la solución Bare Metal
En esta página, se muestra cómo instalar Oracle Real Application Clusters (RAC) en tu servidor de la solución Bare Metal.
Implementación
En esta guía, creamos una implementación que incluye Oracle RAC 19c instalado en un servidor de la solución Bare Metal. Creamos un RAC de dos nodos con una base de datos.
Antes de comenzar
- Asegúrate de aprovisionar la infraestructura necesaria para la AC. Esto incluye dos nodos, almacenamiento compartido y volúmenes dedicados para alquilar el directorio principal de Oracle.
- En esta guía, usaremos el proceso de instalación de la GUI. Si tú también quieres usar el proceso de instalación de la GUI, configura la Computación Virtual en Red (VNC) en uno de los nodos siguiendo la guía de configuración de VNC de Oracle.
- Crea un punto de activación local
/apps
para alojar los directorios de inicio de Oracle y Grid.
Instala RAC
La instalación de RAC en la solución Bare Metal implica los siguientes pasos:
- Prepara los nodos para la instalación de RAC.
- Configura Oracle ASM.
- Realiza verificaciones previas a la instalación.
- Instala Oracle RAC.
- Realiza los pasos posteriores a la instalación.
Prepara los nodos para la instalación de RAC
Sigue los siguientes pasos en ambos nodos, a menos que se especifique lo contrario:
Actualiza el archivo
/etc/hosts
con las siguientes direcciones IP para RAC:- Direcciones IP públicas
- Direcciones IP privadas
- Direcciones IP virtuales
- SCAN de direcciones IP virtuales
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 SCAN direcciones IP virtuales. Si deseas obtener instrucciones, consulta Configura 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
, agrega 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
Agrega 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 sentado que configuraste 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
.Restablece 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
Para inhabilitar
SELinux
, actualiza 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 y deshabilita el firewall.
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, sincronizamos con nuestro host de bastión, 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 la 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 comenzar la sincronización.
ntpdate -qu SERVER_NAME
Si
avahi-daemon
se está ejecutando, deténlo y, luego, inhabilitalo.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 inicio de Oracle y Grid.
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 de
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 raíz, instala el paquete de RPM
cvuqdisk
desde el directorio de inicio 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
Configura Oracle ASM
Para configurar Oracle ASM, sigue estos pasos como usuario raíz:
En cualquiera de los nodos, identifica todos los LUN compartidos que usarás 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
Reemplaza lo siguiente:
- DISK_WWID: El WWID del disco.
Un resultado de muestra es el siguiente:
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 todas las particiones nuevas sean visibles.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, establece el valor del parámetro
ORACLEASM_SCANORDER
endm
y el valor deORACLEASM_SCANEXCLUDE
ensd
, ya que los servidores de la solución Bare Metal usan dispositivos de varias rutas.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, verifica 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 de ASM de Oracle en los dispositivos particionados de varios caminos.
oracleasm createdisk OCR /dev/mapper/DISK_WWID
Reemplaza lo siguiente:
- DISK_WWID: El WWID del disco.
Un resultado de muestra es el siguiente:
oracleasm createdisk OCR /dev/mapper/3600a098038314343753f4f723154594e1 Writing disk header: done Instantiating disk: done
En el primer nodo, muestra una lista de los nombres de los discos.
oracleasm listdisks
Un resultado de muestra es el siguiente:
DATA01 DATA02 DATA03 DATA04 DATA05 DATA06 FRA01 FRA02 FRA03 OCR
En el segundo nodo, muestra una lista de los discos que se marcaron como discos ASMLIB en el primer nodo.
oracleasm scandisks
Un resultado de muestra es el siguiente:
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, muestra una lista de los nombres de los discos.
oracleasm listdisks
Un resultado de muestra es el siguiente:
oracleasm listdisks DATA01 DATA02 DATA03 DATA04 DATA05 DATA06 FRA01 FRA02 FRA03 OCR
Si los discos no aparecen en el segundo nodo después del análisis, ejecuta el comando
partprobe
para que las particiones sean visibles.
Realiza verificaciones previas a la instalación
Comprueba si 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 alguno de los requisitos previos falla, corrígelo antes de continuar con la instalación.
Instala Oracle RAC
En el primer nodo en el que descargaste y extrajiste los archivos de imagen de Oracle Grid Infrastructure, sigue estos pasos:
- Conéctate al servidor de la solución Bare Metal a través del visor de VNC.
- Ejecuta la secuencia de comandos
gridSetup.sh
: - En la página Seleccionar opción de configuración, selecciona Oracle Grid Infrastructure para un clúster nuevo y, luego, haz clic en Siguiente.
- En la página Seleccionar configuración de clúster, selecciona Configurar un clúster independiente de Oracle y, luego, haz clic en Siguiente.
En la página Información de la función Plug and Play de la cuadrícula, haz lo siguiente:
- Selecciona Crear SCAN local.
- Ingresa un nombre para el clúster. Asegúrate de que tenga menos de 15 caracteres.
- Ingresa un nombre de SCAN.
- Ingresa un puerto SCAN.
- Haz clic en Siguiente.
Para agregar el segundo nodo, haz clic en Agregar y sigue estos pasos:
- Ingresa el nombre de host público del segundo nodo.
- Ingresa 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:
- Para cada interfaz, en la columna Uso, selecciona el tipo de uso. Para la interfaz privada, selecciona ASM y privada.
- Haz clic en Siguiente.
En la página Información de la opción de almacenamiento, selecciona Oracle Flex ASM para el almacenamiento para almacenar archivos de OCR y archivos de disco de votación en Oracle ASM y, luego, haz clic en Siguiente.
En Crear repositorio de administración de infraestructura de la cuadrícula, selecciona Sí y, luego, haz clic en Siguiente.
En este paso, se crea el repositorio de administración de infraestructura de la cuadrícula (GIMR).
En la página Grid Infrastructure Management Management Repository option, selecciona No, ya que no queremos crear un grupo de discos independiente para GIMR.
En la página Crear grupo de discos de ASM, haz lo siguiente:
- Ingresa el nombre del grupo de discos.
Haz clic en Change discovery path y, luego, ingresa la ruta de acceso de descubrimiento correcta a los discos ASM de Oracle.
Asegúrate de que los dispositivos estén asignados a varios caminos para que los discos de ASM de Oracle estén activos incluso después de que se caiga una ruta.
En la página Especificar la contraseña de ASM, haz lo siguiente:
- Selecciona Usar las mismas contraseñas para estas cuentas.
- Ingresa y confirma la contraseña.
- Haz clic en Siguiente.
En la página Compatibilidad con aislamiento de fallas, selecciona No usar la interfaz de administración de plataforma inteligente (IPMI) y haz clic en Siguiente.
En la página Especifica las opciones de administración, haz clic en Siguiente, ya que no estamos configurando 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 ASM de Oracle, selecciona oinstall. También puedes usar asmdba y asmoper.
- Haz clic en Siguiente.
En la página Especifica la ubicación de instalación, especifica la base de Oracle y haz clic en Siguiente.
La ejecución de las secuencias de comandos raíz se puede realizar automáticamente si tienes la contraseña de raíz o si el usuario
oracle
tiene privilegios de sudo. Sin embargo, en esta guía, ejecutamos las secuencias de comandos de forma manual. Por lo tanto, en la página Root script execution, haz clic en Next.En la página Realizar verificaciones de requisitos previos, haz lo siguiente:
Corrige las fallas que se muestren.
Si corregiste todas las fallas que encontraste cuando ejecutaste la secuencia de comandos
runcluvfy.sh
, como se describe en la sección Realiza verificaciones previas a la instalación, puedes esperar una instalación limpia.Después de corregir los errores, haz clic en Revisar para actualizar el estado de los errores como Correcto.
Haz clic en Siguiente.
Revisa el resumen y haz clic en Instalar.
En el mensaje de instalación, se te solicita que ejecutes las secuencias de comandos raíz en ambos nodos. Primero, ejecuta las secuencias de comandos en el primer nodo y, luego, en el segundo.
/apps/grid/oraInventory/orainstRoot.sh /apps/grid/19.3.0/gridhome_11/grid/root.sh
Cuando aparezca la ventana Finish, haz clic en Close.
Realiza los pasos posteriores a la instalación
Una vez completada 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: Cómo instalar y configurar paso a paso los objetos binarios de Oracle 19c para la base de datos de RAC.
Crea grupos de discos de ASM de Oracle.
Crea una entrada para la instancia de ASM de Oracle en el archivo
/etc/oratab
.vi /etc/oratab +ASM1:/apps/grid/19.3.0/gridhome_1:N
Configura las variables
ORACLE_SID
yORACLE_HOME
para la instancia de Oracle ASM y conéctate 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
Verifica que los discos que se agregarán 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 a partir de 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, accede a la instancia de ASM de Oracle y activa 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 de RAC con el Asistente de configuración de bases de datos (DBCA) de Oracle.
Asegúrate de elegir Database type como Real Application Cluster Database.
Para obtener instrucciones, consulta la documentación de Oracle.
La instalación de la base de datos de RAC se completó y está lista para usarse.
¿Qué sigue?
- Obtén información sobre las prácticas recomendadas para Oracle en la solución Bare Metal.