GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Kann ich die SID einer Oracle-Datenbank ändern?

Sie müssen die Steuerdatei neu erstellen

Dieser Beitrag von Kaunain Ahmed beschreibt die notwendigen Schritte:

  1. tun:Ändern Sie die Steuerdatei der Datenbanksicherung, um sie zu verfolgen;
  2. extrahieren Sie den Befehl "Steuerdatei erstellen" aus der Ablaufverfolgungsdatei für das Hintergrund-Dump-Ziel.
  3. Fahren Sie die DB herunter.
  4. Ändere den DB-Namen in deiner init.ora und ändere die init.ora
  5. Ändern Sie die SID in /etc/oratab oder /var/opt/oracle/oratab
  6. Ändern Sie die SID in Ihrer Umgebung und beziehen Sie sie
  7. Starten Sie die Datenbank mit mount-statusstartup mount
  8. Erstellen Sie die Steuerdatei mit der Anweisung von Position 2 neu.
  9. 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.


Linux
  1. Wie ändere ich den Hostnamen?

  2. So ändern Sie den Hostnamen unter Ubuntu

  3. Kann GDB den Assemblercode eines laufenden Programms ändern?

  4. Wie kann ich das Layout der Eingabetastatur in der Konsole ändern?

  5. Kann mprotect() verwendet werden, um die Berechtigungen von .rodata zu ändern?

So ändern Sie den Website-Namen in WordPress

Wie kann ich ein Datenbankpasswort auf cPanel ändern?

Kann ich die Hauptdomäne des Hosting-Kontos ändern?

Ändern Sie das cPanel-Passwort

Kann ich den Namen eines NFS-Exports ändern

Können Sie die Metadatenversion für ein vorhandenes Array ändern?