Série de artigos sobre Instalação do Oracle RAC:

Instalação do Oracle RAC 10g Release 2 – Parte 1: Pré-requisitos
Instalação do Oracle RAC 10g Release 2 – Parte 2: Criação da VM
Instalação do Oracle RAC 10g Release 2 – Parte 3: Instalação do Linux
Instalação do Oracle RAC 10g Release 2 – Parte 4: Configuração do Linux
Instalação do Oracle RAC 10g Release 2 – Parte 5: Clonagem da VM
Instalação do Oracle RAC 10g Release 2 – Parte 6: Pré-instalação do RAC
Instalação do Oracle RAC 10g Release 2 – Parte 7: Instalação do Oracle Clusterware

===================================

Olá pessoal!

Nesse artigo instalaremos o Patchset 10.2.0.4 no Oracle Clusterware.

Bom, vamos lá?

Precisamos verificar se o CD-ROM está montado.

Se estiver, aparecerá da seguinte forma

[root@mvrac1 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              11G  2.4G  7.8G  24% /
tmpfs                 252M     0  252M   0% /dev/shm
/dev/hdc              3.1G  3.1G     0 100% /media

Se não estiver, deveremos montá-lo:

Na tela da VMWare Server Console, deveremos clicar duas vezes no ícone do CD-ROM (identificado pela seta vermelha).

Eu fiz uma imagem ISO com alguns softwares Oracle, portanto, na tela acima, deveremos manter a opção “Use ISO image:” marcada, e clicar em Browse, para escolhermos a mídia do Oracle:

Basta selecionar a imagem ISO, e clicar em Open.

Agora, precisamos montar esse CD no servidor. Como root no servidor mvrac1:

[root@mvrac1 ~]# mount /dev/hdc /media
mount: block device /dev/hdc is write-protected, mounting read-only

Para verificar se o disco foi montado:

[root@mvrac1 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              11G  2.4G  7.8G  24% /
tmpfs                 252M     0  252M   0% /dev/shm
/dev/hdc              3.1G  3.1G     0 100% /media

Com o disco montado, precisamos acessá-lo:

[root@mvrac1 ~]# cd /media/Ora10.2.0.4

Vamos ver o conteúdo do disco:

[root@mvrac1 Ora10.2.0.4]# ls -l
total 177
dr-xr-xr-x 5 root root   2048 May 21  2008 p6810189
-r--r--r-- 1 root root 178473 Feb 25  2008 README.html

Agora copiaremos o diretório p6810189 para o diretório /home/oracle:

[root@mvrac1 Ora10.2.0.4]# cp -rp p6810189/ /home/oracle/

Agora precisamos acertar as permissões, pois o diretório foi copiado como root:

[root@mvrac1 ~]# chown -R oracle:oinstall /home/oracle/*

Agora, iniciaremos a instalação. Há algumas formas de realizar a instalação:

  • Localmente no servidor, através da VMWare Server Console;
  • Remotamente, através de um software que simule um X-Server (existem diversas opções gratuitas na Internet);
  • Remotamente, através de uma estação Linux/Unix/Mac que tenha a parte gráfica (X) habilitado.

Eu usarei a terceira opção, portanto, a partir da minha estação:

vinicius@Viniciuss-MacBook:~$ ssh -X oracle@172.23.10.11
oracle@172.23.10.11's password:
/usr/bin/xauth:  creating new authority file /home/oracle/.Xauthority

Testando para ver se a parte gráfica está funcionando:

[oracle@mvrac1 ~]$ xclock

O teste funcionou! Vejam:

Pronto!

Vamos iniciar a instalação:

[oracle@mvrac1 ~]$ cd p6810189/
[oracle@mvrac1 p6810189]$ ls -l
total 1784
-r--r--r--  1 oracle oinstall 1620786 Feb 21  2008 10204_buglist.htm
dr-xr-xr-x  4 oracle oinstall    4096 May 21  2008 install
-r--r--r--  1 oracle oinstall  178465 Feb 22  2008 patch_note.htm
dr-xr-xr-x  2 oracle oinstall    4096 May 21  2008 response
-r-xr-xr-x  1 oracle oinstall    1756 Feb 17  2008 runInstaller
dr-xr-xr-x 10 oracle oinstall    4096 May 21  2008 stage
[oracle@mvrac1 p6810189]$ ./runInstaller

Na tela inicial do Patchset, devemos clicar em Next.

Como as variáveis de ambiente já estão definidas, o OUI “encontra” um Oracle Home de BD ainda não existente. Basta clicar no combo “Name” e escolher o Oracle Home do Clusterware:

Com o Oracle Home do Clusterware definido, clicar em Next.

Automaticamente será selecionado o item “Cluster Installation” e todos os nós do cluster (mvrac1 e mvrac2) serão selecionados. Clicar em Next.

Os pré-requisitos serão verificados. Clicar em Next.

Um resumo será exibido. Clicar em Install.

Uma janela com o progresso será exibida.

Será solicitado executar 1 script como root nos 2 nós. Sendo que antes temos que parar os serviços do Clusterware, e em seguida, executar o script. Atenção: o script deverá ser executado em um nó por vez. Não podendo ser executado em paralelo!

Vamos executar o procedimento no servidor mvrac1, como root. Vamos primeiro parar os serviços do Clusterware:

[root@mvrac1 ~]# /u01/app/oracle/product/10.2.0/crs/bin/crsctl stop crs
Stopping resources.
Successfully stopped CRS resources
Stopping CSSD.
Shutting down CSS daemon.

Agora, precisamos executar o script que aplicará o Patchset no servidor mvrac1:

[root@mvrac1 ~]# /u01/app/oracle/product/10.2.0/crs/install/root102.sh
Creating pre-patch directory for saving pre-patch clusterware files
Completed patching clusterware files to /u01/app/oracle/product/10.2.0/crs
Relinking some shared libraries.
Relinking of patched files is complete.
WARNING: directory '/u01/app/oracle/product/10.2.0' is not owned by root
WARNING: directory '/u01/app/oracle/product' is not owned by root
WARNING: directory '/u01/app/oracle' is not owned by root
WARNING: directory '/u01/app' is not owned by root
WARNING: directory '/u01' is not owned by root
Preparing to recopy patched init and RC scripts.
Recopying init and RC scripts.
Startup will be queued to init within 30 seconds.
Starting up the CRS daemons.
Waiting for the patched CRS daemons to start.
  This may take a while on some systems.
.
.
10204 patch successfully applied.
clscfg: EXISTING configuration version 3 detected.
clscfg: version 3 is 10G Release 2.
Successfully accumulated necessary OCR keys.
Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.
node : <nodenumber>: <nodename> <private interconnect name> <hostname>
node 1: mvrac1 mvrac1-priv mvrac1
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
clscfg -upgrade completed successfully

Agora precisamos fazer isso também no servidor mvrac2:

[root@mvrac2 ~]# /u01/app/oracle/product/10.2.0/crs/bin/crsctl stop crs
Stopping resources.
Successfully stopped CRS resources
Stopping CSSD.
Shutting down CSS daemon.

Agora, precisamos executar o script que aplicará o Patchset no servidor mvrac2:

[root@mvrac2 ~]# /u01/app/oracle/product/10.2.0/crs/install/root102.sh
Creating pre-patch directory for saving pre-patch clusterware files
Completed patching clusterware files to /u01/app/oracle/product/10.2.0/crs
Relinking some shared libraries.
Relinking of patched files is complete.
WARNING: directory '/u01/app/oracle/product/10.2.0' is not owned by root
WARNING: directory '/u01/app/oracle/product' is not owned by root
WARNING: directory '/u01/app/oracle' is not owned by root
WARNING: directory '/u01/app' is not owned by root
WARNING: directory '/u01' is not owned by root
Preparing to recopy patched init and RC scripts.
Recopying init and RC scripts.
Startup will be queued to init within 30 seconds.
Starting up the CRS daemons.
Waiting for the patched CRS daemons to start.
  This may take a while on some systems.
.
.
10204 patch successfully applied.
clscfg: EXISTING configuration version 3 detected.
clscfg: version 3 is 10G Release 2.
Successfully accumulated necessary OCR keys.
Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.
node : <nodenumber>: <nodename> <private interconnect name> <hostname>
node 2: mvrac2 mvrac2-priv mvrac2
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
clscfg -upgrade completed successfully

Pronto! Agora precisamos voltar para a tela do OUI:

Clicar em Exit.

Clicar em Yes para confirmar a saída!

Vamos verificar se os recursos do Clusterware subiram?

Como oracle:

[oracle@mvrac1 ~]$ crs_stat -t
Name           Type           Target    State     Host
------------------------------------------------------------
ora.mvrac1.gsd application    ONLINE    ONLINE    mvrac1
ora.mvrac1.ons application    ONLINE    ONLINE    mvrac1
ora.mvrac1.vip application    ONLINE    ONLINE    mvrac1
ora.mvrac2.gsd application    ONLINE    ONLINE    mvrac2
ora.mvrac2.ons application    ONLINE    ONLINE    mvrac2
ora.mvrac2.vip application    ONLINE    ONLINE    mvrac2

Patchset aplicado com sucesso!

Agora faremos a mudança dos Voting Disks para os block devices.

Como vocês sabem, tivemos que instalar o Clusterware com o Voting Disk e o OCR em raw devices por limitações do OUI. Após aplicado o Patchset, precisamos alterar os arquivos do cluster para os block devices.

Para alterarmos os Voting Disks para os block devices, precisamos interromper os serviços do cluster nos 2 nós. O procedimento deverá ser executado como root nos 2 nós.

mvrac1:

[root@mvrac1 ~]# /u01/app/oracle/product/10.2.0/crs/bin/crsctl stop crs
Stopping resources. This could take several minutes.
Successfully stopped CRS resources.
Stopping CSSD.
Shutting down CSS daemon.
Shutdown request successfully issued.

mvrac2:

[root@mvrac2 ~]# /u01/app/oracle/product/10.2.0/crs/bin/crsctl stop crs
Stopping resources. This could take several minutes.
Successfully stopped CRS resources.
Stopping CSSD.
Shutting down CSS daemon.
Shutdown request successfully issued.

Agora, a partir do nó mvrac1, vamos consultar os Voting Disks existentes:

[root@mvrac1 ~]# /u01/app/oracle/product/10.2.0/crs/bin/crsctl query css votedisk
 0.     0    /dev/raw/raw1
 1.     0    /dev/raw/raw3
 2.     0    /dev/raw/raw5

located 3 votedisk(s).

Vamos agora adicionar os 3 Voting Disks que usam block devices. Precisamos usar o flag force:

[root@mvrac1 ~]# /u01/app/oracle/product/10.2.0/crs/bin/crsctl add css votedisk /dev/voting1 -force
Now formatting voting disk: /dev/voting1
successful addition of votedisk /dev/voting1.
[root@mvrac1 ~]# /u01/app/oracle/product/10.2.0/crs/bin/crsctl add css votedisk /dev/voting2 -force
Now formatting voting disk: /dev/voting2
successful addition of votedisk /dev/voting2.
[root@mvrac1 ~]# /u01/app/oracle/product/10.2.0/crs/bin/crsctl add css votedisk /dev/voting3 -force
Now formatting voting disk: /dev/voting3
successful addition of votedisk /dev/voting3.

Agora precisamos eliminar os 3 Voting Disks que usam raw devices. Precisamos usar também o flag force:

[root@mvrac1 ~]# /u01/app/oracle/product/10.2.0/crs/bin/crsctl delete css votedisk /dev/raw/raw1 -force
successful deletion of votedisk /dev/raw/raw1.
[root@mvrac1 ~]# /u01/app/oracle/product/10.2.0/crs/bin/crsctl delete css votedisk /dev/raw/raw3 -force
successful deletion of votedisk /dev/raw/raw3.
[root@mvrac1 ~]# /u01/app/oracle/product/10.2.0/crs/bin/crsctl delete css votedisk /dev/raw/raw5 -force
successful deletion of votedisk /dev/raw/raw5.

Os Voting Disks foram trocados para os block devices. Vamos agora subir os recursos do Clusterware nos nós mvrac1 e mvrac2.

mvrac1:

[root@mvrac1 ~]# /u01/app/oracle/product/10.2.0/crs/bin/crsctl start crs
Attempting to start CRS stack
The CRS stack will be started shortly

mvrac2:

[root@mvrac2 ~]# /u01/app/oracle/product/10.2.0/crs/bin/crsctl start crs
Attempting to start CRS stack
The CRS stack will be started shortly

Vamos ver se os recursos do cluster estão online.

Como oracle:

[oracle@mvrac1 ~]$ crs_stat -t
Name           Type           Target    State     Host
------------------------------------------------------------
ora.mvrac1.gsd application    ONLINE    ONLINE    mvrac1
ora.mvrac1.ons application    ONLINE    ONLINE    mvrac1
ora.mvrac1.vip application    ONLINE    ONLINE    mvrac1
ora.mvrac2.gsd application    ONLINE    ONLINE    mvrac2
ora.mvrac2.ons application    ONLINE    ONLINE    mvrac2
ora.mvrac2.vip application    ONLINE    ONLINE    mvrac2

Agora, precisamos alterar os OCR para os block devices.

Vamos primeiro verificar os OCR existentes.

Como oracle:

[oracle@mvrac1 ~]$ ocrcheck
Status of Oracle Cluster Registry is as follows :
	 Version                  :          2
	 Total space (kbytes)     :     256788
	 Used space (kbytes)      :       2016
	 Available space (kbytes) :     254772
	 ID                       :  382969207
	 Device/File Name         : /dev/raw/raw2
                                    Device/File integrity check succeeded
	 Device/File Name         : /dev/raw/raw4
                                    Device/File integrity check succeeded

	 Cluster registry integrity check succeeded

Observamos que os devices de OCR são /dev/raw/raw2 e /dev/raw/raw4, e a integridade dos dois devices está perfeita.

Vamos agora alterar o OCR para os block devices. O procedimento deve ser executado como root nos 2 nós.

mvrac1:

[root@mvrac1 ~]# /u01/app/oracle/product/10.2.0/crs/bin/ocrconfig -replace ocr /dev/ocr1
[root@mvrac1 ~]# /u01/app/oracle/product/10.2.0/crs/bin/ocrconfig -replace ocrmirror /dev/ocr2

Vamos verificar novamente a integridade dos devices do OCR.

Como oracle:

[oracle@mvrac1 ~]$ ocrcheck
Status of Oracle Cluster Registry is as follows :
	 Version                  :          2
	 Total space (kbytes)     :     256788
	 Used space (kbytes)      :       2016
	 Available space (kbytes) :     254772
	 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

Pudemos observar que agora os devices são /dev/ocr1 e /dev/ocr2 e o teste de integridade foi bem sucedido!

Bom, nesse post vimos como instalar o Patchset 10.2.0.4 no Oracle Clusterware. Também vimos como mudar os Voting Disks e o OCR para os block devices.

No próximo artigo, veremos como instalar o software do Oracle Database 10.2.0.1 no nosso ambiente clusterizado.

Um abraço!

Vinicius