Database control não detecta o ORACLE_UNQNAME

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
ThiagolRamos
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 19
Registrado em: Ter, 03 Nov 2015 9:53 am

Bom dia,

Meu problema começou quando tentei acessar o painel do Enterprise manager e ele me retornava a mensagem:

"The database is down. Please specify the host credentials to access database restart and diagnostics tools."

Eu sabia que isso não estava correto, pois nosso ERP estava funcionando normalmente, assim como testes de conexões que fiz, PL/SQL que conectava normal, serviço do windows rodando, etc.

Ao executar o comando:

emctl status dbconsole

Ele me retornava a mensagem que o ORACLE_UNQNAME não estava definido, porém ela está.

Ao verificar através do código:

Selecionar tudo

select name, db_unique_name from v$database;
O banco me retornava os resultados. Ou seja, o ORACLE_UNQNAME estava definido, mas o database control não o identifica.

Alguém já passou por isso?

Desde já agradeço as respostas.
nelson.anchite
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Ter, 07 Out 2014 10:24 am
Contato:

A variável de ambiente ORACLE_UNQNAME está certinha??
ThiagolRamos
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 19
Registrado em: Ter, 03 Nov 2015 9:53 am

Sim, ao consultar com o comando:

Selecionar tudo

select name, db_unique_name from v$database;
Ele me retorna a variável que deveria estar.

Provavelmente é algo na configuração do DBcontrol que não está setando para a instancia certa ou algo do tipo, mas não sei quais arquivos devo verificar para ver a configuração do DBcontrol
souldeath
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 48
Registrado em: Qua, 25 Ago 2010 9:39 am
Localização: Limeira

ThiagolRamos, o que o nelson.anchite te perguntou é se a variável de ambiente ORACLE_UNQNAME está definida no sistema operacional.

Por exemplo se o Oracle estiver rodando em Linux, você deve verificar se tem um export dessa variável no arquivo ~.bash_profile do usuário oracle.
ThiagolRamos
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 19
Registrado em: Ter, 03 Nov 2015 9:53 am

souldeath escreveu:ThiagolRamos, o que o nelson.anchite te perguntou é se a variável de ambiente ORACLE_UNQNAME está definida no sistema operacional.

Por exemplo se o Oracle estiver rodando em Linux, você deve verificar se tem um export dessa variável no arquivo ~.bash_profile do usuário oracle.
Desculpe, não havia entendido essa parte, no caso ele roda em um Windows Server 2012, você saberia me dizer onde verifico isso no S.O?
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Thiago,

Você pode abrir uma janela no MS-DOS e digitar o comando:

SET <enter>

Este comando lhe dará uma lista das variáveis atualmente configuradas no seu windows. Caso precise configurar esta variável, você pode ir INICIAR->COMPUTADOR->PROPRIEDADES (botão direito do mouse).

Abraços,

Sergio
ThiagolRamos
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 19
Registrado em: Ter, 03 Nov 2015 9:53 am

stcoutinho escreveu:Thiago,

Você pode abrir uma janela no MS-DOS e digitar o comando:

SET <enter>

Este comando lhe dará uma lista das variáveis atualmente configuradas no seu windows. Caso precise configurar esta variável, você pode ir INICIAR->COMPUTADOR->PROPRIEDADES (botão direito do mouse).

Abraços,

Sergio
Obrigado pela ajuda, mas acredito não ter nada a ver com as variáveis de ambiente do windows, digo isso pelo seguinte.

Possuo uma base de testes em uma VM, e nela o DBconsole está funcionando normal, ao consultar as variáveis, tanto a VM de teste quanto o meu servidor padrão estão iguais, obviamente alterando alguns detalhes como nome da máquina, usuário e etc.

Não estou conseguindo identificar o porque do do DB console do servidor padrão parou de enxergar essa variável.

Não há nenhum arquivo na pasta do Oracle onde eu indique qual é o ORACLE_UNQNAME para o DBconsole?
souldeath
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 48
Registrado em: Qua, 25 Ago 2010 9:39 am
Localização: Limeira

