Recuperar o disco de votação Oracle quando a cópia de segurança está em falta
by Ravi kant Sharma, Oracle Database Administrator, Rackspace Technology
Introdução
Este blogue explora um cenário em que se perdeu um Oracle© Cluster Registry (OCR) e um disco de votação, e o disco de votação não tem cópia de segurança. Embora seja uma situação complicada, pode restaurá-lo a partir da última cópia de segurança automática do OCR.
O disco de votação é um ficheiro que gere as informações sobre a associação de nós, e o OCR é um ficheiro que gere as informações de configuração do cluster e da base de dados Real Application Clusters (RAC). O processo de instalação do Oracle Clusterware cria o disco de votação e o OCR num volume de armazenamento partilhado.
Um membro do nó do cluster deve aceder sempre a metade do disco de votação para evitar a expulsão do nó do grupo de clusters. O disco de votação desempenha um papel fundamental, garantindo que todos os nós assinalam a sua disponibilidade. O daemon dos Serviços de Sincronização de Cluster (CSSd) executa todas as operações para o disco de votação no Clusterware.
O OCR funciona como o repositório central dos Cluster Ready Services (CRS) - armazenando os metadados, a configuração e as informações de estado de todos os recursos de cluster definidos no Clusterware. O OCR mantém sempre as três últimas cópias de segurança do OCR, que têm quatro horas, um dia e uma semana.
O que é armazenado no OCR?
- Informações sobre os membros do nó, incluindo os nós que fazem parte do cluster
- Versão ativa atual do software
- Localização do disco de votação
- Pool de servidores
Estado dos recursos do cluster, como bases de dados RAC, listeners, instâncias e outros serviços de componentes Oracle
O que é que está armazenado no disco de votação?
- Dados estáticos: Mantém as informações sobre todos os nós de um cluster.
- Dados dinâmicos: Mantém as informações sobre o mecanismo de pulsação do disco.
O disco de votação também mantém os detalhes sobre a filiação dos nós do cluster, como, por exemplo, qual o nó que faz atualmente parte do cluster, ou qual o nó que está a entrar ou a sair do cluster.
Onde está armazenado o disco de votação?
O disco de votação é um disco partilhado que é acedido por todos os nós membros do cluster durante uma operação. Deve armazenar os discos de votação em armazenamento acessível partilhado, como o Oracle Automatic Storage Management (ASM) ou um sistema de ficheiros de cluster certificado.
Detalhes do ambiente
O cenário de exemplo para este blogue utiliza o seguinte ambiente:
- Versão Oracle: Versão 11.2.0.4.0
- OS: Sun OS 5.11 11.2
- Cluster: RAC (2 nós)
O erro
Vamos corrigir o seguinte erro:
cssd (3980)]CRS-1714:Não foi possível descobrir quaisquer ficheiros de votação, tenta novamente a descoberta em 15 segundos; Detalhes em (:CSSNM00070:) em /oracle/11.2.0/grid/log/testdb01/cssd/ocssd.log
Precisamos de aceder ao OCR e ao disco de votação para ativar o cluster. No entanto, como estes recursos não estão acessíveis, o cluster permanece em baixo.
Restaurar o disco de votação
Utilize os seguintes passos para restaurar o disco de votação a partir da cópia de segurança do OCR.
Passo 1: Desativar o serviço de arranque automático do CRS
Execute o seguinte comando para desativar o reinício automático:
root@testdb01:/oracle/11.2.0/grid/bin# ./crsctl disable crs
Passo 2: Reiniciar o nó
Execute o seguinte comando para reiniciar o nó:
root@testdb01:/oracle/11.2.0/grid/bin# init 6
Passo 3: Verificar se o serviço CSR não foi iniciado
Após a reinicialização, o serviço CSR não deve estar em execução porque foi desativado no Passo 2. Execute o seguinte comando para verificar se o serviço CRS foi iniciado:
root@testdb01:/oracle/11.2.0/grid/bin# ./crsct check crs
Passo 4: Limpar o cabeçalho do disco de votação
Antes de criar o grupo de discos, execute o seguinte comando para limpar o cabeçalho do disco de votação com falha atual, de modo a poder reutilizá-lo:
root@testdb01:/dev/rdsk# dd if=/dev/zero of=/dev/rdsk/c0t60002AC0000000000000001900008265d0s0 bs=1024k count=1000
Passo 5: Iniciar o cluster
Execute o seguinte comando para iniciar o cluster em modo exclusivo:
root@testdb01:/oracle/11.2.0/grid/bin# ./crsctl start crs -excl
Passo 6: Iniciar o ASM com um PFILE
Execute o seguinte comando para iniciar o ASM com um 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: nem todas as alterações foram efectuadas ORA-15017: diskgroup "OCRDATA" cannot be mounted ORA-15063: ASM descobriu um número insuficiente de discos para o grupo de discos "OCRDATA"
Passo 7: Criar um grupo de discos
Execute o seguinte comando para criar um grupo de discos:
SQL > create diskgroup OCRDATA external redundancy disk '/dev/rdsk/c0t60002AC00000000000000000001900008265d0s0' attribute 'COMPATIBLE.ASM'='11.2'; Diskgroup created
Passo 8: Criar um SPFILE e reiniciar o ASM
Execute os seguintes comandos para criar um SPFILE a partir do PFILE do ASM e para reiniciar o ASM para ler o SPFILE do disco de votação:
SQL> create spfile='+OCRDATA' from pfile='/home/grid/initASM1.ora'; Ficheiro criado. SQL > shutdown Volume dos grupos de discos ASM desativado Grupos de discos ASM desmontados Encerramento da instância ASM SQL> startup Instância ASM iniciada Área global total do sistema 1136082944 bytes Tamanho fixo 2189048 bytes Tamanho variável 1108728072 bytes Cache ASM 25165824 bytes Grupos de discos ASM montados Volume dos grupos de discos ASM ativado SQL> exit
Passo 9: Restaurar a cópia de segurança atual do OCR
Execute o seguinte comando para restaurar a cópia de segurança do OCR:
root @testdb01:/oracle/11.2.0/grid/bin# ./ocrconfig -restore /oracle /11.2.0/grid/cdata/testdb01-kl/day.ocr ------(Última cópia de segurança automática do OCR a partir da localização predefinida)
Passo 10: Substituir o disco de votação
Execute o seguinte comando para substituir o disco de votação:
root @testdb01:/oracle/11.2.0/grid/bin# ./crsctl replace votedisk +OCRDATA Adição bem sucedida do disco de votação b1e7c2fbeb754f82bf09a991b2cf4441. Substituiu com êxito o grupo de discos de votação por +OCRDATA. CRS -4266: Ficheiro(s) de votação substituído(s) com sucesso root@testdb01:/oracle/11.2.0/grid/bin#
Passo 11: Ativar o serviço de arranque automático do CRS
Execute o seguinte comando para substituir o disco de votação:
root @testdb01:/oracle/11.2.0/grid/bin# ./crsctl replace votedisk +OCRDATA Adição bem sucedida do disco de votação b1e7c2fbeb754f82bf09a991b2cf4441. Substituiu com êxito o grupo de discos de votação por +OCRDATA. CRS -4266: Ficheiro(s) de votação substituído(s) com sucesso root@testdb01:/oracle/11.2.0/grid/bin#
Passo 11: Ativar o serviço de arranque automático do CRS
Execute os seguintes comandos para ativar o serviço de arranque automático do CRS e verifique se todos os serviços de cluster estão online: root@testdb01:/oracle/11.2.0/grid/bin# ./crsctl enable crs CRS-4622: O arranque automático dos Oracle High Availability Services está ativado. 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
Passo 12: Verificar o estado do disco de OCR
Execute o seguinte comando para verificar o estado do disco do OCR: root@testdb01:/oracle/11.2.0/grid/bin# ./ocrcheck O estado do Oracle Cluster Registry é o seguinte: Versão : 3 Espaço total (kbytes) : 262120 Espaço utilizado (kbytes) : 2816 Espaço disponível (kbytes) : 259304 ID : 1103197739 Nome do dispositivo/ficheiro : +OCRDATA Verificação da integridade do dispositivo/ficheiro bem sucedida Dispositivo/ficheiro não configurado Dispositivo/ficheiro não configurado Dispositivo/ficheiro não configurado Dispositivo/ficheiro não configurado Verificação da integridade do registo do cluster bem sucedida Verificação da corrupção lógica bem sucedida
Passo 13: Verificar os detalhes do disco de votação
Execute o seguinte comando para verificar o disco de votação:
root @testdb01:/oracle/11.2.0/grid/bin# ./crsctl query css votedisk ## STATE File Universal Id File Name Disk group -- ----- ----------------- --------- --------- 1. ONLINE b1e7c2fbeb754f82bf09a991b2cf4441 (/dev/rdsk/c0t60002AC0000000000000001900008265d0s0) [OCRDATA] Localizado 1 disco(s) de votação.
Etapa 14: Verificar o estado do serviço do SIR
Execute o seguinte comando para verificar se o serviço CRS está em execução:
root @testdb01:/oracle/11.2.0/grid/bin# ./crs_stat -t root@testdb01:/oracle/11.2.0/grid/bin# ./crs_stat -t Nome Tipo Estado de destino Anfitrião ------------------------------------------------------------ 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.digite ONLINE ONLINE testdb01...db01 ora.gsd ora.gsd.digite OFFLINE OFFLINE ora....network ora....rk.digite ONLINE ONLINE testdb01...db01 ora.oc4j ora.oc4j.digite ONLINE 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 aplicação ONLINE ONLINE testdb01...db01 ora....01.lsnr aplicação ONLINE ONLINE testdb01...db01 ora....b01.gsd aplicação OFFLINE OFFLINE ora....b01.ons aplicação ONLINE ONLINE testdb01...db01 ora....b01.vip ora....t1.type ONLINE ONLINE testdb01...db01 ora....b02.vip ora....t1.type ONLINE ONLINE testdb01...db01
Passo 15: Verificar os grupos de discos ASM
Execute os seguintes comandos para verificar os grupos de discos ASM:
root @testdb01:/oracle/11.2.0/grid/bin# su - grid Oracle Corporation SunOS 5.11 11.2 março 2015 -bash-4.1$ asmcmd ASMCMD> lsdg State Type Rebal Setor 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/
Conclusão
As etapas deste blogue mostram como corrigir um disco de votação com falha em qualquer ambiente RAC. Utilizando estes passos, pode ultrapassar o problema da falta de cópia de segurança do disco de votação, recuperando uma cópia de segurança do OCR. Se a recuperação do disco for bem sucedida, pode reutilizá-lo.
Não se esqueça de que tem de ativar a cópia de segurança automática do OCR para que esta solução funcione. O OCR armazena sempre a cópia de segurança na localização predefinida ou na localização especificada pelo utilizador.

Recent Posts
Relatório sobre o estado da nuvem em 2025
Janeiro 10th, 2025
Padrões de rede híbrida do Google Cloud - Parte 2
Outubro 16th, 2024
Padrões de rede híbrida do Google Cloud - Parte 2
Outubro 15th, 2024
How Rackspace Leverages AWS Systems Manager
Outubro 9th, 2024
O Windows Server impede a sincronização da hora com o Rackspace NTP
Outubro 3rd, 2024