Olá pessoal!
Hoje veremos sobre as ferramentas de gerenciamento do OCR.
Características do ocrcheck:
- Pode ser executado com o usuário root ou oracle;
- Exibe informações a respeito do OCR (tamanho, versão, status, localização;
- Um log é gerado em $ORA_CRS_HOME/log/<hostname>/client/ocrcheck_<pid>.log
Exemplo de uso, ocrcheck:
[root@mvrac1 oracle]# ocrcheck Status of Oracle Cluster Registry is as follows : Version : 2 Total space (kbytes) : 256788 Used space (kbytes) : 4624 Available space (kbytes) : 252164 ID : 382969207 Device/File Name : /dev/ocr1 Device/File integrity check succeeded Device/File Name : /dev/ocr2 Device/File integrity check succeeded Cluster registry integrity check succeeded
Como podem observar, o ocrcheck é utilizado para verificar a integridade do OCR.
Conteúdo do log gerado:
Oracle Database 10g CRS Release 10.2.0.4.0 Production Copyright 1996, 2008 Oracle. All rights reserved. 2010-08-16 10:36:03.160: [OCRCHECK][6617296]ocrcheck starts... 2010-08-16 10:36:21.884: [OCRCHECK][6617296]protchcheck: OCR status : total = [256788], used = [4624], avail = [252164]
O ocrcheck pode ser utilizado caso haja algum problema no Clusterware para verificar a integridade do OCR.
Características do ocrdump:
- Faz o dump do OCR;
- Deve ser utilizado com o usuário root;
- Usado para consultar sobre os registros do OCR em caso de perda e necessidade de novo registro (este, manual);
- Suporte Oracle pode solicitar para tratar algum problema do Clusterware.
Exemplo de uso, ocrdump:
[root@mvrac1 oracle]# ocrdump /root/ocrdump.txt
Início do arquivo texto gerado:
08/17/2010 20:40:15 /u01/app/oracle/product/10.2.0/crs/bin/ocrdump.bin /root/ocrdump.txt [SYSTEM] UNDEF : SECURITY : {USER_PERMISSION : PROCR_ALL_ACCESS, GROUP_PERMISSION : PROCR_READ, OTHER_PERMISSION : PROCR_READ, USER_NAME : roo t, GROUP_NAME : root} [SYSTEM.css] UNDEF : SECURITY : {USER_PERMISSION : PROCR_ALL_ACCESS, GROUP_PERMISSION : PROCR_READ, OTHER_PERMISSION : PROCR_READ, USER_NAME : roo t, GROUP_NAME : root} [SYSTEM.css.interfaces] UNDEF : SECURITY : {USER_PERMISSION : PROCR_ALL_ACCESS, GROUP_PERMISSION : PROCR_CREATE_SUB_KEY, OTHER_PERMISSION : PROCR_READ, USER_ NAME : oracle, GROUP_NAME : oinstall} [SYSTEM.css.interfaces.global] UNDEF : SECURITY : {USER_PERMISSION : PROCR_ALL_ACCESS, GROUP_PERMISSION : PROCR_ALL_ACCESS, OTHER_PERMISSION : PROCR_READ, USER_NAME : oracle, GROUP_NAME : oinstall}
Mais um trecho do arquivo gerado:
[DATABASE.DATABASES.mvdb.SPFILE] ORATEXT : +DG_DADOS/mvdb/spfilemvdb.ora SECURITY : {USER_PERMISSION : PROCR_ALL_ACCESS, GROUP_PERMISSION : PROCR_WRITE, OTHER_PERMISSION : PROCR_READ, USER_NAME : oracle, GROUP_NAME : dba}
Características do ocrconfig:
- Ferramenta de configuração do OCR;
- Deve ser utilizado com o usuário root;
- Permite realizar backup lógico do OCR (-export -s online);
- Permite importar o backup lógico;
- Permite fazer upgrade/downgrade do OCR;
- Exibe qual é o diretório de backup automático do OCR e os últimos backups automáticos (-showbackup);
- Altera o local de backup automático (-backuploc );
- Substitui o local do OCR (-replace ocr | ocrmirror );
- Sobrescreve a configuração do OCR (-overwrite);
- Repara o OCR (-repair ocr | ocrmirror );
- Um log é gerado em $ORA_CRS_HOME/log/<hostname>/client/ocrconfig_<pid>.log
O Clusterware gera um backup automático do OCR a cada 4 horas, conforme citado no post Oracle Clusterware – Arquitetura – Parte 2 – Principais Arquivos: Voting Disk e OCR.
Vamos exibir os backups automáticos:
[root@mvrac1 ~]# ocrconfig -showbackup mvrac2 2010/08/16 08:16:47 /u01/app/oracle/product/10.2.0/crs/cdata/crs_mv mvrac2 2010/08/16 02:53:24 /u01/app/oracle/product/10.2.0/crs/cdata/crs_mv mvrac1 2010/08/11 23:11:57 /u01/app/oracle/product/10.2.0/crs/cdata/crs_mv mvrac2 2010/08/16 02:53:24 /u01/app/oracle/product/10.2.0/crs/cdata/crs_mv mvrac1 2010/08/08 02:24:35 /u01/app/oracle/product/10.2.0/crs/cdata/crs_mv
Como pudemos observar, os últimos backups estão no nó MVRAC2.
Verificando os arquivos de backup existentes no diretório:
[root@mvrac2 ~]# ls -ltr /u01/app/oracle/product/10.2.0/crs/cdata/crs_mv total 28536 -rw-r--r-- 1 root root 4837376 Apr 26 00:19 week.ocr -rw-r--r-- 1 root root 4861952 Jul 15 03:53 backup02.ocr -rw-r--r-- 1 root root 4861952 Aug 16 02:53 backup01.ocr -rw-r--r-- 1 root root 4861952 Aug 16 02:53 day.ocr -rw-r--r-- 1 root root 4861952 Aug 16 08:16 week_.ocr -rw-r--r-- 1 root root 4861952 Aug 16 08:16 backup00.ocr
Os backups estão ali.
Vamos fazer uma brincadeira?
Vamos corromper 1 OCR (como root):
[root@mvrac1 ~]# dd if=/dev/zero of=/dev/ocr1 dd: writing to `/dev/ocr1': No space left on device 514018+0 records in 514017+0 records out 263176704 bytes (263 MB) copied, 8.42927 seconds, 31.2 MB/s
Vamos agora verificar a integridade do OCR com o ocrcheck:
[root@mvrac1 ~]# ocrcheck Status of Oracle Cluster Registry is as follows : Version : 2 Total space (kbytes) : 256788 Used space (kbytes) : 4624 Available space (kbytes) : 252164 ID : 382969207 Device/File Name : /dev/ocr1 Device/File needs to be synchronized with the other device Device/File Name : /dev/ocr2 Device/File integrity check succeeded Cluster registry integrity check succeeded
O device /dev/ocr1 não está mais íntegro.
Bom, vamos agora corromper o outro OCR:
[root@mvrac1 ~]# dd if=/dev/zero of=/dev/ocr2 dd: writing to `/dev/ocr1': No space left on device 514018+0 records in 514017+0 records out 263176704 bytes (263 MB) copied, 8.42927 seconds, 31.2 MB/s
Verificando novamente a integridade do OCR:
[root@mvrac1 ~]# ocrcheck Segmentation fault
Verificando o status dos componentes do cluster:
[root@mvrac1 ~]# crsstat HA Resource Target State ----------- ------ ----- error connecting to CRSD at [(ADDRESS=(PROTOCOL=ipc)(KEY=ora_crsqs))] clsccon 184
Verificando o log $ORA_CRS_HOME/log/mvrac1/alertmvrac1.log:
2010-08-17 20:45:22.046 [client(9701)]CRS-1006:The OCR location /dev/ocr2 is inaccessible. Details in /u01/app/oracle/product/10.2.0/crs/log/mvrac1/client/ocrcheck_9701.log. 2010-08-17 20:45:22.037 [crsd(4403)]CRS-1006:The OCR location /dev/ocr2 is inaccessible. Details in /u01/app/oracle/product/10.2.0/crs/log/mvrac1/crsd/crsd.log.
Trecho do log $ORA_CRS_HOME/mvrac1/crsd/crsd.log:
2010-08-17 20:45:24.233: [ OCRRAW][3055160208]proprdc: backend_ctx->metactx=[0x932bbc8] 2010-08-17 20:45:24.233: [ OCRRAW][3055160208]proprdc: backend_ctx->prop_sctx=[0x9327600] 2010-08-17 20:45:24.233: [ OCRRAW][3055160208]proprdc: backend_ctx->prop_sltsmx=[0x0] 2010-08-17 20:45:24.234: [ OCRRAW][3055160208]proprdc: backend_ctx->prop_sclsctx=[0x9350004] 2010-08-17 20:45:24.234: [ OCRRAW][3055160208]proprdc: backend_ctx->prop_ctx_ocrctx=[0x9357f24] [ OCRAPI][3055160208]procr_ctx_set_invalid_no_abort: ctx set to invalid [ OCRAPI][3055160208]procr_ctx_set_invalid: aborting...
Fazendo o restore do OCR:
[root@mvrac2 oracle]# ocrconfig -restore /u01/app/oracle/product/10.2.0/crs/cdata/crs_mv/backup00.ocr
Verificando a integridade do OCR:
[root@mvrac2 oracle]# ocrcheck Status of Oracle Cluster Registry is as follows : Version : 2 Total space (kbytes) : 256788 Used space (kbytes) : 4624 Available space (kbytes) : 252164 ID : 382969207 Device/File Name : /dev/ocr1 Device/File integrity check succeeded Device/File Name : /dev/ocr2 Device/File integrity check succeeded Cluster registry integrity check succeeded
Verificando o status dos recursos do Clusterware:
[root@mvrac1 crsd]# crsstat HA Resource Target State ----------- ------ ----- ora.mvdb.db ONLINE ONLINE on mvrac1 ora.mvdb.mvdb1.inst ONLINE ONLINE on mvrac1 ora.mvdb.mvdb2.inst ONLINE ONLINE on mvrac2 ora.mvdb.producao.cs ONLINE ONLINE on mvrac1 ora.mvdb.producao.mvdb1.srv ONLINE ONLINE on mvrac1 ora.mvdb.producao.mvdb2.srv ONLINE ONLINE on mvrac2 ora.mvrac1.ASM1.asm ONLINE ONLINE on mvrac1 ora.mvrac1.LISTENER_MVRAC1.lsnr ONLINE ONLINE on mvrac1 ora.mvrac1.gsd ONLINE ONLINE on mvrac1 ora.mvrac1.ons ONLINE ONLINE on mvrac1 ora.mvrac1.vip ONLINE ONLINE on mvrac1 ora.mvrac2.ASM2.asm ONLINE ONLINE on mvrac2 ora.mvrac2.LISTENER_MVRAC2.lsnr ONLINE ONLINE on mvrac2 ora.mvrac2.gsd ONLINE ONLINE on mvrac2 ora.mvrac2.ons ONLINE ONLINE on mvrac2 ora.mvrac2.vip ONLINE ONLINE on mvrac2
Como puderam ver, desde que tenhamos os arquivos de backup do OCR disponíveis, é fácil recuperar o ambiente de Clusterware após um desastre.
No próximo, continuaremos com as rotinas administrativas do Clusterware.
Um abraço!
Vinicius
Related posts
1 Comment
Deixe um comentário Cancelar resposta
Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.
Disclaimer
Minhas postagens refletem minhas próprias opiniões e não representam necessariamente as opiniões do meu empregador, a Accenture.
[…] This post was mentioned on Twitter by Ricardo P Proni, Marcus Vinicius. Marcus Vinicius said: Blog atualizado! "Oracle Clusterware – Rotinas Administrativas – Parte 6 – ocrcheck, ocrdump e ocrconfig". http://bit.ly/dokqO6 […]