Tag Archive: ocr

Olá pessoal!

Hoje veremos mais detalhes sobre a ferramenta oifcfg.

Ela é utilizada para definir quais serão as interfaces de rede pública e privada no Clusterware. Além disso, ela é utilizada quando é necessário alterar a faixa de endereço IP e subnet de uma rede específica (necessário quando há mudança na faixa de IP’s utilizada pela corporação).

Características do oifcfg:

  • Pode ser utilizado com o usuário oracle;
  • A partir de qualquer nó, controla todos;
  • Ferramenta para administração das interfaces de rede utilizadas no Clusterware:
    • Pública (VIP);
    • Privada (InterConnect).
  • Caso uma interface de rede queime, essa ferramenta será utilizada para substituir a interface de rede no OCR;
  • Útil para alterar a Subnet de uma interface de rede.

Como citado, as alterações efetuadas através do oifcfg são armazenadas no OCR.

Para verificar quais são as interfaces de rede e seu devido uso no Clusterware:

[oracle@mvrac1 oracle]$ oifcfg getif
eth0  172.23.10.0  global  public
eth1  10.0.0.0  global  cluster_interconnect

Para reconfigurar uma placa de rede para outra faixa de IP, primeiro, é necessário excluir as configurações desta placa:

[oracle@mvrac1 oracle]$ oifcfg delif -global eth0

A opção -global significa que esta configuração deverá ser válida para todos os nós, ou seja, a placa eth0 deverá ser excluída da configuração do Clusterware em todos os nós. Esta opção é utilizada pois também pode ser feita a configuração de uma interface de rede em apenas um nó, com a opção…

Vamos supor que ambas as interfaces serão excluídas pois outras serão configuradas. Vamos agora excluir a configuração da placa eth1:

[oracle@mvrac1 oracle]$ oifcfg delif -global eth1

Agora devemos configurar as placas desejadas:

[oracle@mvrac1 oracle]$ oifcfg setif -global eth3/192.168.111.0:public
[oracle@mvrac1 oracle]$ oifcfg setif -global eth4/10.0.0.0:cluster_interconnect

Lembrando que para alterar o endereço de InterConnect também é necessário alterar a informação no arquivo /etc/hosts e no arquivo de configuração da placa de rede em /etc/sysconfig/network-scripts/ifcfg-ethX.

Para o VIP, além disso, também é necessário alterar o endereço IP no OCR através do srvctl, conforme citado no post Oracle Clusterware – Rotinas Administrativas – Parte 3 – srvctl.

Um abraço!

Vinicius

Share

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

Share