You are on page 1of 12

6 de mayo de 2014 ADMN.

DE BDs | UNIDAD IV OPERACIN Y MANTENIBILIDAD









CARRERA:
ING. EN SISTEMAS COMPUTACIONALES

SEMESTRE: 6
to
GRUPO: A


ASIGNATURA:
ADMINISTRACIN DE BASES DE DATOS


DOCENTE:
L.I. LUS A. BALAM MUKUL



ALUMNOS:

MARIO A. RAMIREZ ARANDA
LUS E. NOH BALAM


FECHA DE ENTREGA: 06/MAYO/2014

6 de mayo de 2014 ADMN. DE BDs | UNIDAD IV OPERACIN Y MANTENIBILIDAD



R E P O R T E
BITCORAS EN POSTGRESQL

La importancia de las bitcoras es la de recuperar informacin ante incidentes de
seguridad, deteccin de comportamiento inusual, informacin para resolver problemas,
evidencia legal, es de gran ayuda en las tareas de cmputo forense.
En relacin al tema, las bitcoras (archivos LOG) ayudan al mantenimiento de las tablas
de una BD ante acciones de insercin, modificacin o eliminacin de tuplas en cualquier
relacin. Esto, con el fin de tener un control de los cambios que se hacen en la BD por
los diferentes usuarios que acceden al motor del sistema.

A continuacin, se mostrar un ejemplo claro de creacin de bitcoras a travs el uso
de funciones y triggers en el SGBD PostgreSQL.
En primera instancia, se crear una tabla bitcora de la relacin Ciudad llamada
Auditoria_Ciudad. Dicha tabla, contendr un campo que ser la clave primaria llamado
CodBitac de tipo entero, un campo llamado Accin de tipo cadena que contendr el tipo
de accin que el usuario realice (Insercin, actualizacin, eliminacin), un campo de tipo
cadena llamado FechaRegistro que contendr la fecha en la que se realiz la accin, un
campo llamado Usuario de tipo cadena que almacenar el nombre del usuario que est
utilizando la BD en ese momento y, finalmente, todos los datos de la tabla Ciudad.
En la imagen de abajo se muestra el ejemplo de la creacin de la bitcora.
6 de mayo de 2014 ADMN. DE BDs | UNIDAD IV OPERACIN Y MANTENIBILIDAD




NOTA: Como la bitcora no se utilizar para almacenar
datos manualmente, en conveniente crear una secuencia
que servir para el campo clave de la misma, en la cual,
al almacenar datos se inserte automticamente un valor
en el campo clave por cada tupla que guarde.

A continuacin, procedemos crear dicha secuencia llamada Auditoria_Ciudad_CodBitac_seq.





6 de mayo de 2014 ADMN. DE BDs | UNIDAD IV OPERACIN Y MANTENIBILIDAD



Enseguida, crearemos una funcin llamada Procesar_Bitac().
Esta funcin, nos permitir enlazar las acciones que el usuario realice sobre la relacin
Ciudad en la Bitcora Auditoria_Ciudad.

A continuacin, procedemos a crear el Trigger cuyo propsito es llamar a la funcin
previamente creada. Cabe destacar que, los disparadores se ejecutan automticamente
en cualquier momento cuando se cumple una condicin establecida al realizar una
operacin.
6 de mayo de 2014 ADMN. DE BDs | UNIDAD IV OPERACIN Y MANTENIBILIDAD



Enseguida creamos el Trigger llamado Auditoria_Ciudad_Trigger.








Una vez terminado los pasos anteriores, nos centraremos en la tabla Ciudad y
ejecutamos una consulta realizando una de las 3 acciones antes mencionadas para
verificar el uso de la bitcora.
En el primer ejemplo, realizamos una consulta de eliminacin como se muestra a
continuacin.
En esta imagen, se puede
apreciar la consulta de Delete
que cumple la condicin de
eliminar todas las tuplas que
tengan en el campo Cdigo_pais
el valor de USA.




