Auditoria con triggers.pdf

January 31, 2019 | Author: Hayde Huamani | Category: Information Science, Information Retrieval, Computer Data, Data Management, Data Management Software
Share Embed Donate


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

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF