Renomeando uma Instância Oracle com Utilitário NID

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 1689820245 para 2514432329;
  • 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.

Tags: Oracle NID DBNEWID ORACLE_SID PFILE

Publicado em 8-11 13:30