Enseguida, verificamos en la bitcora los resultados de la accin previamente
ejecutada, a travs de la instruccin: Select * From Auditoria_Ciudad;

6 de mayo de 2014 ADMN. DE BDs | UNIDAD IV OPERACIN Y MANTENIBILIDAD
























En esta imagen se muestra
una captura de la bitcora
ejecutada en phpPgAdmin.

Como se puede observar,
en la bitcora se registraron
274 tuplas de eliminacin
por el usuario Postgres el
da 30 de abril del 2014 a
las 8:07 pm hrs.

De esta manera podemos
decir, que la bitcora
funciona como un respaldo
de la informacin de las
acciones hechas por algn
usuario en una relacin
determinada.
As pues, en caso de que se
requiera recuperar alguna
tupla tras un accidente de
Delete, se puede consultar
la bitcora para hacer el
anlisis correspondiente.
6 de mayo de 2014 ADMN. DE BDs | UNIDAD IV OPERACIN Y MANTENIBILIDAD



En el segundo ejemplo, probaremos la bitcora al ejecutar una accin de insercin.








Enseguida, verificamos en la bitcora los resultados de la accin previamente ejecutada, a travs de la instruccin: Select * From Auditoria_Ciudad;








En esta imagen se muestra
una captura de la bitcora
ejecutada en phpPgAdmin.

Como se puede observar,
en la bitcora se registr 1
tupla de insercin por el
usuario Postgres el da 01
de mayo del 2014 a las 3:18
pm hrs.


6 de mayo de 2014 ADMN. DE BDs | UNIDAD IV OPERACIN Y MANTENIBILIDAD



Ejemplo de bitcora de la relacin Pas:

Creacin de la bitcora





6 de mayo de 2014 ADMN. DE BDs | UNIDAD IV OPERACIN Y MANTENIBILIDAD



Creacin de la funcin

Creacin del Trigger








6 de mayo de 2014 ADMN. DE BDs | UNIDAD IV OPERACIN Y MANTENIBILIDAD



A continuacin, realizamos un evento de insercin en la tabla Pais:








Enseguida verificamos el registro de este nuevo evento en la bitcora correspondiente, a travs de la instruccin:
Select * From Auditoria_Pais;





En la imagen podemos observar que se realiz una insercin en la tabla Pais el da 01 de mayo del 2014 a las 5:38 pm por el usuario Postgres.
6 de mayo de 2014 ADMN. DE BDs | UNIDAD IV OPERACIN Y MANTENIBILIDAD



Ahora probaremos con un evento de actualizacin cambiando el valor en el campo Superficie.






A continuacin, verificamos el registro de este nuevo evento en la bitcora correspondiente, a travs de la instruccin:
Select * From Auditoria_Pais;






En la imagen podemos observar que se realiz una modificacin en la tabla Pais el da 01 de mayo del 2014 a las 5:57 pm por el usuario Postgres.
6 de mayo de 2014 ADMN. DE BDs | UNIDAD IV OPERACIN Y MANTENIBILIDAD



En conclusin, las bitcoras son tablas que ayudan para resolver problemas o
accidentes cuando el usuario o el administrador de la BD ejecutan eventos; ya sean de
insercin, actualizacin o eliminacin de informacin en una relacin en particular. Por
ejemplo, recuperar los datos de una(s) tupla(s) eliminada(s) accidentalmente, ya sean
por una condicin del evento mal escrito; tambin para saber qu datos han sido
modificados e insertados y, conocer quin lo hizo y cundo.
Sin embargo, no slo se usan bitcoras para estos 3 tipos de acciones, tambin se
pueden registrar consultas (a travs del evento Select), siempre y cuando se
establezca esta regla dentro de una funcin, en este caso; o bien, dentro de un trigger.
Por otra parte, tambin se pueden definir otros campos alternativos que ayudan a tener
un control ms especfico de las acciones que se realizan. Por ejemplo, registrar en la
bitcora el nombre de la mquina, el estado y la ip de sta.
Todas estas alternativas pueden ser establecidas dentro de una funcin o trigger si el
DBA as lo desea.

You might also like