Question

Le serveur est de la base de données Oracle Edition Enterprise version 11.1.0.7.0 - 64bit

Y at-il un moyen facile et rapide de modifier les bases de données des SIDs de test sur le serveur?

Dropping et recréer de la base de données est une option pour moi. Mais je suis à la recherche de quelque chose nécessitant moins de temps.

L'autre option aux noms Assigner des clients tnsnames.ora est sujette à des erreurs, parce qu'ils ne sont pas au centre administrés.

Par rapport au temps de laisser tomber et créer une base de données sur SQL Server, la quantité de temps nécessaire pour créer une nouvelle base de données Oracle est trop grande. De plus sur SQL Server, vous pouvez renommer les instances SQL Server. [Habituellement, vous renommez le serveur sur lequel SQL Server est en cours d'exécution et ont des problèmes jusqu'à ce que vous renommer le serveur trop].

Était-ce utile?

La solution

Depuis l'utilitaire 9i dbnewid (de JNV) 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 en cours de modification ne Resetlogs alors n'est pas nécessaire:

  • 1 base de données de démarrage en mode montage

    shutdown immediate
    startup mount
    
  • 2 terme au changement JNV nom de base de données:

    nid target=sys/syspassword@dbtns dbname=newname setname=YES
    
  • 3 arrêt et base de données démarre en mode montage:

    shutdown immediate
    startup mount
    
  • 4 changement db_name dans spfile (ou en modifiant le fichier pfile):

    alter system set db_name=newname scope=spfile;
    
  • 5 Recréez le fichier de mot de passe:

    orapwd file=orapwnewname password=syspassword
    
  • 6 démarrage la base de données

    startup
    
  • 7 étapes postérieures de renommage:

    change SID in listener.ora
    correct tnsnames.ora
    remove old trace directories
    change /etc/oratab (UNIX) or rename windows service using oradim
    

Autres conseils

Vous devez recréer le fichier de contrôle

post par Kaunain Ahmed décrit les étapes nécessaires:

  
      
  1. faire: controlfile alter de sauvegarde de base de données trace;
  2.   
  3. extraire la commande « créer controlfile » de la   tracefile background-vidage destination.
  4.   
  5. arrêt de la DB.
  6.   
  7. Modifier la DB-nom dans votre init.ora et changer le init.ora
  8.   
  9. Modifier le SID dans / etc / oratab ou / var / opt / oracle / oratab
  10.   
  11. Modifier le SID dans votre environnement et de la source, il
  12.   
  13. Démarrage de la base de données de monter statut   démarrage mount
  14.   
  15. Recréer la controlfile avec l'énoncé de la position 2.
  16.   
  17. Faites une base de données alter renommage global_name à   10.Change le TNS-configuration en conséquence   $ ORACLE_HOME / network / admin / *. Ora Rechercher SID et GLOBAL_NAME
  18.   

Il existe d'autres outils référencés dans le fil.

Voici un poster par AskTom qui fait référence au processus plus en détail. Bien qu'il soit pour 10g, il devrait fonctionner.

Oui, vous le pouvez et il est assez facile aussi.

Dans Oracle, le ORACLE_SID est juste le nom de l'instance Oracle et n'a pas beaucoup à voir avec le DBNAME. Une base de données avec le nom PROD, peut être servi en utilisant des instances avec un nom valide. Il n'y a pas de lien direct entre le SID et le DBNAME. Cette connexion est faite en utilisant les paramètres.

Le fichier de paramètres est identifié comme initialisation $ {} ORACLE_SID .ora ou spfile $ {} ORACLE_SID .ora Dans le fichier de paramètres est le paramètre nom_base. C'est là le lien entre l'instance Oracle et la base de données est faite.

Alors, vous n'avez pas besoin de recréer un controlfile, vous n'avez pas besoin d'utiliser JNV, assurez-vous que votre parameterfile a le bon nom, faire tomber l'ancienne instance Oracle et commencer la nouvelle instance Oracle après avoir mis ORACLE_SID au nouveau nom Oracle instance. Le parameterfile et le fichier de mot de passe sont tous les deux trouvé en utilisant le $ {} ORACLE_SID dans le cadre de leur nom.

Recréer le controlfile est nécessaire uniquement lorsque le DBNAME doit changer. JNV est nécessaire après une opération de clonage où vous devez changer la DBID pour prévenir les accidents qui pourraient blesser les sauvegardes de la base de données source.

Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange
scroll top