Ich habe eine Verbindung als sysdba hergestellt und unten versucht:
SQL> startup; ORA-01506: missing or illegal database name SQL>
Ich habe mehrere Szenarien ausprobiert, in denen die Variablen Oracle_home und path geändert wurden, aber kein Glück.
Dies sind meine env-Variablen:
c:\>echo %ORACLE_HOME% C:\oraclexe\app\oracle\product\11.2.0\server\ c:\>echo %ORACLE_SID% XE c:\>path PATH=C:\oraclexe\app\oracle\product\11.2.0\server;C:\oraclexe\app\oracle\product \11.2.0\server\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Wi ndows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\A TI.ACE\Core-Static;C:\instantclient-basic-windows.x64-11.2.0.4.0\instantclient_1 1_2;C:\Users\DINESH\AppData\Local\Programs\Python\Python37\Scripts\;C:\Users\DIN ESH\AppData\Local\Programs\Python\Python37\
Außerdem habe ich versucht, die Dienste manuell neu zu starten, aber kein Glück.
Der Inhalt von initXE.ora lautet:
*.SPFILE="C:\oraclexe\app\oracle\product\11.2.0\server\dbs/spfileXE.ora",*.db_name="XE"
Ich habe es versucht :
SQL> create pfile="C:\temp\initXE.ora" from spfile; File created. SQL> create spfile from pfile="C:\temp\initXE.ora"; File created. SQL> startup; ORACLE instance started. Total System Global Area 217157632 bytes Fixed Size 2251776 bytes Variable Size 159384576 bytes Database Buffers 50331648 bytes Redo Buffers 5189632 bytes ORA-00205: error in identifying control file, check alert log for more info
Immer noch ein Fehler.
Antwort
$ oerr ora 1506 01506, 00000, "missing or illegal database name" // *Cause: No db_name INIT.ORA aprameter was specified. // *Action: The database name must be given in the db_name // INIT.ORA parameter.
Ihre ORACLE_SID
ist XE
. Wenn Sie startup
ausgeben, sucht Ihr Prozess nach einer Datei %ORACLE_HOME%\database\spfileXE.ora
, oder wenn sie nicht vorhanden ist, %ORACLE_HOME%\database\initXE.ora
.
Sie erhalten den obigen Fehler, wenn der Parameter db_name
in ihnen fehlt.
Sie können initXE.ora
mit einem beliebigen Texteditor und fügen Sie den fehlenden Parameter hinzu: *.db_name="XE"
. spfile
sollte nicht direkt bearbeitet werden. Erstellen Sie zuerst eine Datei daraus:
create pfile="C:\temp\initXE.ora" from spfile;
Fügen Sie den fehlenden Parameter zu `C hinzu : \ temp \ initXE.ora „, und erstellen Sie dann die Datei daraus:
create spfile from pfile="C:\temp\initXE.ora";
Versuchen Sie anschließend startup
erneut.
ORA-00205: Fehler beim Identifizieren der Steuerdatei. Überprüfen Sie das Warnprotokoll auf weitere Informationen.
Dies ist ein völlig anderer Fehler. Dies bedeutet, dass auf die im Parameter control_files
definierten Dateien nicht zugegriffen werden kann.
Kommentare
- Was könnte also die Lösung für den Zugriff auf die Steuerdateien sein?
Antwort
Parameter der Steuerdatei fehlt in Ihrer initXE.ora-Datei.
Suchen Sie nach Speicherorten für Steuerdateien (control01.ctl und control02.ctl) im Oracle-Basisverzeichnis. Erstellen Sie eine neue ora-Datei myXE.ora (jeder Name ist in Ordnung) mit nur zwei Zeilen
*.db_name="XE" *.control_files="C:\some_directory\control01.ctl","C:\some_directory\control02.ctl"
Nächste Datenbank mit pfile starten
startup mount pfile="c:\temp\myXE.ora
Wenn keine Fehler vom obigen Schritt
alter database open; create spfile from memory;
vorliegen Wenn die oben genannten Schritte Ihre Probleme nicht behoben haben und entweder Steuerdateien fehlen oder beschädigt sind, müssen Sie Steuerdateien aus Warnprotokollen neu erstellen.