O servidor é o 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?
Soltar 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, a quantidade de tempo necessária para criar um novo banco de dados Oracle é excessivamente maior. Mais adiante no SQL-Server, você pode renomear instâncias do SQL-Server. [Geralmente, você renomeia o servidor em que o SQL-Server está sendo executado e tem alguns problemas até renomear o servidor também].
fonte
Respostas:
Como o utilitário 9i dbnewid (nid) pode ser usado para alterar o nome do banco de dados (e o DBID, se necessário). Se o nome do banco de dados estiver sendo 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 encerre e inicie o banco de dados no modo de montagem:
4 alteração
db_name
no spfile (ou no pfile editando o arquivo):5 recriar arquivo de senha:
6 inicialização do banco de dados
7 etapas de renomeação de post:
fonte
Você precisa recriar o arquivo de controle
Este post de Kaunain Ahmed descreve as etapas necessárias:
Existem outras ferramentas mencionadas no encadeamento.
Aqui está um post do AskTom que faz referência ao processo em mais detalhes. Embora seja 10g, ainda deve funcionar.
fonte
Sim, você pode e também é muito fácil.
No Oracle, 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 a conexão entre a Instância Oracle e o banco de dados é feita.
Portanto, você não precisa recriar um arquivo de controle, não precisa usar nid, apenas certifique-se de que seu arquivo de parâmetros tenha o nome certo, desative a antiga Instância Oracle e inicie a nova Instância Oracle após 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 o $ {ORACLE_SID} como parte de seu nome.
Recriar o arquivo de controle é necessário apenas quando o DBNAME precisa ser alterado. nid é necessário após uma operação de clone, na qual é necessário alterar o DBID para evitar acidentes que possam prejudicar os backups do banco de dados de origem.
fonte