Auditoria con triggers.pdf
Short Description
Download Auditoria con triggers.pdf...
Description
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS
TRIGGERS Y AUDITORÍA I.
OBJETIVOS Crear triggers para manejar auditoria de la base de datos.
II.
MARCO TEÓRICO AUDITORIA La auditoría significa capturar y almacenar información acerca de lo que está sucediendo en el sistema, por lo que este proceso aumenta la cantidad de trabajo que el sistema debe de hacer. Entonces la auditoria debe ser enfocada sólo aquellos eventos que son de interés, por lo que una auditoria bien enfocada tiene un mínimo impacto sobre el desempeño desempeño del sistema.
AUDITORIA CON TRIGGERS Un trigger define una acción que se debe llevar a cabo en la base de datos cuando se produce algún evento relacionado con la misma. misma. Los triggers pueden utilizarse para completar la integridad referencial, imponer reglas de negocio complejas o para auditar cambios en los datos. Los triggers se almacenan en la tabla catálogo del sistema como parte de las propiedades de una tabla y su ejecución es transparente para el usuario.
SINTAXIS CREATE OR REPLACE TRIGGER Nombre TIEMPO evento1 [ OR evento2 OR evento 3….] -- instrucción ON TABLA For Each Row
DECLARE
Definición de variables
BEGIN
Instrucciones del desencadenador
END;
PREDICADOS DELETING
DE
LOS
TRIGGERS:
INSERTING,
UPDATING
Y
Dentro de un trigger en el que se disparan distintos tipos de órdenes DML, hay tres funciones booleanas que se emplean para determinar de qué operación se trata. El comportamiento comportamiento de estos predicados es el siguiente:
Lab. Administración de Base de Datos (IS-443)
1
Prof. Elvira Fernández
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS
Con estos predicados podemos crear un solo desencadenador para dos o las tres instrucciones que lo generan. Insert Update Delete
Ejemplo 01: Las siguientes instrucciones crean un desencadenador llamados tr_stock que se ejecuta cuando se utiliza la instrucción insert, delete o update en la tabla producto . Ojo: si creo anteriormente estos desencadenadores por separado, este desencadenador reemplaza a los tres desencadenadores creados y por ello deberá eliminarlos previamente.
Lab. Administración de Base de Datos (IS-443)
2
Prof. Elvira Fernández
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS
EJERCICIO 01 VERIFIQUE y MUESTRE LOS RESULTADOS(ANTES Y DESPUES DE APLICAR LOS EVENTOS) PARA CADA EVENTO(INSERT, UPDATE Y DELETE), MOSTRAR LOS RESULTADOS OBTENIDOS.
Ejemplo02: Conectarse como usuario hr y crear un triggers donde se restringe la inserción dentro de la tabla employees en ciertas horas de trabajo y de lunes a viernes.
Lab. Administración de Base de Datos (IS-443)
3
Prof. Elvira Fernández
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS
VERIFICAMOS LA CREACION DEL TR_SEGURIDAD_EMPLEADOS POR MEDIO DE USER_TRIGGERS. SELECT SUBSTR(TRIGGER_NAME, TRIGGER_TYPE, TABLE_NAME,STATUS FROM USER_TRIGGERS;
TRIGGER LA VISTA
1,25)TRIGGER_NAME,
PROBAR DESENCADENANTE Ejercicio2: En la sesión hr intentar insertar datos en la tabla employees, para que se dispare el trigger.
Ejemplo03: Crear las tablas órdenes y su respectiva tabla de auditoría. Create table orden( Order_id number(5), Cantidad number(4), Costo_unitario number(6,2), Lab. Administración de Base de Datos (IS-443)
4
Prof. Elvira Fernández
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS
Total_costo number(8,2)); Create table orden_auditoria( Order_id number(5), Cantidad number(4), Costo_unitario number(6,2), Total_costo number(8,2), User_auditoria varchar(25) ); Construir un trigger que capture qué usuario ha insertado nuevas órdenes:
EJERCICIO3: inserte un registro en la tabla orden y verifique los resultados.
EJERCICIO04: modifique el ejemplo03, para que el desencadenante muestre un mensaje “acaba de ingresar nuevo registro en la tabla orden, el usuario “x”. Lab. Administración de Base de Datos (IS-443)
5
Prof. Elvira Fernández
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS
EJEMPLO 04 También puedes crear UN DESENCADENANTE que guarde todo el registro:
CREATE TABLE TABLA_A_AUDITAR( AUD_USER VARCHAR2(25), AUD_FECHA DATE, AUD_TIPO VARCHAR(25), AUD_TERMINAL VARCHAR(25) )
Ejercicio05 : insertar registro tabla empleados.
ANEXO Formato función Date Parameter
Explanation
YEAR
Year, spelled out
YYYY
4-digit year
YYY YY Y
Last 3, 2, or 1 digit(s) of year.
IYY IY I
Last 3, 2, or 1 digit(s) of ISO year.
IYYY
4-digit year based on the ISO standard
Q
Quarter of year (1, 2, 3, 4; JAN-MAR = 1).
MM
Month (01-12; JAN = 01).
Lab. Administración de Base de Datos (IS-443)
6
Prof. Elvira Fernández
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS
Parameter
Explanation
MON
Abbreviated name of month.
MONTH
Name of month, padded with blanks to length of 9 characters.
RM
Roman numeral month (I-XII; JAN = I).
WW
Week of year (1-53) where week 1 starts on the first day of the year and continues to the seventh day of the year.
W
Week of month (1-5) where week 1 starts on the first day of the month and ends on the seventh.
IW
Week of year (1-52 or 1-53) based on the ISO standard.
D
Day of week (1-7).
DAY
Name of day.
DD
Day of month (1-31).
DDD
Day of year (1-366).
DY
Abbreviated name of day.
J
Julian day; the number of days since January 1, 4712 BC.
HH
Hour of day (1-12).
HH12
Hour of day (1-12).
HH24
Hour of day (0-23).
MI
Minute (0-59).
SS
Second (0-59).
SSSSS
Seconds past midnight (0-86399).
FF
Fractional seconds.
Lab. Administración de Base de Datos (IS-443)
7
Prof. Elvira Fernández
View more...
Comments