terça-feira, 20 de março de 2012

Consultando e eliminando sessões ativas no PostgreSQL

Já mostrei como listar/matar as sessões ativas no oracle, hoje vou mostrar essa mesma funcionalidade acessando o banco de dados PostgreSQL. O sql a seguir lista todas as sessões ativas.

select datname, 
       procpid, 
       usename, 
       application_name, 
       client_addr, 
       client_hostname, 
       backend_start 
  from pg_stat_activity

EDIT:
A coluna procid foi renomeada para pid a partir da versão 9.2 do PostgreSQL

Com a lista de usuário em mãos, podemos optar por "matar" a sessão de algum usuário ativo,

quarta-feira, 14 de março de 2012

Consultando e eliminando sessões ativas no Oracle

Hoje vou deixar uma dica rápida, como listar as sessões ativas no oracle, isto é, os usuários que estão conectados através de alguma aplicação cliente. O sql a seguir lista todas as sessões ativas excluindo os processos do próprio oracle.

SELECT s.username,
     s.osuser,
     s.sid,
     s.serial#,
     p.spid,
     s.status,
     s.machine,
     s.program,
     TO_CHAR(s.logon_Time,'DD-MON-YYYY HH24:MI:SS') AS logon_time
   FROM v$session s
  inner join v$process p
     on s.paddr = p.addr
  WHERE s.status = 'ACTIVE' 
    and s.type <> 'BACKGROUND'


Com a lista de usuário em mãos, podemos optar por "matar" a sessão de algum usuário ativo.