quarta-feira, 19 de janeiro de 2011

Como adicionar o terceiro nó no Oracle RAC

Voltando de uma longas férias... Que nada eu estava mesmo é envolvido em outros projetos.

O roteiro a seguir descreve de forma bastante simples "Como adicionar o terceiro nó no Oracle RAC". Qualquer dúvida, entre em contato!

----


#1 - Configure o Sistema Operacional do terceiro nó

Instale o sistema operacional com as mesmas opções configurados nos outros nós do cluster

Modifique o arquivo /etc/hosts para incluir este novo servidor por exemplo: rac1, rac1-priv, rac1-vip, rac2, ...

Faça ajustes nas configurações de rede

A partir da versão 9i, a Oracle passou a usar o protocolo UDP no sistema operacional Linux para comunicação IPC (inter-process communication), ou seja, a comunicação entre caches das instâncias dentro do RAC (cache fusion). A Oracle recomenda que se façam ajustes nos parâmetros padrões (default e máximo) do tamanho do buffer de recepção e de envio para 256 KB. Estes buffers são usados pelos protocolos TCP e UDP para armazenar os dados até serem lidos pela aplicação.

Modifique os seguintes parâmetros no arquivo /etc/sysctl.conf :

# Default setting in bytes of the socket receive buffer
net.core.rmem_default=262144

# Default setting in bytes of the socket send buffer
net.core.wmem_default=262144

# Maximum socket receive buffer size which may be set by using
# the SO_RCVBUF socket option
net.core.rmem_max=262144

# Maximum socket send buffer size which may be set by using
# the SO_SNDBUF socket option
net.core.wmem_max=262144

Confirme a alteração executando o comando:

# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144



Crie o usuário oracle e o grupo dba com os mesmos uid e gid dos outros nós configurados no cluster.

# groupadd -g 501 oinstall
# groupadd -g 502 dba
# useradd -m -u 501 -g oinstall -G dba -d /home/oracle -s /bin/bash -c "usuario Oracle" oracle
# id oracle uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)

Crie CRS_HOME e ORACLE_HOME e conceda os mesmos privilégios dos outros nós.

# mkdir -p /u01/app/oracle
# chown -R oracle:oinstall /u01/app/oracle
# chmod -R 775 /u01/app/oracle

Configure os parâmetros do kernel e hancheck-timer.

Configure os nós do RAC para permitir acesso remoto (ssh ou rsh)

#2 - Adicione o nó ao cluster
execute o script: addNode.sh a partir do diretório: $ORA_CRS_HOME/oui/bin em um dos servidores que participa do RAC.

Clique em NEXT

Especifique o nó que está sendo adicionado. Será apresentada a tela "Cluster Node Addition Progress". Em seguida, deve-se executar os scripts rootaddnode.sh, orainstRoot.sh, root.sh logado com o usuário root.

Siga o processo de execução dos scripts em cada servidor, conforme orientação.

#3 - Instale o software RAC no novo nó da rede

Exceute o script em um dos nós já configurados no RAC:
$ORACLE_HOME/oui/bin/addNode.sh

Clique em NEXT

Na tela "Specify Cluster Nodes to Add to Installation", informe o nó que você prentende instalar e clique em NEXT.

Na tela "Cluster Node Addition Summary", clique next

Será apresentada a tela "Cluster Node Addition Progress" e você será solicitado a executar o script logado com o usuário root:
run root.sh

Será apresentada a tela "End of Installation" para sair da instalação.

Execute no prompt:
$ORACLE_HOME/bin/vipca -nodelist <novo nó> (por exemplo rac3)

A tela de boas vindas VIPCA aparecerá, clique em NEXT

Adicione o IP virtual do novo nó e clique em NEXT.

A tela "Summary" será mostrada, clique em Install.

Aparecerá a tela de progresso da instalação criando e iniciando o recurso de CRS. Após o término, Clique OK, veja os resultados da configuração e clique em EXIT.

Veja se a informação sobre o Interconnect está corret com o comando:

oifcfg getif

Se for preciso mudá-la use o comando:

oifcfg setif <nome da interface>/<ssubrede>:<interconnect|publica>


Exemplo:

oifcfg setif -global eth1/10.10.10.0:cluster_interconnect
ou
oifcfg setif -node <nome do nó> eth1/10.10.10.0:cluster_interconnect

#4 - Reconfigure o LISTENER para o novo nó

Execute NETCA no novo nó

Escolha "Cluster Configuration", clicque em NEXT

Selecione o nó que está instalando o listener, clique em NEXT

Escolha "Listener configuration", clique NEXT.

Selecione "Reconfigure", clique NEXT.

Escolha o listener que deseja reconfigurar, clique NEXT.

Selecione o protocolo, clique NEXT.

Selecione o port, clique NEXT.

Escolha a opção de não configurar outro listener para sair.

Se aparecer a mensagem: "The information provided for this listener is currently in use by another listener...". Clique YES para aceitar.

Aparecerá então a tela "Listener Configuration Complete", clique NEXT.

Clique "Finish" para deixar o aplicativo NETCA

Execute o comando crs_stat para ver se o listener do recurso CRS foi criado.

Examplo: cd $ORA_CRS_HOME/bin ./crs_stat

O novo listener provavelmente estará OFFLINE. Inicie o serviço com o comando:

srvctl start nodeapps -n <novo nó>

Uso comando crs_stat para confirmar se os serviços VIP's, GSD's, ONS's, e listeners estão ONLINE.

#5 - Crie a instância via DBCA

Execute o comando DBCA de um dos nós existentes

Na tela de boas vindas escolha "Oracle Real Application Clusters", clique NEXT.

Selecione "Instance Management", clique NEXT.

Selecione "add an instance", clique NEXT.

Escolha o banco de dados ao qual será adicionada a instância e especifique um usuário com privilégios SYSDBA. clique NEXT duas vezes.

Selecione o nome correto para instância e nó do cluster, clique NEXT.

Confira as configurações de storage, clique NEXT.

Confira a tela com o resumo da instalação e clique OK.

Após término da instalação, quando perguntado se deseja executar outra operação escolha “NO” para sair do aplicativo DBCA

Para conferir se a instalação terminou corretamente, entre em um dos servidores e consulte a view gv$instance, deverão aparecer todos os nós configurados.

Inicie o novo serviço de banco de dados:

$ srvctl start service -s <servico> -d <banco> -i <instancia nova>


Parabéns, Você adicionou mais uma instância ao seu banco de dados RAC!