Vous devez recréer le fichier de contrôle
Cet article de Kaunain Ahmed décrit les étapes nécessaires :
- à faire :modifier le fichier de contrôle de sauvegarde de la base de données pour tracer ;
- extraire la commande "create controlfile" du fichier de trace background-dump-destination.
- fermer la base de données.
- Changez le DB-Name dans votre init.ora et changez le init.ora
- Modifier le SID dans /etc/oratab ou /var/opt/oracle/oratab
- Modifiez le SID dans votre environnement et sourcez-le
- Démarrez la base de données pour mount-statusstartup mount
- Recréez le fichier de contrôle avec l'instruction de la position 2.
- Faites une modification du nom de la base de données global_name en 10. Modifiez la configuration TNS en conséquence$ORACLE_HOME/network/admin/*.ora Recherchez SID et GLOBAL_NAME
Il existe d'autres outils référencés dans le fil.
Voici un article de AskTom qui fait référence au processus plus en détail. Bien que ce soit pour 10 g, cela devrait toujours fonctionner.
Depuis 9i, l'utilitaire dbnewid (nid) peut être utilisé pour modifier le nom de la base de données (et le DBID si nécessaire). Si le nom de la base de données est modifié uniquement, la réinitialisation des journaux n'est pas requise :
-
1 base de données de démarrage en mode montage
shutdown immediate startup mount
-
2 exécutez nid pour changer le nom de la base :
nid target=sys/[email protected] dbname=newname setname=YES
-
3 arrêt et démarrage de la base de données en mode montage :
shutdown immediate startup mount
-
4 modifier
db_name
dans spfile (ou dans pfile en éditant le fichier) :alter system set db_name=newname scope=spfile;
-
5 recréer le fichier de mot de passe :
orapwd file=orapwnewname password=syspassword
-
6 démarrer la base de données
startup
-
7 étapes de changement de nom :
change SID in listener.ora correct tnsnames.ora remove old trace directories change /etc/oratab (UNIX) or rename windows service using oradim
Oui, vous pouvez 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 portant 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.
Ainsi, 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 porte le bon nom, supprimez 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 le ${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.