Pessoal, meu forte não é a parte de banco, porém to desenvovlvendo uma
aplicação que preciso dos seguitnes dados das transações que estão
ativas no oracle: Usuário BD, Programa, Usuário Sistema, Status (lock,
ativa, inativa) e o comando que está sendo executado. Usei o seguinte
select:
select substr(s.username,1,18) username,
       substr(s.program,1,15) program,
       s.OSUSER,
       s.STATUS as status,
       decode(s.command,
       0,'No Command',
       1,'Create Table',
       2,'Insert',
       3,'Select',
       6,'Update',
       7,'Delete',
       9,'Create Index',
      15,'Alter Table',
      21,'Create View',
      23,'Validate Index',
      35,'Alter Database',
      39,'Create Tablespace',
      41,'Drop Tablespace',
      40,'Alter Tablespace',
      53,'Drop User',
      62,'Analyze Table',
      63,'Analyze Index',
      s.command||': Other') command
from  v$session     s,
      v$process     p

where s.paddr = p.addr
AND   s.program <> 'sessao.exe'

UNION 

select substr(s.username,1,18) username,
       substr(s.program,1,15) program,
       s.OSUSER,
       'LOCK' as status,
       decode(s.command,
       0,'No Command',
       1,'Create Table',
       2,'Insert',
       3,'Select',
       6,'Update',
       7,'Delete',
       9,'Create Index',
      15,'Alter Table',
      21,'Create View',
      23,'Validate Index',
      35,'Alter Database',
      39,'Create Tablespace',
      41,'Drop Tablespace',
      40,'Alter Tablespace',
      53,'Drop User',
      62,'Analyze Table',
      63,'Analyze Index',
      s.command||': Other') command
from  v$locked_object a ,
      v$session s,
      dba_objects c

where s.sid = a.session_id
and   a.object_id = c.object_id
AND   s.program <> 'sessao.exe'

order by 1;

Porém tem algumas instancias do banco que reclama que as tabelas não
exitem.


Alguem pode me ajudar me passando um select que tenha essas
informações e funcione em qualquer instalação oracle?

No aguardo

Responder a