ThiagolRamos talvez esse link ajude, tem vários itens para tentar identificar o problema:
http://shazdba.blogspot.com.br/2015/04/ ... ecify.html
ThiagolRamos
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 19
Registrado em: Ter, 03 Nov 2015 9:53 am

souldeath escreveu:ThiagolRamos talvez esse link ajude, tem vários itens para tentar identificar o problema:
http://shazdba.blogspot.com.br/2015/04/ ... ecify.html
Obrigado, ajudou bastante em questão de conhecimento, mas não resolveu o problema, estou em contato com o suporte da Oracle ao mesmo tempo que estou buscando soluções, nem com os comandos que eles me passaram deu jeito ainda.

Acabei descobrindo outra coisa que talvez tenha acontecido com algum de vocês.

Ao consultar o status das contas, verifiquei que o do SYSMAN estava com o status LOCKED, e o DBconsole utiliza essa conta para acessar o banco. Fiz então o comando para alterar o status:

Selecionar tudo

alter user sysman account unlock;
Ao consultar novamente, tudo perfeito, o status estava como OPEN, até loguei pelo SQL*PLUS com a conta. Só que para acessar pelo DBconsole tenho que reiniciar o serviço.

E para minha surpresa, quando reinicio o serviço a conta SYSMAN passa para o status LOCKED novamente.

Nunca havia visto isso, como se o DBconsole estivesse alterando o status da conta SYSMAN.
souldeath
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 48
Registrado em: Qua, 25 Ago 2010 9:39 am
Localização: Limeira

ThiagolRamos a senha do SYSMAN foi alterada para uma senha diferente de quando foi feita a instalação do Oracle?
Acredito que quando o serviço do DBconsole é iniciado ele esteja tentando se conectar com uma senha errada, talvez por isso o SYSMAN volta para o status LOCKED.

Tenta alterar a senha do dbconsole dessa forma:

Selecionar tudo

emctl stop dbconsole
emctl setpasswd dbconsole
Em seguida reiniciar o serviço:

Selecionar tudo

emctl start dbconsole
Link de referência:
https://mhimu.wordpress.com/2012/02/06/ ... rd-expiry/
ThiagolRamos
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 19
Registrado em: Ter, 03 Nov 2015 9:53 am

souldeath escreveu:ThiagolRamos a senha do SYSMAN foi alterada para uma senha diferente de quando foi feita a instalação do Oracle?
Acredito que quando o serviço do DBconsole é iniciado ele esteja tentando se conectar com uma senha errada, talvez por isso o SYSMAN volta para o status LOCKED.

Tenta alterar a senha do dbconsole dessa forma:

Selecionar tudo

emctl stop dbconsole
emctl setpasswd dbconsole
Em seguida reiniciar o serviço:

Selecionar tudo

emctl start dbconsole
Link de referência:
https://mhimu.wordpress.com/2012/02/06/ ... rd-expiry/
Rapaz, você é o cara, deu certo!! Muito obrigado.

Eu havia descartado essa hipótese da senha pois eu havia trocado a senha do dbconsole que fica na pasta sysman/config no arquivo emoms.properties como havia lido em alguns foruns, até da própria Oracle, então imaginei que estava tudo certo com relação a senha.

Este comando serve para alterar a senha do agent também?

Pois na hora que entro no DBconsole logo na aba home ele diz "Status Agent Unreachable"
souldeath
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 48
Registrado em: Qua, 25 Ago 2010 9:39 am
Localização: Limeira

Opa, que bom que deu certo, de acordo com a documentação da Oracle a senha no emoms.properties é criptografada, pra alterar usa o comando emctl setpasswd dbconsole.
Link da documentação: http://docs.oracle.com/cd/B19306_01/em. ... m#CEGCFHEG

Esse outro erro já não sei, esqueci de colocar no post anterior, mas no link que passei tem esse comando: emctl secure dbconsole
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 5 visitantes