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

Instalando o RAC para um banco de dados com arquivos de dados


Não faz muito tempo, precisei atualizar o Oracle Clusterware e o RDBMS de 11.1.0.7 para 11.2.0.2. Tenho muita experiência com o software Oracle RDBMS, mas suspeito que sou como a maioria dos DBAs, pois minha experiência com Clusterware não está no mesmo nível que minha experiência com RDBMS. Assim, embora eu não tivesse medo de atualizar o software RDBMS, abordei a atualização do Clusterware com algum grau de nervosismo. É certo que esse mal-estar nasceu de um menor grau de experiência com o produto. Portanto, antes de tentar em produção, testei, testei e testei o máximo que pude.
A atualização do Clusterware ocorreu sem problemas graças a muito planejamento e testes.

Após a atualização, eu estava refletindo sobre o que deu certo e o que deu errado, e o que eu poderia fazer diferente no futuro. Ocorreu-me que eu poderia ter estragado totalmente a atualização do Clusterware, explodido o software Clusterware e ainda ser capaz de instalar o Clusterware do zero e conseguir colocar meu banco de dados RAC em funcionamento. Este post mostrará as etapas que fiz em um ambiente de teste para fazer essa tarefa. Portanto, se você se deparar com uma atualização ou instalação de Clusterware totalmente errada, não há medo, porque enquanto você ainda tiver seus arquivos de banco de dados, poderá colocar as coisas em funcionamento. Se a atualização do Clusterware falhar, você terá que corrigir a causa raiz da falha antes de continuar. Portanto, se você tiver uma configuração de interconexão de cluster incorreta ou armazenamento inválido para seus discos de votação, precisará resolver esses problemas e seguir estas etapas.

Eu tenho um banco de dados válido com todos os meus arquivos de dados em armazenamento compartilhado acessível por todos os nós do cluster. Meu teste tem dois nós para o cluster. Supõe-se também que o banco de dados foi encerrado corretamente. Este artigo assume que o nome do banco de dados é ORCL.

Observação:se o banco de dados que você está adicionando ao RAC já fazia parte do RAC, você pode pular as etapas 9 a 11 abaixo. As etapas 9 a 11 são necessárias se você também estiver convertendo o banco de dados de um banco de dados de instância única em um banco de dados Oracle RAC ao adicioná-lo ao Clusterware.

Etapas
1. Faça um backup a frio dos arquivos de dados do banco de dados. Caso algo aconteça, você sempre pode restaurar a partir do backup simplesmente copiando os arquivos da mídia.
2. Certifique-se de que os nós foram limpos da instalação/atualização do Clusterware. Consulte a Nota Metalink 239998.1 para obter instruções detalhadas, se necessário.
3. Instale o Oracle Clusterware corretamente. Você deve ter corrigido os problemas que causaram a falha desta etapa em primeiro lugar.
a. Verifique se o cluster está funcionando.
i. Servidor de status $CRS_HOME/bin/crsctl
1. Todos os nós no cluster devem estar ONLINE.
4. Instale o Oracle RDBMS no cluster.
a. O OUI deve detectar o Clusterware e se oferecer para realizar uma instalação RAC.
5. Ative o DBCA para criar um banco de dados shell. Usaremos o DBCA para configurar tudo no CRS para nós.
a. Escolha as opções para criar um banco de dados RAC.
b. Use o mesmo nome do seu banco de dados existente.
c. Crie o banco de dados shell em todos os nós do cluster.
d. Use um local comum para os arquivos de banco de dados, mas não sobrescreva seus arquivos de dados existentes.
6. Encerre o banco de dados shell
a. srvctl stop database –d orcl
7. Configure seu SPFILE
a. Se você tiver o SPFILE do seu banco de dados antigo:
i. Coloque o arquivo no disco compartilhado.
ii. Atualize $ORACLE_HOME/dbs/initorcl.ora para apontar para o local SPFILE correto. Faça isso em todos os nós
b. Se você não tiver um SPFILE, crie um PFILE do zero e use o comando CREATE SPFILE FROM PFILE para criar um SPFILE.
i. Certifique-se de que o parâmetro CONTROL_FILES aponte para o local correto, não para os arquivos de controle do banco de dados shell.
c. (Opcional) Se você tiver um arquivo de senha, copie-o para o armazenamento compartilhado e atualize o softlink em $ORACLE_HOME/dbs (em todos os nós) para apontar para o arquivo de senha. Se você não tiver um arquivo de senha, poderá criar um posteriormente, se desejar.
8. Atualize o CRS com a localização do SPFILE (como root)
a. cd $CRS_HOME/bin
b. ./srvctl banco de dados de configuração –d orcl
i. A saída deve informar que o SPFILE está no local do banco de dados shell
c. ./srvctl modificar banco de dados –d orcl –p /correct_path/spfileorcl.ora
i. Execute a etapa 8b para verificar se a alteração ocorreu.
ii. Verifique a mudança no outro nó também. Você só precisa executar este comando de modificação uma vez para todos os nós.
9. Modifique o conteúdo do SPFILE.
a. sqlplus /nolog
b. conectar / como sysdba
c. crie pfile='/home/oracle/pfile.txt' de spfile='/path_to_spfile/spfileorcl.ora';
d. Abra o pfile em um editor de texto e faça as seguintes alterações:
i. Adicione:
1. *.cluster_database=true
2. *.cluster_database_instances=2
3. orcl1.instance_number=1
4. orcl2.instance_number=2
5. orcl1.thread=1
6. orcl2.thread=2
ii. Altere o parâmetro *.undo_tablespace para orcl1.undo_tablespace
e. Use o pfile para alterar o spfile
i. crie spfile='/path_to_spfile/spfileorcl.ora' de pfile='/home/oracle/pfile.txt';
10. Crie um novo tablespace UNDO para a outra instância.
a. export ORACLE_SID=orcl1
b. sqlplus / as sysdba
c. inicialização
d. criar undo tablespace undotbs2 datafile ‘/path/undotbs02.dbf’ tamanho 30m;
e. alter system set undo_tablespace=undotbs2 scope=spfile sid='orcl2′;
11. Crie logs de redo para o novo thread
a. alter database add logfile thread 2 group 10 ‘/path/redo10.log’ size 50m;
b. alter database add logfile thread 2 group 11 ‘/path/redo11.log’ size 50m;
c. alter database add logfile thread 2 group 12 ‘/path/redo12.log’ size 50m;
d. alter database enable public thread 2;
12. srvctl iniciar banco de dados –d orcl

Neste ponto, você instalou o Clusterware do zero e adicionou um banco de dados existente a ele. Agora que tenho um método comprovado de pegar qualquer conjunto de arquivos de banco de dados e adicioná-los a qualquer instalação de clusterware, reduzi meus níveis de nervosismo ao realizar atualizações de clusterware em sistemas de produção. Mesmo se eu fizer uma bagunça total, posso acabar com o Clusterware, reinstalá-lo e, em seguida, adicionar o banco de dados ao Clusterware e ter meu banco de dados RAC funcionando rapidamente.