M-am conectat ca sysdba și am încercat mai jos:
SQL> startup; ORA-01506: missing or illegal database name SQL>
Am încercat mai multe scenarii schimbând variabile Oracle_home și cale, dar fără noroc.
Acestea sunt variabilele mele env:
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\
De asemenea, am încercat să repornesc serviciile manual, dar nu am avut noroc.
Conținutul initXE.ora este:
*.SPFILE="C:\oraclexe\app\oracle\product\11.2.0\server\dbs/spfileXE.ora",*.db_name="XE"
Am încercat :
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
Încă o eroare.
Răspuns
$ 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.
ORACLE_SID
este XE
. Când emiteți startup
, procesul dvs. caută un fișier %ORACLE_HOME%\database\spfileXE.ora
sau, dacă nu există, atunci %ORACLE_HOME%\database\initXE.ora
.
Veți primi eroarea de mai sus atunci când parametrul db_name
lipsește din ele.
Puteți edita initXE.ora
cu orice editor de text și adăugați parametrul lipsă: *.db_name="XE"
. spfile
nu ar trebui să fie editat direct, mai întâi creați pfile din acesta:
create pfile="C:\temp\initXE.ora" from spfile;
Adăugați parametrul lipsă la `C : \ temp \ initXE.ora „, apoi creați spfile din acesta:
create spfile from pfile="C:\temp\initXE.ora";
După aceea, încercați startup
din nou.
ORA-00205: eroare la identificarea fișierului de control, verificați jurnalul de alertă pentru mai multe informații
Aceasta este o eroare complet diferită, ceea ce înseamnă că fișierele definite în parametrul control_files
sunt inaccesibile.
Comentarii
- Deci, care ar putea fi soluția pentru accesarea control_files?
Răspuns
parametrul fișierului de control lipsește în fișierul dvs. initXE.ora.
Căutați locațiile fișierului de control (control01.ctl și control02.ctl) în directorul de bază oracle. creați un fișier nou myXE.ora (orice nume este bine) cu doar două linii
*.db_name="XE" *.control_files="C:\some_directory\control01.ctl","C:\some_directory\control02.ctl"
următoarea bază de date de pornire cu pfile
startup mount pfile="c:\temp\myXE.ora
Dacă nu există erori de la pasul de mai sus
alter database open; create spfile from memory;
Dacă pașii de mai sus nu v-au rezolvat problemele, ceea ce înseamnă că fișierele de control lipsesc sau sunt corupte, trebuie să recreați fișierele de control din jurnalele de alerte.