ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist
estou a obter o erro acima ao tentar ligar-me a uma base de dados do servidor a partir de um cliente usando o nome de serviço orcl
. Ele está se conectando quando eu estou usando o outro nome de serviço.dms
abaixo está o meu listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = dms)
(SERVICE_NAME = dms)
(ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_1)
# (PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = orcl)
(SERVICE_NAME = dms)
# (GLOBAL_DBANME = orcl)
(ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_1)
# (PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.53)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /home/oracle/app/oracle
and tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.53)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
#(SERVICE_NAME = orcl.localdomain)
(ORACLE_SID = dms)
(SERVICE_NAME = orcl)
)
)
DMS =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.53)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dms)
(ORACLE_SID = dms)
)
)
Por favor, diz-me o que fazer.
11 answers
Abrir a linha de comandos e executar os comandos abaixo:
set oracle_sid=DATABASE NAME
sqlplus /nolog
conn sys/sys as sysdba
shutdown abort
startup
Autenticar-se como utilizador oracle depois
'sqlplus / as sysdba;'
'shutdown immediate;'
'startup nomount;'
'alter database mount;'
'alter database open;'
Certifique-se que o seu ORACLE_HOME e ORACLE_SID estão correctos Para ver os valores actuais no windows, na linha de comandos do tipo
echo %ORACLE_HOME%
Depois
echo %ORACLE_SID%
Se os valores não são o seu oráculo atual casa e SID você precisa corrigi-los. Isto pode ser feito em variáveis de ambiente do Windows.
Enfrentei o mesmo problema ao criar a ligação no desenvolvimento do SQL "ORA-01034: ORACLE não está disponível ORA-27101: o reino da memória partilhada não existe"
Solução:
1.Actualiza o listene.ora ficheiro para incluir o SID.
SID_ LIST_ LIST_ listener =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc) (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server) (Programa = extproc) ) (SID_ DESOC = (SID_NAME = CLRExtProc) (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server) (Programa = extproc) ) (SID_ DESOC = ((GLOBAL_ DBNAME = XE.PO) (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server) (SID_NAME = XE) ) )
Ouvinte =
(DESCRITION_LIST =
(Descrição =
(ENDEREÇO = (PROTOCOLO = IPC) (CHAVE = EXTPROC1)) (Endereço = (protocolo = TCP) (máquina = USMUMTBALAKDAS2.us.deloitte.com) (Porto = 1521) ) )
DEFAULT_SERVICE_LISTENER = (XE)
A pasta Oraclexe pode ter a permissão definida para " ReadOnly ", alterar a permissão de directório/sub-directório para ler/escrever e reiniciar os Serviços de ouvinte. O problema é ... resolver.
Feliz Código! Saúde!!Tinha o mesmo problema no windows XP. Resolvido. O erro foi causado devido ao log do sistema estar cheio. Painel de Controlo - > Ferramentas Administrativas - > visualizador de eventos Carregue com o botão direito no registo da aplicação, Limpar todos os eventos, optionaly gravar o registo. O mesmo processo para o registo do sistema. Reinicie e deve funcionar.
ORA-01034 e ORA-27101 indicam normalmente que a instância de base de dados a que está a tentar ligar-se está desligada e que não está ligada como um utilizador que tem permissão para iniciá-la. Ligue-se ao servidor 192.168. 1. 53 e inicie a instância orcl
, ou peça ao seu DBA para fazer isto por si.
se este é o TLDR, salte para ' So to resolve:'!
O meu sintoma inicial foi:Message 850 not found; No message file for product=NETWORK, facility=NL
Aparentemente o Windows install lê o ORACLE_HOME do registro e não precisa (e certamente no meu caso, não devia...) uma propriedade ambiental.
Remova - o do seguinte modo:
- editar a configuração do ambiente do sistema (Chave do Windows e iniciar a escrever ' env ' e deverá ver esta opção aparecer.
- Apagar Todas as variáveis de ambiente do utilizador e do sistema chamadas ORACLE_HOME, se apresentar. (tomar nota dos seus valores, principalmente por interesse, mas pode ser de use se quiser colocá-los de volta por alguma razão!) Reinicie a máquina. Não gozes com apenas um desligar-reiniciar o seu maquina. O Windows Oracle install usa os Serviços Windows por omissão e sua instalação é atualmente muito ruim-ele precisa de um reinício.
Após o reinício, fui então capaz de obter mensagens de erro para além de 'nenhum ficheiro de mensagem...'e poderia começar a olhar para o que era a questão. Configurando o ORACLE_SID para XE e conectando @XE eu cheguei até os erros nesta página, ou seja, os seguintes sintomas:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Outro sintoma foi: Ao lançar o ' Get a página ' iniciada não conseguiu ligar-se, dando um erro não encontrado (Se bem me lembro), apesar dos serviços do Windows listener & XE terem sido iniciados. Tal como referido noutra resposta, tal pode dever-se ao facto de os serviços do windows não estarem a ser iniciados. No meu caso, esses serviços foram iniciados, por isso algo mais foi mal configurado.
Neste momento, pensei que talvez a minha instalação tivesse corrido tão mal devido à presença da minha má propriedade do ambiente, que devia reinstalar. (Anterior reinstalls não tinha ajudado, mas tudo isso tinha sido antes que eu notei a propriedade do ambiente do sistema ORACLE_HOME (provavelmente criado por mim um ano atrás!).Para resolver:
- Feche qualquer aplicação que veja o directório de instalação do Oraclexe (instruções dos editores/explorer/cmd) Uma viagem rápida para Adicionar / Remover Programas e desinstalar o OracleXe
- verifique duas vezes que não tem nenhuma propriedade do ambiente ORACLE_HOME definida em lado nenhum; lembre - se-o Windows irá usar os itens do registo para obter ele. Recomeça (não arrisque-estamos nisto a longo prazo!) Certificaste-te de que não havia nenhuma propriedade?
- volte a executar o instalador Oracle (como conta administrativa local, se aplicável) Você deve ser capaz de se alegrar em uma instalação de trabalho. Eu, pelo menos!
SQL> sqlplus "/ as sysdba"
SQL>startup
Oracle instance started
------
Database mounted.
Database opened.
Quit
[oracle@hcis ~]$ lsnrctl start
Fonte:
Https://community.oracle.com/thread/2141735?start=0&tstart=0
Este mesmo erro ocorreu-me mesmo que o ORACLE_HOME e o ORACLE_SID parecessem estar correctamente configurados.
O problema estava em ORACLE_HOME, que não é suposto terminar com um personagem barra. Quando removi o corte final, começou a funcionar correctamente.
## WRONG !!!
export ORACLE_HOME=/usr/local/oracle/11gR2/
## CORRECT
export ORACLE_HOME=/usr/local/oracle/11gR2
Então, mesmo que pareça que está tudo configurado bem, verifique as suas variáveis para isto.