O Oracle Clusterware possui vários componentes essenciais para seu funcionamento, dentre eles o OCR e OLR.
O Oracle Cluster Registry (OCR) é responsável por gerenciar as configurações e recursos do Oracle Clusterware e do Oracle RAC, como lista de nós do cluster, instancias de bancode dados, serviços entre outros.
O Oracle Local Registry (OLR) foi introduzido na versão 11gR2 do Grid Infrastructure e diferentemente do OCR ele não é compartilhado entre os nodes, cada node possui seu OLR contendo especificações locais requeridas pelo OHASD (Oracle High Availability Services).
No intervalo de 1 semana, devido instabilidades no storage, precisei restaurar ambos para disponibilizar novamente o ambiente, desta forma compartilho abaixo procedimentos realizados:
Ao executar o ocrcheck, que exibe informações relacionadas ao OCR como tamanho, versão, localização e status, percebe-se que ao final ocorre o erro PROT-602 informando falha na recuperação dos dados do cluster registry (OCR).
[root@srvprd01 oraagent_oracle]# ocrcheck Status of Oracle Cluster Registry is as follows : Version : 3 Total space (kbytes) : 262120 Used space (kbytes) : 5860 Available space (kbytes) : 256260 ID : 84391272 Device/File Name : +OCR Device/File integrity check succeeded Device/File not configured Device/File not configured Device/File not configured Device/File not configured Cluster registry integrity check succeeded PROT-602: Failed to retrieve data from the cluster registry
O backup do OCR, além de poder ser feito manualmente (ocrconfig -manualbackup e ocrconfig -export) ainda é gerado de forma automática a cada 4 horas pelo CRSD (Cluster Ready Services Daemon) cuja retenção segue as seguintes políticas:
- Retém os últimos 3 backups do OCR;
- Retém 1 backup diário;
- Retém 1 backup semanal.
[root@srvprd01 oracle]# ocrconfig -showbackup srvprd01 2018/02/26 14:20:00 /oracle/GRID/11204/cdata/clusterprd/backup00.ocr srvprd01 2018/02/26 10:19:59 /oracle/GRID/11204/cdata/clusterprd/backup01.ocr srvprd01 2018/02/26 06:19:58 /oracle/GRID/11204/cdata/clusterprd/backup02.ocr srvprd01 2018/02/25 10:19:55 /oracle/GRID/11204/cdata/clusterprd/day.ocr srvprd01 2018/02/07 23:25:56 /oracle/GRID/11204/cdata/clusterprd/week.ocr PROT-25: Manual backups for the Oracle Cluster Registry are not available
Para realizar o restore do OCR primeiramente é preciso parar o Clusterware em execução e subi-lo em modo exclusivo em um dos nodes:
[root@srvprd01 oracle]# crsctl stop crs .... .... [root@srvprd01 oracle]# crsctl start crs -excl -nocrs CRS-4123: Oracle High Availability Services has been started. CRS-2673: Attempting to stop 'ora.drivers.acfs' on 'srvprd01' CRS-2677: Stop of 'ora.drivers.acfs' on 'srvprd01' succeeded CRS-2672: Attempting to start 'ora.mdnsd' on 'srvprd01' CRS-2676: Start of 'ora.mdnsd' on 'srvprd01' succeeded CRS-2672: Attempting to start 'ora.gpnpd' on 'srvprd01' CRS-2676: Start of 'ora.gpnpd' on 'srvprd01' succeeded CRS-2672: Attempting to start 'ora.cssdmonitor' on 'srvprd01' CRS-2672: Attempting to start 'ora.gipcd' on 'srvprd01' CRS-2676: Start of 'ora.cssdmonitor' on 'srvprd01' succeeded CRS-2676: Start of 'ora.gipcd' on 'srvprd01' succeeded CRS-2672: Attempting to start 'ora.cssd' on 'srvprd01' CRS-2672: Attempting to start 'ora.diskmon' on 'srvprd01' CRS-2676: Start of 'ora.diskmon' on 'srvprd01' succeeded CRS-2676: Start of 'ora.cssd' on 'srvprd01' succeeded CRS-2672: Attempting to start 'ora.drivers.acfs' on 'srvprd01' CRS-2679: Attempting to clean 'ora.cluster_interconnect.haip' on 'srvprd01' CRS-2672: Attempting to start 'ora.ctssd' on 'srvprd01' CRS-2681: Clean of 'ora.cluster_interconnect.haip' on 'srvprd01' succeeded CRS-2672: Attempting to start 'ora.cluster_interconnect.haip' on 'srvprd01' CRS-2676: Start of 'ora.drivers.acfs' on 'srvprd01' succeeded CRS-2676: Start of 'ora.ctssd' on 'srvprd01' succeeded CRS-2676: Start of 'ora.cluster_interconnect.haip' on 'srvprd01' succeeded CRS-2679: Attempting to clean 'ora.asm' on 'srvprd01' CRS-2681: Clean of 'ora.asm' on 'srvprd01' succeeded CRS-2672: Attempting to start 'ora.asm' on 'srvprd01' CRS-2676: Start of 'ora.asm' on 'srvprd01' succeeded
A opção -nocrs faz com que o processo CRSD e OCR não iniciem junto com os demais processos do Oracle Clusteware.
Executando o restore físico do OCR utilizando o último backup automático gerado:
[root@srvprd01 oracle]# ocrconfig -restore /oracle/GRID/11204/cdata/clusterprd/backup00.ocr [root@srvprd01 oracle]# ocrcheck Status of Oracle Cluster Registry is as follows : Version : 3 Total space (kbytes) : 262120 Used space (kbytes) : 5860 Available space (kbytes) : 256260 ID : 84391272 Device/File Name : +OCR Device/File integrity check succeeded Device/File not configured Device/File not configured Device/File not configured Device/File not configured Cluster registry integrity check succeeded Logical corruption check succeeded
Conforme retorno do ocrcheck acima já é visível que não temos mais problemas com o OCR, basta parar agora o CRS que estava em modo exclusivo e iniciá-lo normalmente.
[root@srvprd01 oracle]# crsctl stop crs CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'srvprd01' CRS-2673: Attempting to stop 'ora.mdnsd' on 'srvprd01' CRS-2673: Attempting to stop 'ora.drivers.acfs' on 'srvprd01' CRS-2673: Attempting to stop 'ora.ctssd' on 'srvprd01' CRS-2673: Attempting to stop 'ora.asm' on 'srvprd01' CRS-2677: Stop of 'ora.mdnsd' on 'srvprd01' succeeded CRS-2677: Stop of 'ora.ctssd' on 'srvprd01' succeeded CRS-2677: Stop of 'ora.drivers.acfs' on 'srvprd01' succeeded CRS-2677: Stop of 'ora.asm' on 'srvprd01' succeeded CRS-2673: Attempting to stop 'ora.cluster_interconnect.haip' on 'srvprd01' CRS-2677: Stop of 'ora.cluster_interconnect.haip' on 'srvprd01' succeeded CRS-2673: Attempting to stop 'ora.cssd' on 'srvprd01' CRS-2677: Stop of 'ora.cssd' on 'srvprd01' succeeded CRS-2673: Attempting to stop 'ora.gipcd' on 'srvprd01' CRS-2677: Stop of 'ora.gipcd' on 'srvprd01' succeeded CRS-2673: Attempting to stop 'ora.gpnpd' on 'srvprd01' CRS-2677: Stop of 'ora.gpnpd' on 'srvprd01' succeeded CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'srvprd01' has completed CRS-4133: Oracle High Availability Services has been stopped. [root@srvprd01 oracle]# [root@srvprd01 oracle]# [root@srvprd01 oracle]# [root@srvprd01 oracle]# [root@srvprd01 oracle]# crsctl start crs CRS-4123: Oracle High Availability Services has been started.
No caso do OLR, ao tentar subir o HAS obtive retorno de falha.
[root@srvprd01 ~]# crsctl start has CRS-4124: Oracle High Availability Services startup failed. CRS-4000: Command Start failed, or completed with errors.
Olhando para o arquivo de log abaixo é visível várias tentativas de startup do OLR no servidor, porém falhas (erro no final das tentativas).
[root@srvprd01 srvprd01]# pwd /oracle/GRID/11204/log/srvprd01 [root@srvprd01 srvprd01]# tail -f alertsrvprd01.log .... 2018-03-05 20:17:59.768: [ohasd(34126)]CRS-2112:The OLR service started on node srvprd01. 2018-03-05 20:18:00.014: [ohasd(34149)]CRS-2112:The OLR service started on node srvprd01. 2018-03-05 20:18:00.261: [ohasd(34171)]CRS-2112:The OLR service started on node srvprd01. 2018-03-05 20:18:00.507: [ohasd(34208)]CRS-2112:The OLR service started on node srvprd01. 2018-03-05 20:18:00.754: [ohasd(34230)]CRS-2112:The OLR service started on node srvprd01. 2018-03-05 20:18:01.003: [ohasd(34263)]CRS-2112:The OLR service started on node srvprd01. [client(34291)]CRS-10001:CRS-10132: No msg for has:crs-10132 [10][60]
O OLR, diferente do OCR, não possuí backups automáticos depois que o GI (Grid Infrastructure) é configurado, apenas backups manuais podem ser feitos (ocrconfig -local -manualbackup). Os únicos backups do OLR realizados "automaticamente" são durante a configuração (instalação) do GI e durante seu upgrade (se ocorrer algum).
Para visualizar os backups do OLR basta utilizar a mesma sintaxe do showbackup do OCR acrescentando o parâmetro -local (pelo fato do OLR ser local de cada servidor).
[root@srvprd01 ~]# $GI_HOME/bin/ocrconfig -local -showbackup PROTL-25: Manual backups for the Oracle Local Registry are not available
Pelo retorno nenhum backup manual do OLR está sendo localizado, olhando no node2 podemos ver que retorna um arquivo de backup (realizado durante a instalação do GI), porém este backup é do OLR do node2 e não do node1, logo não devemos utilizá-lo.
[root@srvprd02 ~]# ocrconfig -local -showbackup srvprd02 2015/02/18 10:49:06 /oracle/GRID/11204/cdata/srvprd02/backup_20150218_104906.olr
A localização dos backups do OLR em cluster ficam em:
GI Cluster: <GI_HOME>/cdata/<hostname>/backup*.olr
Desta forma, voltando ao node1, podemos ver que existe um arquivo de backup dentro deste diretório:
[root@srvprd01 srvprd01]# ls -lrt total 6660 -rw------- 1 root root 6807552 Feb 18 2015 backup_20150218_104154.olr
A localização do OLR em cluster, fica um diretório antes do seu backup e pode ser identificado através do arquivos '/etc/oracle/olr.loc' ou '/var/opt/oracle/olr.loc', dependendo da plataforma.
[root@srvprd01 cdata]# cat /etc/oracle/olr.loc olrconfig_loc=/oracle/GRID/11204/cdata/srvprd01.olr crs_home=/oracle/GRID/11204
Para realizar o restore do OLR é preciso verificar se não existe qualquer serviço do grid iniciado, para isto basta utilizar o comando abaixo:
[root@srvprd01 srvprd01]# ps -ef| grep ohasd.bin root 44843 31674 0 20:33 pts/1 00:00:00 grep ohasd.bin
Caso algum processo seja retornado indicando que o serviço está ativo basta para-lo
# <GI_HOME>/bin/crsctl stop crs -f
Uma vez parado, pode-se proceder com o restore do OLR e startup:
[root@srvprd01 cdata]# $GI_HOME/bin/ocrconfig -local -restore /oracle/GRID/11204/cdata/srvprd01/backup_20150218_104154.olr [root@srvprd01 oracle]# crsctl start crs CRS-4123: Oracle High Availability Services has been started
Referências:
https://docs.oracle.com/cd/E11882_01/rac.112/e41959/votocr.htm#CWADD91099
How to backup or restore OLR in 11.2/12c Grid Infrastructure (Doc ID 1193643.1)
0 comentários:
Postar um comentário