02/06/2008, 09:15
|
| | Fecha de Ingreso: junio-2008
Mensajes: 6
Antigüedad: 16 años, 5 meses Puntos: 0 | |
Respuesta: Como hacer una trigger de auditoría en ORACLE Hola, podrías hacer un trigger que guarde el SqlText, de esta forma:
CREATE OR REPLACE TRIGGER TRIG_PAGO
AFTER DELETE OR INSERT OR UPDATE
ON PAGO -- TABLA A AUDITAR
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
SQ VARCHAR(255);
FC VARCHAR(255);
BEGIN
IF INSERTING THEN
select distinct
vs.sql_text,
to_char(to_date(vs.first_load_time,'YYYY-MM-DD/HH24:MI:SS'),'MM/DD HH24:MI:SS') first_load_time into SQ,FC
from
v$sqlarea vs,
all_users au
where (parsing_user_id != 0)
and (au.user_id(+)=vs.parsing_user_id)
and au.username=user
and first_load_time=(select max(first_load_time)
from v$sqlarea vs ,all_users au
where (parsing_user_id != 0)
and (au.user_id(+)=vs.parsing_user_id)
and au.username=user
and (executions >= 1))
and (executions >= 1);
INSERT INTO AUD_PAGO --TABLA QUE GUARDA LA AUDITORIA
VALUES
(SQ,USER,SYSDATE,USERENV('TERMINAL'));
END IF;
END; |