Frage

Der Server ist Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit

Gibt es eine einfache und schnelle Möglichkeit, die SIDs der Testdatenbanken auf dem Server zu ändern?

Das Ablegen und Nachbau der Datenbank ist für mich eine Option. Aber ich suche etwas, das weniger Zeit erfordert.

Die andere Option, Namen in den Clients tnsnames.ora zuzuweisen, ist anfällig für Fehler, da sie nicht zentral verwaltet werden.

Im Vergleich zu der Zeit, um eine Datenbank auf SQL-Server zu fallen und zu erstellen, ist die Zeit, die für die Erstellung einer neuen Oracle-Datenbank erforderlich ist, übermäßig höher. Weiter bei SQL-Server können Sie SQL-Server-Instanzen umbenennen. [Normalerweise benennen Sie den Server um, auf dem SQL-Server ausgeführt wird, und haben einige Probleme, bis Sie auch den Server umbenennen].

War es hilfreich?

Lösung

Da 9i DBNewid Utility (NID) verwendet werden kann, um den Datenbanknamen (und dbid bei Bedarf) zu ändern. Wenn der Datenbankname nur geändert wird, ist keine Resetlogs erforderlich:

  • 1 Startdatenbank im Mount -Modus

    shutdown immediate
    startup mount
    
  • 2 Führen Sie NID aus, um den Datenbanknamen zu ändern:

    nid target=sys/syspassword@dbtns dbname=newname setname=YES
    
  • 3 Herunterfahren und Starten Sie die Datenbank im Mount -Modus:

    shutdown immediate
    startup mount
    
  • 4 Veränderung db_name In SPFILE (oder in der PFILE -Bearbeitung der Datei):

    alter system set db_name=newname scope=spfile;
    
  • 5 Kennwortdatei neu erstellen:

    orapwd file=orapwnewname password=syspassword
    
  • 6 Starten Sie die Datenbank

    startup
    
  • 7 Post umbenennen Schritte:

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

Andere Tipps

Sie müssen die Steuerdatei neu erstellen

Dies Post Von Kaunain Ahmed beschreibt die notwendigen Schritte:

  1. DO: Änderung der Datenbanksicherungssteuerung für die Verfolgung;
  2. Extrahieren Sie den Befehl "ControlFile erstellen" aus dem Hintergrund-Dump-Destination TraceFile.
  3. Herunterfahren des DB.
  4. Ändern Sie den DB-Namen in Ihrer Init.ora und ändern Sie die Init.ora
  5. Ändern Sie das SID in/etc/oratab oder/var/opt/oracle/oratab
  6. Ändern Sie den SID in Ihrer Umgebung und sammeln Sie es
  7. Starten Sie die Datenbank zum Mount-Status-Startmontage
  8. Erstellen Sie die Controlfile mit der Aussage von Position 2 neu.
  9. Stellen Sie eine Änderung der Datenbank um. Umbenennen

Es gibt andere Tools, auf die im Thread verwiesen wird.

Hier ist ein Post von Asktom, auf das der Prozess ausführlicher verweist. Während es für 10G ist, sollte es immer noch funktionieren.

Ja, Sie können und es ist auch ganz einfach.

In Oracle ist der Oracle_sid nur der Name für die Oracle -Instanz und hat nicht viel mit dem DBNAME zu tun. Eine Datenbank mit dem Namen Prod kann unter Verwendung von Instanzen mit jedem gültigen Namen bedient werden. Es gibt keine direkte Verbindung zwischen dem SID und dem DBNAME. Diese Verbindung wird unter Verwendung der Parameter hergestellt.

Die Parameterdatei wird als init $ {oracle_sid} .ora oder spFile $ {oracle_sid} .ora in der Parameterdatei der Parameter db_name identifiziert. Hier wird die Verbindung zwischen der Oracle -Instanz und der Datenbank hergestellt.

Sie müssen also keine Control-Datei neu erstellen, Sie müssen NID nicht verwenden. Stellen Sie einfach sicher, dass Ihre Parameterfile den richtigen Namen hat, die alte Oracle-Instanz herunterfahren und die neue Oracle-Instanz starten, nachdem Sie Oracle_sid festgelegt haben zum neuen Oracle -Instanznamen. Die Parameterfile und die Kennwortdatei werden beide mit dem $ {oracle_sid} als Teil ihres Namens gefunden.

Das Wiederherstellen der Steuerdatei ist nur erforderlich, wenn sich der DBName ändern muss. NID ist nach einem Klonvorgang erforderlich, bei dem Sie die DBID ändern müssen, um Unfälle zu verhindern, die die Sicherungen der Quelldatenbank beeinträchtigen könnten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit dba.stackexchange
scroll top