Połączyłem się jako sysdba i próbowałem poniżej:
SQL> startup; ORA-01506: missing or illegal database name SQL>
Próbowałem różnych scenariuszy zmieniających zmienne Oracle_home i path, ale bez powodzenia.
Oto moje zmienne 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\
Poza tym próbowałem ponownie uruchomić usługi ręcznie, ale bez powodzenia.
Zawartość initXE.ora to:
*.SPFILE="C:\oraclexe\app\oracle\product\11.2.0\server\dbs/spfileXE.ora",*.db_name="XE"
Próbowałem :
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
Nadal pojawia się błąd.
Odpowiedź
$ 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.
Twój ORACLE_SID
to XE
. Gdy wydajesz startup
, proces szuka pliku %ORACLE_HOME%\database\spfileXE.ora
, a jeśli nie istnieje, to %ORACLE_HOME%\database\initXE.ora
.
Powyższy błąd pojawia się, gdy brakuje w nich parametru db_name
.
Możesz edytować initXE.ora
w dowolnym edytorze tekstu i dodaj brakujący parametr: *.db_name="XE"
. spfile
nie powinno być edytowane bezpośrednio, najpierw utwórz z niego plik p:
create pfile="C:\temp\initXE.ora" from spfile;
Dodaj brakujący parametr do `C : \ temp \ initXE.ora „, a następnie utwórz z niego plik spfile:
create spfile from pfile="C:\temp\initXE.ora";
Następnie spróbuj startup
ponownie.
ORA-00205: błąd w identyfikacji pliku kontrolnego, sprawdź dziennik alertów, aby uzyskać więcej informacji
To zupełnie inny błąd, co oznacza, że pliki zdefiniowane w parametrze control_files
są niedostępne.
Komentarze
- Zatem jakie może być rozwiązanie dostępu do plików control_files?
Odpowiedź
Brak parametru pliku kontrolnego w pliku initXE.ora.
Wyszukaj lokalizacje plików kontrolnych (control01.ctl i control02.ctl) w katalogu podstawowym oracle. utwórz nowy plik ora myXE.ora (dowolna nazwa jest w porządku) z zaledwie dwoma wierszami
*.db_name="XE" *.control_files="C:\some_directory\control01.ctl","C:\some_directory\control02.ctl"
następny start bazy danych z plikiem pfile
startup mount pfile="c:\temp\myXE.ora
Jeśli nie ma błędów z powyższego kroku
alter database open; create spfile from memory;
Jeśli powyższe kroki nie rozwiązały problemów, co oznacza, że brakuje plików kontrolnych lub są one uszkodzone, musisz odtworzyć pliki kontrolne z dzienników alertów.