Frage

Ich musste mich ändern die SID einer Oracle XE Datenbank (nicht der Dienst-Name), um eine Produktions-Datenbank.

Wenn ich habe versucht, online-Suche, die meisten Seiten waren der Beschreibung ändern oder hinzufügen eines service-Namen durch tnsnames.ora;das ist nicht, was ich tun musste.

War es hilfreich?

Lösung

Die AskTom Artikel haben die Antwort, aber die Formatierung und Ausführlichkeit macht es schwer, zu folgen, so ist hier eine Zusammenfassung:

[XE_HOME] bedeutet, wo Oracle XE installiert ist. Normalerweise ist dies C:\oraclexe\app\oracle\product\10.2.0\server.

Vergewissern Sie sich, Administratorrechte oder die Prozedur fehlschlagen.

  1. Konfigurieren Sie die SPFILE (Sie können die alte Datei entfernen, wenn Sie möchten)
    1. copy [XE_HOME]\dbs\spfileXE.ora [XE_HOME]\dbs\spfileNEW_SID_NAME.ora
    2. copy [XE_HOME]\database\initXE.ora [XE_HOME]\database\initNEW_SID_NAME.ora
    3. Bearbeiten [XE_HOME]\database\initNEW_SID_NAME.ora: Es sollte eine Zeile wie diese enthält: SPFILE='[XE_HOME]\server\dbs/spfileNEW_SID_NAME.ora'
  2. Shutdown und ersetzen Sie den alten Dienst mit einem neuen:
    1. sqlplus / as sysdba und führen shutdown
    2. lsnrctl stop
    3. oradim -new -sid NEW_SID_NAME -startmode auto -pfile [XE_HOME]\database\initNEW_SID_NAME.ora
    4. oradim -delete -sid XE
    5. lsnrctl start
  3. Aktualisieren Sie die ORACLE_SID Umgebungseigenschaft (Systemeinstellungen> Erweitert> Environment)
  4. Kraft Oracle mit Hörern registrieren
    • sqlplus / as sysdba und führen alter system register;

Sie können überprüfen, ob die SID durch Ausführen der folgenden Abfrage geändert wurde: select instance_name from v$instance;

Andere Tipps

AskTom hat die Antwort , hatte ich durch eine Menge von google-fu zu gehen, um es zu erhalten.

Ich hatte einige Probleme mit der Lösung geschrieben von Johannes, also musste ich einige zusätzliche Schritte zu tun.Wenn Sie versuchen, eine Verbindung zu oracle (Schritt 4), indem er sqlplus / as sysdba Ich habe:

ERROR: ORA-12560: TNS:protocol adapter error

Die Lösung für diese war die Ausführung der folgenden Zeile:

oradim -start -sid NEW_SID_NAME

Dann verbinden Sie mit / fein gearbeitet, sondern versucht, eine Verbindung zu NEW_SID_NAME mit system-oder Personalabteilung hat mich ein anderes problem:

ERROR: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

Ich habe das mit der Abfrage select instance_name from v$instance; der Hörer wäre NEW_SID_NAME, und so Taten.Aber läuft lsnrctl status in der Befehlszeile oder der Abfrage select name from dba_services; nicht zeigen, NEW_SID_NAME als Zuhörer.Die Lösung dieses Problems war die Ausführung der followind Satz auf sqlplus:

alter system set service_names='NEW_SID_NAME';

Vielleicht werden Sie ausführen müssen alter system register; nachdem dies auch.

Nachdem Sie diese beiden Schritte, die ich anschließen kann, um die NEW_SID_NAME mit system und HR.

Hoffe es hilft

In der Version 11g, die alle der bisherigen Lösung hat nicht funktioniert ... Ich habe immer die folgende Fehlermeldung erhalten, wenn sie versuchen, die zu tun sqlplus / as sysdba :

ERROR: ORA-12560: TNS: Protokolladapterstörung

Zum Glück fand ich ein Skript zu tun, was ich unter [XE_HOME] \ config \ scripts tun wollte. Das Skript wird XE.bat genannt, und es wird eine neue Datenbank von Grund auf Sie für den syspassword entlang der Prozess fragen instanziiert. Also, was ich tat, war:

  1. Stop und entfernen Sie den vorhandenen Dienst falls vorhanden:
  

oradim -delete -sid XE

  1. Stoppen Sie den Hörer
  2. Konfigurieren Sie den SPFILE wie von Johannes
  3. erklärt
  4. Erstellen Sie eine Kopie des Skripts XE.bat, können Sie es nennen, was Sie wollen
  5. , um die Kopie des Skripts bearbeiten, wie folgt:

    1. Ändern line "gesetzt ORACLE_SID = XE" auf "ORACLE_SID = NEW_SID_NAME"
    2. Ändern Sie, wo immer Sie "-sid XE" auf "-sid NEW_SID_NAME"
    3. siehe
    4. die Zeile aktualisieren, wo er die „orapwd.exe“ Befehl Punkt in einer Datei ruft genannt PWDNEW_SID_NAME.ora statt PWDXE.ora
    5. Aktualisieren Sie die Zeile, die die spfileXE.ora in die initXE.ora Echos spfileNEW_SID_NAME.ora in initNEW_SID_NAME.ora Echo (dieser Teil kann den Schritt 3 unbrauchbar machen, aber ich ziehe es trotzdem zu tun, nur für den Fall ...)
  6. das Skript ausführen ... Es wird Sie für das System-Passwort aufgefordert ein paar Mal sagen

  

Geben Sie Wert für 1:

oder

  

Geben Sie Wert für 2:

Das ist es, die neue Datenbank mit Ihrem NEW_SID_NAME ist und läuft !!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top