Pular para o conteúdo

Como Resolver Problemas de Lentidão e Sessões Fantasmas em Servidor Oracle AIX 64 – Contos da Cripta

Contos da Cripta

Já viram um servidor Oracle lento? Não, não viram.
E olha que este aqui é um AIX 64 com 5 processadores e 60GB de RAM.

Veja a quantos segundos este SELECT está esperando por um mero latch:

SQL> SELECT EVENT, SECONDS_IN_WAIT FROM V$SESSION_WAIT WHERE SID = 847;

EVENT SECONDS_IN_WAIT
-------------------------------------------------- ---------------
latch free 85712

Agora algo mais estranho. A sessão está ativa, então vou tentar mata-la. Mas ela não existe…

SQL> SELECT A.SID, A.SERIAL#, A.STATUS, B.SPID FROM V$SESSION A, V$PROCESS B WHERE A.PADDR=B.ADDR AND A.SID in (SELECT A.SID FROM V$SESSION A, V$PROCESS B WHERE A.SID=847 AND A.USERNAME IS NOT NULL AND A.PADDR=B.ADDR);

SID SERIAL# STATUS SPID
----- ---------- -------- ------------
847 14752 ACTIVE 30851120

SQL> ALTER SYSTEM KILL SESSION '847,14752';
alter system kill session '847,14752'
*
ERROR at line 1:
ORA-00030: User session ID does not exist.

SQL> ALTER SYSTEM KILL SESSION '847,14752' IMMEDIATE;
alter system kill session '847,14752' immediate
*
ERROR at line 1:
ORA-00030: User session ID does not exist.

Tudo bem, até aqui, já vi acontecer. Mas o pior é que o PID nem existe mais no Sistema Operacional. E não existe desde ontem à tarde…

SQL> ! ps -ef | grep 30851120
oracle 29327496 31101104 0 09:50:03 pts/5 0:00 grep 30851120

SQL>

ESTE PID NO ECXISTE !

Ricardo Portilho Proni

Ricardo Portilho Proni

Com 20 anos de experiência profissional, Oracle ACE Member – eleito pela Oracle Corporation um dos maiores especialistas do mundo em Oracle Database- Trabalhou em grande parte dos maiores bancos de dados Oracle do Brasil. Certificado em Oracle, SQL Server, DB2, MySQL, Sybase e Websphere. Conselheiro do GPO e do GUOB, palestrante do ENPO, GUOB Tech Day e Oracle Open World, escritor da Revista SQL Magazine e Instrutor na Nerv.

Comentário(s) da Comunidade

  1. Avatar de Ricardo Portilho Proni

    Não é RAC, graças a Deus.

    E ficou pior ainda: nem o PMON consegue uma latch:

    SQL> select event, seconds_in_wait from v$session_wait where sid = 1;

    EVENT SECONDS_IN_WAIT
    ————————————————– —————
    latch free 2146
    SQL>

  2. Avatar de José Netto

    Olá Portilho,
    Parabéns pelo blog!!!

    Vi seu amplo conhecimento sobre o oracle e queria pedir um help pra vc!
    estou terminando meu curso com um projeto de instalação, configuração,e etc, do oracle rac em um cluster. Tenho algumas duvidas e acho que voce tiraria de letra.

    Se puderes me adiciona no msn o email eu coloquei ai em cima ou voce me informa o seu!

    Serei muito grato.

    Att,

    José Netto

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Marcações:
plugins premium WordPress