Mi sono connesso come sysdba e ho provato di seguito:
SQL> startup; ORA-01506: missing or illegal database name SQL>
Ho provato più scenari cambiando le variabili Oracle_home e path ma senza fortuna.
Queste sono le mie variabili 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\
Inoltre, ho provato a riavviare i servizi manualmente ma senza fortuna.
Il contenuto di initXE.ora è:
*.SPFILE="C:\oraclexe\app\oracle\product\11.2.0\server\dbs/spfileXE.ora",*.db_name="XE"
Ho provato :
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
Viene ancora visualizzato un errore.
Risposta
$ 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.
Il tuo ORACLE_SID
è XE
. Quando emetti startup
, il tuo processo cerca un file %ORACLE_HOME%\database\spfileXE.ora
o, se non esiste, %ORACLE_HOME%\database\initXE.ora
.
Ottieni lerrore precedente quando il parametro db_name
non è presente.
Puoi modificare initXE.ora
con qualsiasi editor di testo e aggiungi il parametro mancante: *.db_name="XE"
. spfile
non deve essere modificato direttamente, crea prima il file pfile da esso:
create pfile="C:\temp\initXE.ora" from spfile;
Aggiungi il parametro mancante a “C : \ temp \ initXE.ora “, quindi crea il file sp da esso:
create spfile from pfile="C:\temp\initXE.ora";
Dopodiché, prova startup
di nuovo.
ORA-00205: errore nellidentificazione del file di controllo, controlla il registro degli avvisi per maggiori informazioni
Questo è un errore completamente diverso, il che significa che i file definiti nel parametro control_files
sono inaccessibili.
Commenti
- Allora, quale potrebbe essere la soluzione per accedere a control_files?
Answer
parametro del file di controllo mancante nel file initXE.ora.
Cerca le posizioni dei file di controllo (control01.ctl e control02.ctl) nella directory di base di Oracle. crea un nuovo file ora myXE.ora (qualsiasi nome va bene) con solo due righe
*.db_name="XE" *.control_files="C:\some_directory\control01.ctl","C:\some_directory\control02.ctl"
prossimo avvio database con pfile
startup mount pfile="c:\temp\myXE.ora
Se non ci sono errori dal passaggio precedente
alter database open; create spfile from memory;
Se i passaggi precedenti non risolvono i tuoi problemi, il che significa che i file di controllo sono mancanti o danneggiati, devi ricreare i file di controllo dai log degli avvisi.