Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Adicionar manualmente nova instância RAC


Para iniciar este post, direi que, se possível, você deve usar o DBCA para adicionar uma nova instância ao seu banco de dados RAC. O DBCA cuidará de todos os detalhes para você. É um assistente simples de 6 páginas e sua nova instância está funcionando em seu novo nó.

Recentemente, fui encarregado de adicionar uma nova instância para nossos bancos de dados de produção em execução em nosso cluster de 3 nós. Consegui criar a quarta instância no quarto nó para 2 dos 3 bancos de dados em execução neste cluster. Quando tentei estender o terceiro banco de dados para o quarto nó, recebi um erro informando que o diretório $ORACLE_HOME não foi compartilhado em todos os nós. Bem, para começar, o diretório $ORACLE_HOME não precisa ser compartilhado em todos os nós. E isso funcionou para os outros dois bancos de dados no mesmo diretório inicial. Eu ainda tenho que descobrir por que há um problema com este terceiro banco de dados. Após duas semanas, minha solicitação de serviço para resolver o problema teve praticamente zero progresso. Então, decidi adicionar manualmente as instâncias, pois o Suporte da Oracle não está fornecendo a ajuda que preciso. Em minha mente, eu sabia que adicionar manualmente as instâncias não era tão difícil, mas não consegui encontrar muitas informações sobre como realmente fazê-lo. Esta postagem mostra as etapas para adicionar manualmente uma nova instância ao seu banco de dados RAC.

1. Defina os parâmetros específicos da instância para seu SPFILE. Eu tive que adicionar os seguintes parâmetros para minha nova instância:

alter system set instance_number=4 scope=spfile sid='orcl4′;

alter system set local_listener='LISTENER_ORCL4′  scope=spfile sid='orcl4′;

alter system set log_archive_format=’%t_%s_%r.dbf’ scope=spfile sid=’orcl4′;

alter system set log_archive_trace=0 scope=spfile sid='orcl4′;

alter system set thread=4 scope=spfile sid='orcl4′;

alter system set undo_tablespace='UNDOTBS4′ scope=spfile sid='orcl4′;

2. Um dos parâmetros requer a entrada LISTENERS_ORCL4 no arquivo TNSNAMES.ORA. Faça esta entrada no arquivo e quaisquer outras entradas necessárias para esta nova instância.

3. Coloquei meu arquivo spfile e senha no armazenamento compartilhado. No novo nó, preciso fazer um softlink para eles.

cd $ORACLE_HOME/dbs

ln -s /u01/app/oracle/oradata/orcl/data01/spfileorcl.ora spfileorcl4.ora

ln -s /u01/app/oracle/oradata/orcl/data01/orapworcl orapworcl4

4. Adicione grupos de redo logs online.

alter database add logfile thread 4 group 40
( '/u01/app/oracle/oradata/smp/redo01/redo40a.log',
'/u01/app/oracle/oradata/smp/redo01/ redo40b.log') tamanho 52429312;

5. Adicione arquivos de redo log em espera.

alter database add standby logfile thread 4
‘/u01/app/oracle/oradata/smp/redo01/smp_4srl400.f’ size 52429312;

6. Como tenho um banco de dados em espera, preciso adicionar logs de redo on-line e logs de redo em espera no banco de dados de espera também. Veja meu post anterior.

7. Ative o thread de refazer.

alterar banco de dados habilitar thread 4;

8. Crie a nova instância no Grid Infrastructure

srvctl add instance -d orcl -i orcl4 -n myhost04

9. Inicie a nova instância

srvctl inicia instância -d orcl -i orcl4

10. No novo nó, verifique se o SMON está em execução.

ps -ef|grep smon

11. Verifique se a instância está aberta.

selecione instance_number,instance_name,thread#,status de gv$instance;

12. Modifique /etc/oratab no novo nó para conter a entrada da instância

orcl4:/u01/app/oracle/product/11.2.0.2:N

13. No novo nó, conecte-se à instância com o SQL*Plus para garantir que você possa acessar a instância.

14. Verifique a instância com GI.

banco de dados de status srvctl -d orcl

15. A instância agora está em execução no novo nó. Tudo o que resta é tornar quaisquer serviços de banco de dados disponíveis ou preferenciais nesse novo nó e suas conexões podem começar a usar a nova instância.

srvctl modificar serviço -d orcl -s orcl_svc -n -i orcl1,orcl2,orcl3,orcl4

srvctl iniciar serviço -d orcl-s orcl_svc -i orcl4

serviço de status srvctl -d orcl

Isso é tudo o que há para isso!