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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.