Aprenda PL/SQL

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...)
  

Mensagemem Ter, 03 Nov 2015 10:01 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:

Código: Selecionar todos
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.
ThiagolRamos

Mensagemem Ter, 03 Nov 2015 4:51 pm

A variável de ambiente ORACLE_UNQNAME está certinha??
nelson.anchite

Mensagemem Qua, 04 Nov 2015 6:05 am

Sim, ao consultar com o comando:

Código: Selecionar todos
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
ThiagolRamos

Mensagemem Qua, 04 Nov 2015 8:18 am

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.
souldeath
Localização: Campinas

Mensagemem Qua, 04 Nov 2015 9:05 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?
ThiagolRamos

Mensagemem Qua, 04 Nov 2015 10:15 am

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
stcoutinho
Localização: Sao Paulo - SP

Mensagemem Qua, 04 Nov 2015 10:34 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?
ThiagolRamos

Mensagemem Qua, 04 Nov 2015 12:32 pm

ThiagolRamos talvez esse link ajude, tem vários itens para tentar identificar o problema:
http://shazdba.blogspot.com.br/2015/04/ ... ecify.html
souldeath
Localização: Campinas

Mensagemem Qui, 05 Nov 2015 3:36 pm

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:

Código: Selecionar todos
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.
ThiagolRamos

Mensagemem Qui, 05 Nov 2015 8:58 pm

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:
Código: Selecionar todos
emctl stop dbconsole
emctl setpasswd dbconsole


Em seguida reiniciar o serviço:
Código: Selecionar todos
emctl start dbconsole


Link de referência:
https://mhimu.wordpress.com/2012/02/06/ ... rd-expiry/
souldeath
Localização: Campinas

Mensagemem Sex, 06 Nov 2015 6:45 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:
Código: Selecionar todos
emctl stop dbconsole
emctl setpasswd dbconsole


Em seguida reiniciar o serviço:
Código: Selecionar todos
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"
ThiagolRamos

Mensagemem Sex, 06 Nov 2015 8:32 am

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
souldeath
Localização: Campinas



Voltar para DBA Geral

Quem está online

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