Disparador de Auditoría para Actualizaciones y Eliminaciones de Usuarios

Disparador de Auditoría para Actualizaciones y Eliminaciones de Usuarios
Este artículo describe un disparador que audita cada actualización o eliminación en la tabla GEN_MST_USR_LST y conserva el estado anterior de los datos para garantizar trazabilidad y responsabilidad en el sistema.
Resumen funcional
El disparador AUD_ULT_AR_UD se ejecuta AFTER DELETE OR UPDATE ON GEN_MST_USR_LST FOR EACH ROW y omite las acciones realizadas por el usuario de sistema PRG_USER. Al activarse, invoca la rutina gen_pkg.get_user_context para obtener el contexto de sesión incluyendo usuario, rol, ciudad y datos de transacción. Si no existe un identificador de detalle de transacción v_dtl_id, se genera mediante la secuencia dtl_seq.NEXTVAL y se registra en la tabla GEN_DB_TRANSACTION_LOG con información de usuario, rol, host y módulo para permitir auditoría centralizada.
Comportamiento ante DELETE y UPDATE
Para una operación DELETE el disparador inserta la fila antigua completa en GEN_MST_USR_LST_AUD y marca la acción como D junto al identificador de detalle generado. Para una operación UPDATE hace lo mismo pero marca la acción como U. En ambos casos se registran todos los campos relevantes junto con sellos de tiempo y el usuario que provocó la acción, preservando así el historial completo de cambios.
Puntos clave
1. Se dispara AFTER DELETE o UPDATE por cada fila afectada. 2. Ignora acciones realizadas por PRG_USER. 3. Obtiene contexto mediante gen_pkg.get_user_context. 4. Si v_dtl_id es nulo se crea con dtl_seq.NEXTVAL y se inserta en GEN_DB_TRANSACTION_LOG. 5. En DELETE se guarda la fila antigua en GEN_MST_USR_LST_AUD con acción D. 6. En UPDATE se guarda la fila antigua en GEN_MST_USR_LST_AUD con acción U. 7. Se capturan timestamps y usuario para trazabilidad. 8. Mantiene un historial completo de modificaciones para auditoría y cumplimiento.
Implementación y buenas prácticas
Al diseñar disparadores de auditoría se recomienda minimizar la lógica pesada dentro del trigger, delegar validaciones complejas a paquetes PL SQL cuando sea posible y asegurar que las tablas de auditoría estén indexadas para evitar degradación del rendimiento. También es aconsejable registrar identificadores de transacción y sesión para correlacionar eventos y facilitar el análisis forense en caso de incidentes.
Sobre Q2BSTUDIO
En Q2BSTUDIO somos una empresa de desarrollo de software que ofrece aplicaciones a medida y software a medida para clientes de múltiples sectores. Somos especialistas en inteligencia artificial, ciberseguridad, servicios cloud AWS y Azure, servicios de inteligencia de negocio y automatización de procesos. Diseñamos soluciones que integran auditoría y seguridad desde la base para garantizar cumplimiento y resiliencia operativa.
Si necesita una solución a medida para el control y la auditoría de datos en su plataforma consulte nuestros servicios de desarrollo de aplicaciones y software a medida y descubra cómo podemos integrar inteligencia artificial en sus procesos con nuestras soluciones de inteligencia artificial. También ofrecemos servicios de ciberseguridad y pentesting para proteger los registros de auditoría y asegurar la integridad de la información.
Palabras clave
aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.
Comentarios