Qual visão do oracle mostra quem executou um comando dml?

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
Dtabosa
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Qui, 01 Nov 2012 3:26 pm

Boa tarde!

Tenho a seguinte situação: Alguém ou algum procedimento fez alteração ou inserção em uma tabela. Quero saber se existe alguma forma de verificar isso em alguma visão do próprio oracle. Tipo, qual o comando e o usuário do banco e, se possível a máquina e usuário de rede. Eu lembro que uma vez, em outra empresa que trabalhava, conseguiram descobrir quem havia dado truncate em uma tabela de produção e o comando estava em um procedimento dentro de um execute immediate.

Segue minha versão do oracle:

Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
PL/SQL Release 9.2.0.1.0 - Production
CORE 9.2.0.1.0 Production
TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
NLSRTL Version 9.2.0.1.0 - Production
Tinho
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 319
Registrado em: Seg, 16 Nov 2009 4:50 pm
Localização: São Paulo - SP

Camarada, tenta isso:

Selecionar tudo


SELECT s.sid,
           s.status,
           s.process,
           s.schemaname,
           s.osuser,
           a.sql_text,
           p.program
FROM   v$session s,
           v$sqlarea a,
           v$process p
WHERE  s.SQL_HASH_VALUE = a.HASH_VALUE
AND     s.SQL_ADDRESS = a.ADDRESS
AND     s.PADDR = p.ADDR

 
Abç.,
Responder
  • Informação
  • Quem está online

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