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.