Log de operações por tabela

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
KNOG
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Ter, 21 Ago 2007 10:59 am
Localização: SP

Temos como saber quais operações (insert, select, update, delete...) foram realizadas recentemente por tabela? Se tiver, qual usuário fez estas operações?
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5026
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Sim, pode criar uma trigger que faz o LOG.
Tipo:
* Cria uma nova tabela, com HORA, USUARIO, OPERACAO, etc
* Cria uma trigger que insere nessa tabela.

Daí é só controlar. (de preferência não esquecer que essa trigger existe, pois já vi logs "temporarios" como esse que ficaram a vida toda)...
gilbertoca
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 372
Registrado em: Ter, 24 Jan 2006 3:33 pm
Localização: Palmas - TO
Contato:

KNOG escreveu:Temos como saber quais operações (insert, select, update, delete...) foram realizadas recentemente por tabela? Se tiver, qual usuário fez estas operações?
Não sei qual a sua versão, mas sei que a partir da versão 9i com a caracteristica FGA, o oracle passou a ter uma opção para auditar as atvidades do usuários. Mas essa caracteristica inicialmente na versão 9i só auditava sentenças SELECT e não as restantes DML. Portanto, para essa versão e anteriores a única opção é usar triggers.
A versão 10g não tem essa limitação e você pode fazer uso dessa característica: Configuring and Administering Auditing
Gilberto
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante