Le serveur est Oracle Database 11g Enterprise Edition version 11.1.0.7.0 - 64 bits
Existe-t-il un moyen simple et rapide de modifier les SID des bases de données de test sur le serveur?
La suppression et la recréation de la base de données est une option pour moi. Mais je cherche quelque chose qui nécessite moins de temps.
L'autre option pour attribuer des noms dans les clients tnsnames.ora est sujette à des erreurs, car ils ne sont pas administrés de manière centralisée.
Comparé au temps de suppression et de création d'une base de données sur SQL-Server, le temps nécessaire pour créer une nouvelle base de données Oracle est excessivement plus long. Plus loin sur SQL-Server, vous pouvez renommer des instances SQL-Server. [Habituellement, vous renommez le serveur sur lequel s'exécute SQL-Server et rencontrez des problèmes jusqu'à ce que vous renommiez également le serveur].
la source
Réponses:
Depuis l'utilitaire 9i dbnewid (nid) peut être utilisé pour changer le nom de la base de données (et DBID si nécessaire). Si le nom de la base de données est modifié uniquement, alors resetlogs n'est pas requis:
1 base de données de démarrage en mode montage
2 Exécutez nid pour changer le nom de la base de données:
3 arrêt et démarrage de la base de données en mode montage:
4 modification
db_name
du fichier spfile (ou du fichier pf modifiant le fichier):5 recréer le fichier de mot de passe:
6 Démarrage de la base de données
7 étapes de changement de nom:
la source
Vous devez recréer le fichier de contrôle
Cet article de Kaunain Ahmed décrit les étapes nécessaires:
Il existe d'autres outils référencés dans le fil.
Voici un article d'AskTom qui fait référence au processus plus en détail. Bien que ce soit pour 10g, cela devrait toujours fonctionner.
la source
Oui, c'est possible et c'est assez facile aussi.
Dans Oracle, ORACLE_SID n'est que le nom de l'instance Oracle et n'a pas grand-chose à voir avec le DBNAME. Une base de données avec le nom PROD peut être servie à l'aide d'instances avec n'importe quel nom valide. Il n'y a pas de connexion directe entre le SID et le DBNAME. Cette connexion est établie à l'aide des paramètres.
Le fichier de paramètres est identifié comme init $ {ORACLE_SID} .ora ou spfile $ {ORACLE_SID} .ora Dans le fichier de paramètres se trouve le paramètre db_name. C'est là que la connexion entre l'instance Oracle et la base de données est établie.
Donc, vous n'avez pas besoin de recréer un fichier de contrôle, vous n'avez pas besoin d'utiliser nid, assurez-vous simplement que votre fichier de paramètres a le bon nom, arrêtez l'ancienne instance Oracle et démarrez la nouvelle instance Oracle après avoir défini ORACLE_SID au nouveau nom d'instance Oracle. Le fichier de paramètres et le fichier de mots de passe sont tous deux trouvés en utilisant $ {ORACLE_SID} dans le cadre de leur nom.
La recréation du fichier de contrôle n'est nécessaire que lorsque le DBNAME doit changer. nid est nécessaire après une opération de clonage où vous devez modifier le DBID pour éviter les accidents qui pourraient endommager les sauvegardes de la base de données source.
la source