Para alterar o nome de uma instância Oracle (DBNAME), o utilitário NID (DBNEWID) deve ser utilizado. Este procedimento envolve mudanças estrtuurais nos arquivos de controle e dados, exigindo parada temporária da base. Abaixo estão os passos detalhados para renomear com sucesso uma instância Oracle.
1. Desligar e iniciar a instância em modo montado
Primeiramente, encerre a instância normalmente e reinicie-a no estado mounted, sem abrir o banco de dados:
SQL> SHUTDOWN IMMEDIATE
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> STARTUP MOUNT
ORACLE instance started.
Total System Global Area 3.5568E+10 bytes
Fixed Size 37245408 bytes
Variable Size 4294967296 bytes
Database Buffers 3.1139E+10 bytes
Redo Buffers 96968704 bytes
Database mounted.
2. Criar um arquivo de parâmetros PFILE a partir do SPFILE
Gere uma cópia editável do arquivo de inicialização para posterior ajuste do nome da instância:
SQL> CREATE PFILE='/home/oracle/pfile0412' FROM SPFILE;
3. Executar o comando NID para alterar o nome da instância
Com a instância montada, execute o NID como usuário privilegiado. O exemplo abaixo muda o nome da instância de ORCL para NCCTEST:
nid TARGET=sys/oracle DBNAME=ncctest LOGFILE=/home/oracle/nid.log
O conteúdo gerado em /home/oracle/nid.log confirma as alterações realizadas:
- ID da base (DBID) modificado de
1689820245para2514432329; - Todos os arquivos de controle e datafiles foram atualizados com o novo nome;
- A instância é automaticamente desligada ao final da operação.
4. Atualizar o PFILE com o novo nome da instância
Edite o arquivo pfile0412 usando um editor como vi e substitua todas as ocorrências do nome antigo pelo novo:
vi /home/oracle/pfile0412
:%s/ORCL/NCCTEST/g
5. Configurar a variável ORACLE_SID no ambiente
Atualize o perfil do usuário Oracle (.bash_profile) para refletir o novo nome da instância:
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/db
export ORACLE_SID=ncctest
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export LANG=en_US.UTF-8
Carregeu as novas variáveis de ambiente:
source ~/.bash_profile
6. Iniciar o banco com o novo PFILE e opção RESETLOGS
Inicie a instância utilizando o PFILE modificado e abra o banco com RESETLOGS, conforme exigido após a mudança de nome:
SQL> STARTUP PFILE='/home/oracle/pfile0412' MOUNT;
ORACLE instance started.
Database mounted.
SQL> ALTER DATABASE OPEN RESETLOGS;
Database altered.
7. Gerar um novo arquivo de senhas
Crie um novo password file compatível com o novo ORACLE_SID:
orapwd FILE=$ORACLE_HOME/dbs/orapwncctest PASSWORD=oracle ENTRIES=5 FORCE=Y FORMAT=12
Este passo garante que usuários com privilégios administrativos possam se autenticar corretamente após a renomeação.