Status Trigger

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
Avatar do usuário
rog3rk
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 37
Registrado em: Sex, 18 Jul 2008 8:06 am
Localização: Sapiranga RS

Boa tarde, gostaria de saber se alguém sabe se existe alguma forma de descobrir qual usuário habilitou ou desabilitou uma trigger no banco de dados.

O que acontece é que aqui na empresa estamos desconfiando que algum usuário está desabilitando a trigger, inserindo/alterando um registro e habilitando a trigger novamente.

Desde já agradeço
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
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

Tem audit!

Selecionar tudo

audit alter any trigger;

SELECT
OS_USERNAME,
USERNAME,
TERMINAL,
OWNER,
OBJ_NAME,
ACTION_NAME,
DECODE(RETURNCODE,'0','SUCCESS',RETURNCODE), /* FAILURE CHECK */ 
TO_CHAR(TIMESTAMP, 'DD-MON-YYYY HH24:MI:SS')
FROM
DBA_AUDIT_OBJECT
WHERE ACTION_NAME = 'ALTER TRIGGER';
crishpg
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 8
Registrado em: Sex, 12 Out 2012 11:26 am
Localização: Santa ROSA
Contato:
Cristiano Schmitt
Administrador de Banco de Dados e Tecnologia

Tem uma forma que fiz umas alterações.
Criar a tabela para guardar os logs

Selecionar tudo

CREATE TABLE ddl_log (
operation   VARCHAR2(30),
obj_owner   VARCHAR2(30),
object_name VARCHAR2(30),
sql_text    VARCHAR2(64),
attempt_by  VARCHAR2(30),
attempt_dt  DATE);
Criação da Trigger de Auditoria
observação: Essa trigger vai monitorar todos os comandos DDL executados no seu esquema.

Selecionar tudo

CREATE OR REPLACE TRIGGER bcs_trigger
BEFORE CREATE OR ALTER OR DROP
ON SCHEMA

DECLARE
 oper ddl_log.operation%TYPE;
BEGIN
  INSERT INTO ddl_log
  SELECT ora_sysevent, ora_dict_obj_owner,
  ora_dict_obj_name, NULL, USER, SYSDATE
  FROM DUAL;
END bcs_trigger;
se alguém adicionar ou alterar, ou deletar algum objeto será gravado na tabela ddl_log
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Bing [Bot], Google [Bot] e 18 visitantes