Trigger EN tabla dba_audit_object

Hola,
Necesito ejecutar un trigger sobre la tabla dba_audit_object, pero al ejecutar el código en sqlplus me da error de que no puedo crear ese trigger el código es
CREATE TRIGGER TRIGER_AUDIT
AFTER
INSERT OR UPDATE OF OBJ_NAME
ON DBA_AUDIT_OBJECT
FOR EACH ROW
WHEN(NEW.OBJ_NAME='EMP')
BEGIN
INSERT INTO PRUEBA_AUDIT(OBJ_NAMEM, USERNAMEM, USERHOSTM, OWNERM, OS_USERNAMEM, ACTION_NAMEM, SESSIONIDM, TIMESTAMPM, SQL_TEXTM)
values(new.obj_name, new.username, new.userhost, new.owner, new.os_username, new.action_name, new.sessionid, new.timestamp, new.sql_text)
END;
LO que necesito es registrar en una tabla prueba_auditoria, los valores que se hallan en la tabla, dba_audit_object, cuando se realiza un insert en esta tabla, pero que registra la auditoria de una tabla emp del usuario scott.
Es decir si alguien hace un select de la tabla emp del usuario scott, esto se registra, en la tabla, dba_audit-object, y entonces esos valores pasarlos a una tabla aux denominada prueba_auditoria, debido a que no puedo hacer un trigger sobre un select de la tabla emp, me veo en la necesidad de hacer un trigger en la tabla db a_audit_object, con el evento insert.
Luego de eso debo enviar los datos, de la tabla aux, a un mail notificando de lo sucedido co el paquete dbms_snmp, por fa si tienes una idea de como hacer esto por fa te agradezco de antemano.

1 respuesta

Respuesta
1
El problema debe estar en que dba_audit_objet es una vista. Para vistas no puedes utilizar ni after ni before sino instead

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas