Sie müssen die Steuerdatei neu erstellen
Dieser Beitrag von Kaunain Ahmed beschreibt die notwendigen Schritte:
- tun:Ändern Sie die Steuerdatei der Datenbanksicherung, um sie zu verfolgen;
- extrahieren Sie den Befehl "Steuerdatei erstellen" aus der Ablaufverfolgungsdatei für das Hintergrund-Dump-Ziel.
- Fahren Sie die DB herunter.
- Ändere den DB-Namen in deiner init.ora und ändere die init.ora
- Ändern Sie die SID in /etc/oratab oder /var/opt/oracle/oratab
- Ändern Sie die SID in Ihrer Umgebung und beziehen Sie sie
- Starten Sie die Datenbank mit mount-statusstartup mount
- Erstellen Sie die Steuerdatei mit der Anweisung von Position 2 neu.
- Führen Sie eine alter database rename global_name to10 durch. Ändern Sie die TNS-Konfiguration entsprechend $ORACLE_HOME/network/admin/*.ora Suchen Sie nach SID und GLOBAL_NAME
Es gibt andere Tools, auf die im Thread verwiesen wird.
Hier ist ein Beitrag von AskTom, der den Prozess detaillierter beschreibt. Obwohl es für 10 g ist, sollte es immer noch funktionieren.
Seit 9i kann das Dienstprogramm dbnewid (nid) verwendet werden, um den Datenbanknamen (und die DBID, falls erforderlich) zu ändern. Wenn nur der Datenbankname geändert wird, ist Resetlogs nicht erforderlich:
-
1 Startup-Datenbank im Mount-Modus
shutdown immediate startup mount
-
2 Führen Sie nid aus, um den Datenbanknamen zu ändern:
nid target=sys/[email protected] dbname=newname setname=YES
-
3 Herunterfahren und Datenbank im Mount-Modus starten:
shutdown immediate startup mount
-
4 Ändere
db_name
in spfile (oder in pfile beim Bearbeiten der Datei):alter system set db_name=newname scope=spfile;
-
5 Kennwortdatei neu erstellen:
orapwd file=orapwnewname password=syspassword
-
6 Datenbank starten
startup
-
7 Post-Umbenennungsschritte:
change SID in listener.ora correct tnsnames.ora remove old trace directories change /etc/oratab (UNIX) or rename windows service using oradim
Ja, das kannst du und es ist auch ganz einfach.
Bei 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 mit Instanzen mit jedem gültigen Namen bedient 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 identifiziert. 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 nid nicht verwenden, stellen Sie einfach sicher, dass Ihre Parameterdatei den richtigen Namen hat, bringen Sie die alte Oracle-Instanz herunter und starten Sie die neue Oracle-Instanz, nachdem Sie ORACLE_SID gesetzt haben zum neuen Oracle-Instanznamen. Die Parameterdatei und die Passwortdatei werden beide mit ${ORACLE_SID} als Teil ihres Namens gefunden.
Die Steuerdatei muss nur neu erstellt werden, 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 Quelldatenbank beschädigen könnten.