Eu conectei como sysdba e tentei abaixo:
SQL> startup; ORA-01506: missing or illegal database name SQL>
Tentei vários cenários alterando as variáveis Oracle_home e de caminho, mas não tive sorte.
Estas são as minhas variáveis 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\
Além disso, tentei reiniciar os serviços manualmente, mas não tive sorte.
O conteúdo de initXE.ora é:
*.SPFILE="C:\oraclexe\app\oracle\product\11.2.0\server\dbs/spfileXE.ora",*.db_name="XE"
Eu tentei :
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
Ainda obtendo um erro.
Resposta
$ 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.
Seu ORACLE_SID
é XE
. Quando você emite startup
, seu processo procura um arquivo %ORACLE_HOME%\database\spfileXE.ora
ou, se ele não existir, %ORACLE_HOME%\database\initXE.ora
.
Você obtém o erro acima quando o parâmetro db_name
está faltando neles.
Você pode editar initXE.ora
com qualquer editor de texto e adicione o parâmetro ausente: *.db_name="XE"
. spfile
não deve ser editado diretamente, primeiro crie pfile a partir dele:
create pfile="C:\temp\initXE.ora" from spfile;
Adicione o parâmetro ausente a `C : \ temp \ initXE.ora “e, em seguida, crie o spfile a partir dele:
create spfile from pfile="C:\temp\initXE.ora";
Depois disso, tente startup
novamente.
ORA-00205: erro na identificação do arquivo de controle, verifique o registro de alerta para obter mais informações
Esse é um erro completamente diferente, o que significa que os arquivos definidos no parâmetro control_files
estão inacessíveis.
Comentários
- Então, qual poderia ser a solução para acessar os control_files?
Resposta
O parâmetro do arquivo de controle está faltando em seu arquivo initXE.ora.
Pesquise os locais do arquivo de controle (control01.ctl e control02.ctl) no diretório base do oracle.create novo arquivo ora myXE.ora (qualquer nome é adequado) com apenas duas linhas
*.db_name="XE" *.control_files="C:\some_directory\control01.ctl","C:\some_directory\control02.ctl"
em seguida, inicie o banco de dados com pfile
startup mount pfile="c:\temp\myXE.ora
Se não houver erros da etapa anterior
alter database open; create spfile from memory;
Se as etapas acima não resolverem seus problemas, o que significa que os arquivos de controle estão ausentes ou corrompidos, você precisa recriar os arquivos de controle dos logs de alerta.