Recuperar el disco de votación de Oracle cuando falta su copia de seguridad
by Ravi kant Sharma, Oracle Database Administrator, Rackspace Technology
Introducción
Este blog explora un escenario en el que se ha perdido un Oracle© Cluster Registry (OCR) y un disco de votación, y el disco de votación no tiene copia de seguridad. Aunque es una situación complicada, puedes restaurarlo desde la última copia de seguridad automática del OCR.
El disco de votación es un archivo que gestiona la información sobre la pertenencia a un nodo, y el OCR es un archivo que gestiona la información de configuración del clúster y de la base de datos de Real Application Clusters (RAC). El proceso de instalación de Oracle Clusterware crea el disco de votación y el OCR en un volumen de almacenamiento compartido.
Un nodo miembro del clúster debe acceder siempre a la mitad del disco de votación para evitar la expulsión del nodo del grupo de clúster. El disco de votación desempeña un papel clave al garantizar que todos los nodos marcan su disponibilidad. El demonio de los Servicios de Sincronización de Cluster (CSSd) realiza todas las operaciones para el disco de votación en Clusterware.
El OCR sirve como repositorio central para Cluster Ready Services (CRS)---;almacenando los metadatos, configuración e información de estado para todos los recursos de cluster definidos en Clusterware. El OCR conserva siempre las tres últimas copias de seguridad del OCR, que tienen cuatro horas, un día y una semana de antigüedad.
¿Qué se almacena en el OCR?
- Información sobre la pertenencia a un nodo, incluidos los nodos que forman parte del clúster
- Versión activa actual del software
- Ubicación del disco de votación
- Grupos de servidores
Estado de los recursos del clúster, como bases de datos RAC, escuchadores, instancias y otros servicios de componentes de Oracle
¿Qué se almacena en el disco de votación?
- Datos estáticos: Mantiene la información sobre todos los nodos de un clúster.
- Datos dinámicos: Guarda la información sobre el mecanismo de latido del disco.
El disco de votación también mantiene los detalles sobre la pertenencia a los nodos del clúster, como qué nodo forma parte actualmente del clúster, o qué nodo se une o abandona el clúster.
¿Dónde se guarda el disco de votación?
El disco de votación es un disco compartido al que acceden todos los nodos miembros del clúster durante una operación. Debe almacenar los discos de votación en un almacenamiento accesible compartido, como Oracle Automatic Storage Management (ASM) o un sistema de archivos de clúster certificado.
Detalles medioambientales
El escenario de ejemplo para este blog utiliza el siguiente entorno:
- Versión de Oracle: Versión 11.2.0.4.0
- SO: Sun OS 5.11 11.2
- Clúster: RAC (2 nodos)
El error
Arreglemos el siguiente error:
cssd (3980)]CRS-1714:No se ha podido descubrir ningún archivo de votación, reintentando el descubrimiento en 15 segundos; Detalles en (:CSSNM00070:) en /oracle/11.2.0/grid/log/testdb01/cssd/ocssd.log
Tenemos que acceder al disco de OCR y de votación para que aparezca el clúster. Sin embargo, como no se puede acceder a estos recursos, el clúster permanece inactivo.
Restaurar el disco de votación
Siga los siguientes pasos para restaurar el disco de votación a partir de la copia de seguridad de OCR.
Paso 1: Desactivar el servicio de inicio automático de CRS
Ejecute el siguiente comando para desactivar el reinicio automático:
root@testdb01:/oracle/11.2.0/grid/bin# ./crsctl disable crs
Paso 2: Reinicie el nodo
Ejecute el siguiente comando para reiniciar el nodo:
root@testdb01:/oracle/11.2.0/grid/bin# init 6
Paso 3: Comprobar que el servicio CSR no se ha iniciado
Después de reiniciar, el servicio CSR no debería estar ejecutándose porque usted lo desactivó en el Paso 2. Ejecute el siguiente comando para comprobar si se ha iniciado el servicio CRS:
root@testdb01:/oracle/11.2.0/grid/bin# ./crsct comprobar crs
Paso 4: Borrar la cabecera del disco de votación
Antes de crear el grupo de discos, ejecute el siguiente comando para borrar la cabecera del disco de votación actual que ha fallado y poder reutilizarlo:
root@testdb01:/dev/rdsk# dd if=/dev/zero of=/dev/rdsk/c0t60002AC0000000000000001900008265d0s0 bs=1024k count=1000
Paso 5: Iniciar el clúster
Ejecute el siguiente comando para iniciar el clúster en modo exclusivo:
root@testdb01:/oracle/11.2.0/grid/bin# ./crsctl start crs -excl
Paso 6: Iniciar el ASM con un PFILE
Ejecute el siguiente comando para iniciar el ASM con un PFILE:
root @testdb01:/oracle/11.2.0/grid/bin# su - grid -bash-4.1$sqlplus / as sysasm startup pfile='location of pfile'; ASM instance started Total System Global Area 1136082944 bytes Fixed Size 2189048 bytes Variable Size 1108728072 bytes ASM Cache 25165824 bytes ORA-15032: not all alterations performed ORA-15017: diskgroup "OCRDATA" cannot be mounted ORA-15063: ASM descubrió un número insuficiente de discos para diskgroup "OCRDATA"
Paso 7: Crear un grupo de discos
Ejecute el siguiente comando para crear un grupo de discos:
SQL > create diskgroup OCRDATA disco de redundancia externa '/dev/rdsk/c0t60002AC0000000000000001900008265d0s0' attribute 'COMPATIBLE.ASM'='11.2'; Diskgroup created
Paso 8: Crear un SPFILE y reiniciar el ASM
Ejecute los siguientes comandos para crear un SPFILE a partir del PFILE de ASM y reiniciar ASM para que lea el SPFILE del disco de votación:
SQL> create spfile='+OCRDATA' from pfile='/home/grid/initASM1.ora'; Fichero creado. SQL > shutdown ASM diskgroups volume disabled ASM diskgroups dismounted ASM instance shutdown SQL> startup ASM instance started Total System Global Area 1136082944 bytes Fixed Size 2189048 bytes Variable Size 1108728072 bytes ASM Cache 25165824 bytes ASM diskgroups mounted ASM diskgroups volume enabled SQL> exit
Paso 9: Restaurar la copia de seguridad actual del OCR
Ejecute el siguiente comando para restaurar la copia de seguridad de OCR:
root @testdb01:/oracle/11.2.0/grid/bin# ./ocrconfig -restore /oracle /11.2.0/grid/cdata/testdb01-kl/day.ocr ------(Última copia de seguridad automática de OCR desde la ubicación predeterminada)
Paso 10: Sustituir el disco de votación
Ejecute el siguiente comando para sustituir el disco de votación:
root @testdb01:/oracle/11.2.0/grid/bin# ./crsctl replace votedisk +OCRDATA Añadido con éxito el disco de votación b1e7c2fbeb754f82bf09a991b2cf4441. Reemplazado con éxito el grupo de discos de votación con +OCRDATA. CRS -4266: Archivo(s) de votación reemplazado(s) con éxito root@testdb01:/oracle/11.2.0/grid/bin#
Paso 11: Habilitar el servicio de inicio automático de CRS
Ejecute el siguiente comando para sustituir el disco de votación:
root @testdb01:/oracle/11.2.0/grid/bin# ./crsctl replace votedisk +OCRDATA Añadido con éxito el disco de votación b1e7c2fbeb754f82bf09a991b2cf4441. Reemplazado con éxito el grupo de discos de votación con +OCRDATA. CRS -4266: Archivo(s) de votación reemplazado(s) con éxito root@testdb01:/oracle/11.2.0/grid/bin#
Paso 11: Habilitar el servicio de inicio automático de CRS
Ejecute los siguientes comandos para habilitar el servicio de inicio automático de CRS y compruebe que todos los servicios de clúster están en línea: root@testdb01:/oracle/11.2.0/grid/bin# ./crsctl enable crs CRS-4622: El inicio automático de Oracle High Availability Services está habilitado. root@testdb01:/oracle/11.2.0/grid/bin# ./crsctl start cluster root@testdb01:/oracle/11.2.0/grid/bin# ./crsctl check crs root@testdb01:/oracle/11.2.0/grid/bin# ./crsctl stop crs -f root@testdb01:/oracle/11.2.0/grid/bin# ./crsctl start crs
Paso 12: Comprobar el estado del disco OCR
Ejecute el siguiente comando para comprobar el estado del disco OCR: root@testdb01:/oracle/11.2.0/grid/bin# ./ocrcheck El estado del Oracle Cluster Registry es el siguiente : Versión : 3 Espacio total (kbytes) : 262120 Espacio utilizado (kbytes) : 2816 Espacio disponible (kbytes) : 259304 ID : 1103197739 Nombre de dispositivo/archivo : +OCRDATA Comprobación de integridad de dispositivo/archivo realizada con éxito Dispositivo/archivo no configurado Dispositivo/archivo no configurado Dispositivo/archivo no configurado Dispositivo/archivo no configurado Comprobación de integridad de registro de clúster realizada con éxito Comprobación de corrupción lógica realizada con éxito
Paso 13: Comprobar los detalles del disco de votación
Ejecute el siguiente comando para verificar el disco de votación:
root @testdb01:/oracle/11.2.0/grid/bin# ./crsctl query css votedisk ## STATE Archivo Id Universal Nombre de archivo Grupo de discos -- ----- ----------------- --------- 1. ONLINE b1e7c2fbeb754f82bf09a991b2cf4441 (/dev/rdsk/c0t60002AC000000000001900008265d0s0) [OCRDATA] Localizado 1 disco(s) de votación.
Paso 14: Comprobar el estado del servicio CRS
Ejecute el siguiente comando para verificar que el servicio CRS se está ejecutando:
root @testdb01:/oracle/11.2.0/grid/bin# ./crs_stat -t root@testdb01:/oracle/11.2.0/grid/bin# ./crs_stat -t Nombre Tipo Estado Destino Host ------------------------------------------------------------ ora....VE.dg ora....up.type ONLINE ONLINE testdb01...db01 ora....XK.dg ora....up.type ONLINE ONLINE testdb01...db01 ora....XK.dg ora....up.type ONLINE ONLINE testdb01...db01 ora....ER.lsnr ora....er.type ONLINE ONLINE testdb01...db01 ora....N1.lsnr ora....er.type ONLINE ONLINE testdb01...db01 ora....TA.dg ora....up.type ONLINE ONLINE testdb01...db01 ora.REDO.dg ora....up.type ONLINE ONLINE testdb01...db01 ora.asm ora.asm.type ONLINE ONLINE testdb01...db01 ora.cvu ora.cvu.type ONLINE ONLINE testdb01...db01 ora.gsd ora.gsd.type OFFLINE OFFLINE ora....network ora....rk.type ONLINE ONLINE testdb01...db01 ora.oc4j ora.oc4j.type ONLINE ONLINE testdb01.....db01 ora.ons ora.ons.type ONLINE ONLINE testdb01...db01 ora....ry.acfs ora....fs.type ONLINE ONLINE testdb01...db01 ora.scan1.vip ora....ip.type ONLINE ONLINE testdb01.....db01 ora....SM1.asm aplicación ONLINE ONLINE testdb01...db01 ora....01.lsnr aplicación ONLINE ONLINE testdb01...db01 ora....b01.gsd aplicación OFFLINE OFFLINE ora....b01.ons aplicación ONLINE ONLINE testdb01...db01 ora....b01.vip ora....t1.type ONLINE ONLINE testdb01...db01 ora....b02.vip ora....t1.type ONLINE ONLINE testdb01...db01
Paso 15: Comprobar los grupos de discos ASM
Ejecute los siguientes comandos para comprobar los grupos de discos ASM:
root @testdb01:/oracle/11.2.0/grid/bin# su - grid Oracle Corporation SunOS 5.11 11.2 Marzo de 2015 -bash-4.1$ asmcmd ASMCMD> lsdg State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED EXTERN N 512 4096 1048576 1023991 1023549 0 1023549 0 N ARCHIVE/ MOUNTED EXTERN N 512 4096 1048576 1023991 1023881 0 1023881 0 N INDEX1/ MOUNTED EXTERN N 512 4096 1048576 51191 50795 0 50795 0 Y OCRDATA/ MOUNTED EXTERN N 512 4096 1048576 1023991 818013 0 818013 0 N ORADATA1/ MOUNTED EXTERN N 512 4096 1048576 511991 479085 0 479085 0 N REDO/
Conclusión
Los pasos de este blog muestran cómo arreglar un disco de votación fallido en cualquier entorno RAC. Siguiendo estos pasos, puede solucionar el problema de la falta de copia de seguridad del disco de votación recuperando una copia de seguridad del OCR. Si la recuperación del disco tiene éxito, puede volver a utilizarlo.
Recuerde que debe activar la copia de seguridad automática OCR para que esta solución funcione. OCR siempre almacena la copia de seguridad en la ubicación predeterminada o en la que usted especifique.

Recent Posts
Informe sobre el estado de la nube en 2025
Enero 10th, 2025
Patrones de redes híbridas de Google Cloud - Parte 2
Octubre 16th, 2024
Patrones de redes híbridas de Google Cloud - Parte 2
Octubre 15th, 2024
Cómo aprovecha Rackspace AWS Systems Manager
Octubre 9th, 2024
Windows Server impide la sincronización horaria con Rackspace NTP
Octubre 3rd, 2024