Muitos de nós no decorrer de nossas carreiras já tivemos que trocar o nome de um banco de dados por diversos motivos (confecção de um dataguard para migração, confecção de uma base de testes entre outros).
Havia um série de passos e modos para fazer essa tarefa, algumas delas eram bastante complexas. Com o Oracle 9i surgiu o utilitário NID (DBNEWID Utility) que resume essa tarefa a poucos passos bem simples.
1. Rename do banco NID (de PROD para TESTE)
O utilitário NID é usado para ajustar o dbid e o nome do banco de dados nos datafiles e nos controlfiles da base.
1.1. Parada da base de dados ( PROD)
Para realizar o procedimento do NID, o banco de dados precisa ser parado em modo clean (não pode ser com abort), tire qualquer monitoramento (SUNCLUSTER por exemplo) para evitar problemas.
SQL> shutdown immediate;
1.2. Inicialização em modo MOUNT
SQL> STARTUP MOUNT
1.3. Execução do NID pelo sistema operacional
O valor de dbname é o “para”, ou seja, o novo nome do banco de dados
$ export ORACLE_SID=PROD
$ nid target=/ dbname=TESTE logfile=nid171210.log
Exemplo de saída com sucesso
Database name changed to TESTE.
Modify parameter file and generate a new password file before restarting.
Database ID for database TESTE changed to 1091592711.
All previous backups and archived redo logs for this database are unusable.
Database has been shutdown, open database with RESETLOGS option.
Succesfully changed database name and ID.
DBNEWID – Completed succesfully.
Obs.: o NID baixa a base de dados automaticamente, não se assuste com isso. Caso não ocorra, baixe o banco com IMMEDIATE novamente.
1.4. Ajuste do parameter file
Retire quaisquer referências do seu banco antigo (PROD) de seu parameter file, DB_NAME é a principal delas.
Atenção: Todos os backups do banco anteriores ao processo de rename NID estão inutilizados, se está fazendo um novo ambiente ou uma base de testes não há com o que se preocupar.