Jeg oprettede forbindelse som sysdba og prøvede nedenfor:
SQL> startup; ORA-01506: missing or illegal database name SQL>
Jeg prøvede flere scenarier med at ændre Oracle_home- og sti-variablerne, men ikke held.
Dette er mine env-variabler:
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\
Jeg forsøgte også at genstarte tjenesterne manuelt, men ikke held.
Indholdet af initXE.ora er:
*.SPFILE="C:\oraclexe\app\oracle\product\11.2.0\server\dbs/spfileXE.ora",*.db_name="XE"
Jeg prøvede :
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
Får stadig en fejl.
Svar
$ 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.
Din ORACLE_SID
er XE
. Når du udsteder startup
, søger din proces efter en fil %ORACLE_HOME%\database\spfileXE.ora
, eller hvis den ikke findes, så %ORACLE_HOME%\database\initXE.ora
.
Du får ovenstående fejl, når parameteren db_name
mangler i dem.
Du kan redigere initXE.ora
med en hvilken som helst teksteditor, og tilføj den manglende parameter: *.db_name="XE"
. spfile
bør ikke redigeres direkte. Opret først en fil ud fra den:
create pfile="C:\temp\initXE.ora" from spfile;
Føj den manglende parameter til `C : \ temp \ initXE.ora “, og opret derefter spfilen derfra:
create spfile from pfile="C:\temp\initXE.ora";
Prøv derefter startup
igen.
ORA-00205: fejl ved identifikation af kontrolfil, tjek alarmlog for mere info
Det er en helt anden fejl, hvilket betyder at filerne defineret i parameteren control_files
er utilgængelige.
Kommentarer
- Så hvad kan løsningen være for at få adgang til kontrolfilerne?
Svar
kontrolfilparameter mangler i din initXE.ora-fil.
Søg efter kontrolfilplaceringer (control01.ctl og control02.ctl) i oracle base-bibliotek. Opret ny ora-fil myXE.ora (ethvert navn er fint) med kun to linjer
*.db_name="XE" *.control_files="C:\some_directory\control01.ctl","C:\some_directory\control02.ctl"
næste start-database med pfile
startup mount pfile="c:\temp\myXE.ora
Hvis der ikke er nogen fejl fra ovenstående trin
alter database open; create spfile from memory;
Hvis ovenstående trin ikke løste dine problemer, hvilket betyder, at enten kontrolfiler mangler eller er beskadiget, skal du genskabe kontrolfiler fra alarmlogfiler.