Pesquisar

Pesquisa personalizada

quinta-feira, 10 de março de 2011

Auditoria no Oracle

Olá Pessoal!!!.

Há alguns dias, passamos certas dificuldades com um grande cliente que prestamos serviços de outsourcing. Algum engraçadinho (bem esperto eu diria) andou mexendo em algumas tabelas do banco, que são bem importantes para o cliente, resumindo um pouco da história, revezamos em 3 dbas, os 3 turnos, 3 dias seguidos, onde fizemos vários restore no ambiente devido a esta "dedada" do espertão.

Só que o DBA Senior que cuida deste cliente, ativou um recurso bem interessante do oracle, onde conseguimos pegar o que o espertão fez, qual tabela ele mexeu, qual comando ele executou entre outros...Tudo isso podemos verificar pelo dicionários de dados DBA_AUDIT_OBJECT (Ambientes 8i e 9i).....Abaixo só o código para futuras consultas, pois nem lembro como e onde encontrei....

select OS_USERNAME,obj_name, to_char(timestamp,'DD-MM-RRRR HH:MI:SS') data_hora,
decode(ses_actions,
'---S------------','DELETE',
'------S---------','INSERT',
'---------S------','SELECT',
'----------S-----','UPDATE',
'---S--S--S------','DELETE/INSERT/SELECT',
'---S--S--SS-----','DELETE/INSERT/SELECT/UPDATE',
'------S--S------','INSERT/SELECT',
'------S--SS-----','INSERT/SELECT/UPDATE',
'---------SS-----','SELECT/UPDATE',
'UNKNOWN') Action
from dba_audit_object where to_char(timestamp,'DD-MM-RRRR HH:MI:SS') = '02-03-2011 11:26:00';

OBS: Na coluna SES_ACTIONS indica a ação que foi feita pelo usuário tais como: DELETE, INSERT, SELECT e UPDATE na tabela.

Até mais.

[]`s

Nenhum comentário:

Postar um comentário