É verdade que o nagios tem agente para monitorar BD oracle, mas

Eu acredito que o software deva estar bugado, porque o agente de
monitoramento não deveria causar transtornos no ambiente do usuário, pelo
menos em tese.. quanto mais "transparente" melhor

Criar uma procedure seria um paliativo, mas já tentou falar com o
responsavel pelo software pra ver se existe alguma atualizacao dessa
aplicação? Porque isso não vai parar... a nao ser que desabilite o
monitoramento de BD

[]s


2017-12-01 15:23 GMT-02:00 Rafael Mendonca raffaell.t...@yahoo.com
[oracle_br] <oracle_br@yahoogrupos.com.br>:

>
>
> Oracle EE 11.2.0.4 - Standalone (sem grid)
>
>
> Senhores, em um determinado ambiente, está recorrente a abertura de
> chamado em relação a lentidão, e o que percebi consultando a v$session +
> v$process +session_event é que existe um usuário chamado XXXNAGIOS
> (USERNAME) que conecta por um server remoto (MACHINE MMMM) utilizando o
> SQLPLUS (MODULE SQLPLUS) todas as suas sessões ficam com status ACTIVE,
> todas elas estão tomando a WAIT SQL*NET message from client e não existe
> nenhum sql sendo executado no momento.
>
> Após matar essas sessões, o ambiente volta a normalizar. Esse é um usuário
> que conecta no database para realizar operações de monitoramento.
>
> Abri chamado com a Oracle para poder ajudar no que pode está ocorrendo, as
> sessões simplismente não desconectam e após os SQLs serem executados,
> continuam consumindo recurso da máquina e tomando a WAIT acima.
>
> Enquanto a Oracle não me dá uma solução definitiva, estava pensando em
> realizar um workaround em relação a isso.
> Seria criar um job que executasse uma PROCEDURE para matar essas sessões
> de tempos em tempos, gostaria da ajuda de vocês para montar a procedure já
> que faz muitos anos que trabalhei com pl/sql.
>
> O cursor para carregar os dados seria mais ou menos dessa forma:
>
>   SELECT s.sid,
>          s.serial#
>     FROM v$session s,
>          v$process p
>    WHERE s.paddr       = p.addr
>      AND s.username = 'XXXNAGIOS'
>      AND s.status      = 'ACTIVE'
> AND s.module = 'SQL*PLUS'
> and s.machine = 'MMM'
> and s.last_call_et > 400;
>
>
> e em um loop realizar o execute immediate ('alter system kill session
> ''vsid'', ''vserial'' immediate');
>
> Alguém pode me ajudar a montar esse procedure?
>
> Lembrando que isso é somente uma ação paleativa enquanto não identificamos
> o que está causando esse comportamento no ambiente.
>
>
>
> 
>
  • [oracle_br] Sessões f... Rafael Mendonca raffaell.t...@yahoo.com [oracle_br]
    • Re: [oracle_br] ... Rodrigo Mufalani rodr...@mufalani.com.br [oracle_br]
    • Re: [oracle_br] ... angelo angelolis...@gmail.com [oracle_br]
      • Re: [oracle_... 'Vn @ Startup' vinicius...@gmail.com [oracle_br]
        • Re: [ora... Rafael Mendonca raffaell.t...@yahoo.com [oracle_br]
          • Re: ... Rafael Mendonca raffaell.t...@yahoo.com [oracle_br]
            • ... Rafael Mendonca raffaell.t...@yahoo.com [oracle_br]
              • ... Rodrigo Mufalani rodr...@mufalani.com.br [oracle_br]
            • ... jlchia...@yahoo.com.br [oracle_br]
              • ... Rafael Mendonca raffaell.t...@yahoo.com [oracle_br]
                • ... Luis Freitas lfreita...@yahoo.com [oracle_br]
                • ... jlchia...@yahoo.com.br [oracle_br]
                • ... jlchia...@yahoo.com.br [oracle_br]

Responder a