O servidor é Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit
Existe uma maneira fácil e rápida de alterar os SIDs dos bancos de dados de teste no servidor?
Descartar e recriar o banco de dados é uma opção para mim. Mas estou procurando algo que exija menos tempo.
A outra opção para atribuir nomes nos clientes tnsnames.ora é propensa a erros, porque eles não são administrados centralmente.
Comparado com o tempo para descartar e criar um banco de dados no SQL-Server, o tempo necessário para criar um novo banco de dados Oracle é excessivamente maior. Mais adiante no SQL-Server você pode renomear instâncias do SQL-Server. [ Normalmente você renomeia o servidor onde o SQL-Server está rodando e tem alguns problemas até renomear o servidor também ].
Você precisa recriar o arquivo de controle
Este post de Kaunain Ahmed descreve as etapas necessárias:
Existem outras ferramentas referenciadas no tópico.
Aqui está um post do AskTom que faz referência ao processo com mais detalhes. Embora seja para 10g, ainda deve funcionar.
Como o utilitário 9i dbnewid (nid) pode ser usado para alterar o nome do banco de dados (e DBID, se necessário). Se o nome do banco de dados for alterado apenas, o resetlogs não será necessário:
1 banco de dados de inicialização no modo de montagem
2 execute nid para alterar o nome do banco de dados:
3 desligue e inicie o banco de dados no modo de montagem:
4 altere
db_name
no spfile (ou no pfile editando o arquivo):5 recrie o arquivo de senha:
6 inicializar o banco de dados
7 etapas de renomeação de postagem:
Sim, você pode e é muito fácil também.
No Oracle, o ORACLE_SID é apenas o nome da instância Oracle e não tem muito a ver com o DBNAME. Um banco de dados com o nome PROD pode ser servido usando Instâncias com qualquer nome válido. Não há conexão direta entre o SID e o DBNAME. Essa conexão é feita usando os parâmetros.
O arquivo de parâmetro é identificado como init${ORACLE_SID}.ora ou spfile${ORACLE_SID}.ora No arquivo de parâmetro está o parâmetro db_name. É aqui que é feita a conexão entre a Instância Oracle e o banco de dados.
Portanto, você não precisa recriar um arquivo de controle, não precisa usar nid, apenas certifique-se de que seu arquivo de parâmetro tenha o nome correto, desative a instância Oracle antiga e inicie a nova instância Oracle depois de definir ORACLE_SID para o novo nome da Instância Oracle. O arquivo de parâmetros e o arquivo de senha são encontrados usando ${ORACLE_SID} como parte de seu nome.
A recriação do arquivo de controle só é necessária quando o DBNAME precisa ser alterado. nid é necessário após uma operação de clonagem em que você precisa alterar o DBID para evitar acidentes que possam prejudicar os backups do banco de dados de origem.
Etapas para alterar o lado do oracle no linux:
Faça login no sqlplus como sysdba e execute o seguinte
O banco de dados é iniciado com um novo nome de instância