Jag anslöt som sysdba och försökte nedan:
SQL> startup; ORA-01506: missing or illegal database name SQL>
Jag försökte flera scenarier med att ändra Oracle_home och sökvägsvariablerna men ingen tur.
Det här är mina 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\
Jag försökte också starta om tjänsterna manuellt men ingen tur.
Innehållet i initXE.ora är:
*.SPFILE="C:\oraclexe\app\oracle\product\11.2.0\server\dbs/spfileXE.ora",*.db_name="XE"
Jag försökte :
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 fortfarande ett fel.
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
är XE
. När du utfärdar startup
letar din process efter en fil %ORACLE_HOME%\database\spfileXE.ora
, eller om den inte finns, så %ORACLE_HOME%\database\initXE.ora
.
Du får ovanstående fel när db_name
-parametern saknas i dem.
Du kan redigera initXE.ora
med valfri textredigerare och lägg till den saknade parametern: *.db_name="XE"
. spfile
bör inte redigeras direkt, skapa först en fil från den:
create pfile="C:\temp\initXE.ora" from spfile;
Lägg till den saknade parametern till `C : \ temp \ initXE.ora ”, skapa sedan spfilen från den:
create spfile from pfile="C:\temp\initXE.ora";
Därefter försöker du startup
igen.
ORA-00205: fel vid identifiering av styrfil, kontrollera varningsloggen för mer information
Det är ett helt annat fel, vilket innebär att filerna definierade i parametern control_files
är otillgängliga.
Kommentarer
- Så, vad kan lösningen vara för åtkomst till kontrollfilerna?
Svar
parametern för kontrollfil saknas i din initXE.ora-fil.
Sök efter kontrollfilplatser (control01.ctl och control02.ctl) i Oracle-baskatalogen. Skapa ny ora-fil myXE.ora (vilket namn som helst är bra) med bara två rader
*.db_name="XE" *.control_files="C:\some_directory\control01.ctl","C:\some_directory\control02.ctl"
nästa startdatabas med pfile
startup mount pfile="c:\temp\myXE.ora
Om inga fel från ovanstående steg
alter database open; create spfile from memory;
Om ovanstående steg inte löste dina problem, vilket innebär att antingen kontrollfiler saknas eller är skadade, måste du återskapa kontrollfiler från varningsloggar.