Olá a todos. Segue um pequeno artigo mostrando como alterar o DBNAME de uma base de dados usando a ferramenta da Oracle chamada DBNEWID.
Essa ferramenta permite alterar tanto o Database Identifier (DBID) quando o Database Name (DBNAME).
Alterar o DBID de uma base faz com que todos os backups desta sejam invalidados. Também será necessário abrir a base com a opção RESETLOGS. Mudar apenas o DBNAME não invalida os backups anteriores, pois o RMAN registra em seu catalogo o DBID da base de dados.
1) CONSIDERAÇÕES INICIAIS
Antes de invocar a ferramenta “nid”, a base de dados deve ser desligada de forma normal (SHUTDOWN IMMEDIATE)
O parâmetro do NID chamado SETNAME muda apenas o nome da base (DBNAME), deixando o DBID o mesmo. Caso o SETNAME seja omitido, serão alterados tanto o DBNAME quando o DBID da base.
Deve-se criar um PFILE a partir do SPFILE antes de chamar a ferramenta NID, pois será necessário alterar o parâmetro DBNAME no PFILE para subir a base com o novo DBNAME.
2) PASSOS – MUDANDO APENAS O NOME (DBNAME)
2.1) Criar um PFILE a partir do SPFILE atual da base
2.2) Desligar de forma limpa a base de dados
2.3) Subir a base em modo MOUNT
2.4) Chamar a ferramenta NID, com um usuário que possua a role SYSDBA. Em DBNAME, deve-se colocar o novo nome da base de dados:
2.5) Após terminar a execução da ferramenta NID, alterar o ORACLE_SID para o novo nome
2.6) Iniciar a base de dados com o PFILE modificado no passo 1
2.7) Criar um SPFILE novo a partir do PFILE usado para subir a base, depois baixar a base de dados:
2.8) Criar um novo PFILE, chamado “init<novo_nome>.ora”, para apontar para o SPFILE criado anteriormente:
2.9) Subir a base normalmente
2.10) Caso seja um ambiente com o Clusterware instalado, remover o resource antigo e adicionar a nova base de dados
É isso ai caros amigos. Até a próxima.