Erro de inicialização do Oracle (não foi possível abrir o arquivo de parâmetro)


10

Eu instalei o servidor Oracle 11g no Ubuntu 12.10. Mas não consigo iniciar o servidor. Quando inicio o servidor, ocorre o seguinte erro:

SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/xe/dbs/initXE.ora'

Como posso resolver este problema? Acho que a conexão falhou porque o host ou objeto de destino não existe. Como um host de destino pode ser especificado?

Corrida:

$ ls -latr /u01/app/oracle/product/11.2.0/xe/dbs/initXE.ora

retorna:

-rw-r--r-- 1 oracle dba 2637 Mar 13 17:07 /u01/app/oracle/product/11.2.0/xe/dbs/initxe.ora 

Correr echo $ORACLE_SIDnão exibe nada - uma linha vazia.


ls initXE.oranão retornará initxe.ora. O Unix diferencia maiúsculas de minúsculas.
miracle173

Respostas:


10

Eu vejo duas coisas erradas aqui. O Oracle tenta abrir um arquivo de parâmetro no diretório $ ORACLE_HOME / dbs com o formato "spfile" + $ ORACLE_SID + ".ora". Se não conseguir encontrá-lo, ele tenta abrir "init" + $ ORACLE_SID + ".ora". É aqui que estão os problemas.

Devido ao fato de o Oracle estar tentando abrir um arquivo de parâmetro chamado "initXE.ora", seu SID deve ser (ou estava em um ponto) igual a "XE".

1) Essa é a parte mais fácil, então tente primeiro. Como (em seus comentários) echo $ORACLE_SIDnão produz nada, tente configurá-lo.

export ORACLE_SID=XE

Em seguida, tente iniciar o Oracle novamente.

2) Nos seus comentários acima, você mostra que o arquivo se chama "initxe.ora". Esse é realmente o nome do arquivo? Ou sua pasta em um comentário de alguma forma diminuiu a saída do lscomando?

A razão pela qual eu indico isso é que o Ubuntu (Linux) possui um sistema de arquivos que diferencia maiúsculas de minúsculas. Portanto, initxe.ora e initXE.ora são na verdade dois arquivos diferentes. Portanto, se seu comentário estiver correto e o arquivo estiver em minúsculas, defina seu ORACLE_SID como "xe":

export ORACLE_SID=xe

Tente isso e veja se funciona.


6

Se este é um novo Oracle instalado e você não possui o arquivo de parâmetro initXE.ora aqui /u01/app/oracle/product/11.2.0/xe/dbs/, isso significa que você precisa criar o XE DB primeiro. Para fazer isso, execute o script /u01/app/oracle/product/11.2.0/xe/bin/createdb.sh primeiro.


Spot on, obrigado! O script leva idades, mas faz o truque. Você precisa executá-lo como usuário oraclee observe que isso significa que você precisará redefinir as senhas do sistema / sys posteriormente ao fazer isso.
Forragem

1

Eu costumava enfrentar esse problema.

Percebi que o erro pode ser causado pelo pfile não ser encontrado. Você precisa iniciar a instância do Oracle usando um pfile totalmente referenciado emitindo o seguinte comando:

SQL> startup pfile=<your pfile full path here>

0

Apenas faça ls -altr. Se você encontrar assim ...

-rw-r - r-- 1 oracle oinstall 2637 13 de março init.ora

... apenas mude o proprietário chown -R oracle:dba init.ora:, depois inicie.


-1

encontre "initXE.ora" em seu diretório oracle e use:
SQL> startup pfile=<directory_name>/initXE.ora


Você pode adicionar alguns detalhes sobre por que isso funciona ou qual é o problema com a pergunta do pôster original.
Max Vernon
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.