Der Server ist Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64-Bit
Gibt es eine einfache und schnelle Möglichkeit, die SIDs der Testdatenbanken auf dem Server zu ändern?
Das Löschen und Neuerstellen der Datenbank ist für mich eine Option. Aber ich suche etwas, das weniger Zeit benötigt.
Die andere Möglichkeit, Namen in der clients tnsnames.ora zu vergeben, ist fehleranfällig, da diese nicht zentral verwaltet werden.
Verglichen mit der Zeit zum Ablegen und Erstellen einer Datenbank auf SQL-Server ist die Zeit, die zum Erstellen einer neuen Oracle-Datenbank erforderlich ist, übermäßig lang. Weiterhin können Sie auf SQL-Server SQL-Server-Instanzen umbenennen. [Normalerweise benennen Sie den Server, auf dem SQL-Server ausgeführt wird, um und haben einige Probleme, bis Sie den Server ebenfalls umbenennen.]
quelle
Antworten:
Seit 9i kann das Dienstprogramm dbnewid (nid) zum Ändern des Datenbanknamens (und ggf. der DBID) verwendet werden. Wenn nur der Datenbankname geändert wird, sind keine resetlogs erforderlich:
1 Startdatenbank im Bereitstellungsmodus
2 Führen Sie nid aus, um den Datenbanknamen zu ändern:
3 Fahren Sie die Datenbank herunter und starten Sie sie im Bereitstellungsmodus:
4 Änderung
db_name
in spfile (oder in pfile Bearbeitung der Datei):5 Passwortdatei neu erstellen:
6 Starten Sie die Datenbank
7 Schritte nach dem Umbenennen:
quelle
Sie müssen die Steuerdatei neu erstellen
Dieser Beitrag von Kaunain Ahmed beschreibt die notwendigen Schritte:
Es gibt andere Tools, auf die im Thread verwiesen wird.
Hier ist ein Beitrag von AskTom, in dem der Vorgang detaillierter beschrieben wird. Während es für 10g ist, sollte es immer noch funktionieren.
quelle
Ja, das kannst du und es ist auch ganz einfach.
In Oracle ist die 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 mithilfe von Instanzen mit einem beliebigen gültigen Namen bereitgestellt werden. Es besteht keine direkte Verbindung zwischen der SID und dem DBNAME. Diese Verbindung wird über die Parameter hergestellt.
Die Parameterdatei wird als init $ {ORACLE_SID} .ora oder spfile $ {ORACLE_SID} .ora bezeichnet. In der Parameterdatei befindet sich der Parameter db_name. Hier wird die Verbindung zwischen der Oracle-Instanz und der Datenbank hergestellt.
Sie müssen also keine Steuerdatei neu erstellen, Sie müssen nicht nid verwenden, sondern nur sicherstellen, dass Ihre Parameterdatei den richtigen Namen hat, die alte Oracle-Instanz herunterfahren und die neue Oracle-Instanz starten, nachdem Sie ORACLE_SID festgelegt haben auf den neuen Oracle-Instanznamen. Die Parameterdatei und die Kennwortdatei werden beide unter Verwendung des $ {ORACLE_SID} als Teil ihres Namens gefunden.
Das erneute Erstellen der Steuerdatei ist nur erforderlich, wenn sich der DBNAME ändern muss. nid wird nach einem Klonvorgang benötigt, bei dem Sie die DBID ändern müssen, um Unfälle zu vermeiden, die die Sicherungen der Quellendatenbank beschädigen könnten.
quelle