Bitácora
En términos generales, una bitácora es un registro detallado de las acciones realizadas para lograr un objetivo determinado y del resultado que producen. A través de ella es posible conocer la secuencia de sucesos y las condiciones en que se desarrollaron incluyendo las eventualidades y obstáculos para alcanzar el logro del objetivo.
Las bitácoras son fundamentales en lo que es la administración de bases de datos, pues con estas se puede tener un registro físicamente de todos los usuarios u objetos que se encuentren en determinada base de datos, esto nos sería muy útil en caso de pérdida de usuarios u objetos y sus dueños así como los roles que desempeñan dentro del gestor. Asimismo si ocurriera algún imprevisto en la base de datos o que A no llegara a estar disponible, una que se puede revisar el diseño a datos el de u registro que se lleva con la bitácora. continuación los mostraremos privilegios proposición en formato de una bitácora que nos permitirá registrar a los usuarios, tiene cuanto objetos de la base de datos, así como a la BD a la que pertenece y el rol que juega dentro de la misma. Es una bitácora sencilla pero muy útil pues contiene lo fundamental para hacer un registro muy completo y sin complejidades.
Bitácora de Administración:
Posee campos que con ellos se espera el buen control de los objetos de la base de datos.
Descripción
Sección: Registro de Usuarios Sección Objetos de la Base de datos: se describe si el objeto es propio.
Sección Base(s) de Datos a la(s) que pertenece: se escribe en que base de datos pertenezca
Esta bitácora nos sería muy útil en determinado momento, más que nada si quisiéramos consultar los usuarios existentes en el SGBD así como a la BD a la que pertenecen, sus roles, privilegios, etc. Lo que se busca con toda bitácora es la Organización ya que ella es la clave para evitar fallas o accidentes, como se a repasado anteriormente la información es sumamente valiosa, aunque ella no lo aparenta, la manipulación de la información es la que cuenta.Sección: Registro de Usuarios Sección Objetos de la Base de datos: se describe si el objeto es propio.
Sección Base(s) de Datos a la(s) que pertenece: se escribe en que base de datos pertenezca
La estructura más ampliamente usada para grabar las modificaciones de la base de datos es la Bitácora.
Cada registro de la bitácora escribe una única escritura de base de datos y tiene lo siguiente :
- Nombre de la transacción : Nombre de la transacción que realizó la operación de escritura.
- Nombre del dato : El nombre único del dato escrito.
- Valor antiguo : El valor del dato antes de la escritura.
- Valor nuevo : El valor que tendrá el dato después de la escritura.
Existen otros registros de bitácora especiales para grabar sucesos importantes durante el proceso de transacción tales como :
< T1, inicio >
< T1, x, v1, v2 >
< T1, commit >
< T1, x, v1, v2 >
< T1, commit >
Es fundamental que siempre se cree un registro en la bitácora cuando se realice una escritura antes de que se modifique la base de datos.
También tenemos la posibilidad de deshacer una modificación que ya se ha escrito en la base de datos, esto se realizará usando el campo del valor antiguo de los registros de la bitácora.
Los registros de la bitácora deben residir en memoria estable como resultado el volumen de datos en la bitácora puede ser exageradamente grande.
También tenemos la posibilidad de deshacer una modificación que ya se ha escrito en la base de datos, esto se realizará usando el campo del valor antiguo de los registros de la bitácora.
Los registros de la bitácora deben residir en memoria estable como resultado el volumen de datos en la bitácora puede ser exageradamente grande.
EJEMPLO E IMPLEMENTACION DE BITACORA DE BASE DE DATOS EN LENGUAJE DE PROGRAMACION EN SQL SERVER
***************
CREATE TABLE [dbo].[Bitacora] (
[BitacoraID] [int] IDENTITY (1, 1) NOT NULL ,
[EventType] [char] (14) NOT NULL ,
[Status] [int] NOT NULL ,
[EventInfo] [varchar] (1000) NOT NULL ,
[Usuario] [varchar] (20) NOT NULL ,
[Fecha] [smalldatetime] NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Bitacora] WITH NOCHECK ADD
CONSTRAINT [DF_Bitacora_Usuario] DEFAULT (suser_sname()) FOR [Usuario],
CONSTRAINT [DF_Bitacora_Fecha] DEFAULT (getdate()) FOR [Fecha]
******************
Y, por otro lado, el trigger en la tabla lo refiniría de la siguiente
manera:
******************
/* Trigger de Monitoreo */
CREATE TRIGGER trig_tablabitacora
ON TABLA
FOR DELETE, INSERT, UPDATE
AS
BEGIN
DECLARE @NUMERO INT
INSERT INTO Bitacora (EventType,Status,EventInfo)
exec sp_executesql N’DBCC INPUTBUFFER( @i )’, N’@i int’,
@i=@@spid
END
Cracion de Auditoria en Oracle
CREATE OR REPLACE TRIGGER "AUDIT_EMPSALES_VALUES"
AFTER
update of "SALARY" on "EMPLOYEES"
for each row
begin
INSERT INTO audit_record_tb1
VALUES(sys_context('userenv','current_user'),
sysdate, :old.employee_id, :old.salary, :new.salary);
end;
/
ALTER TRIGGER "AUDIT_EMPSALES_VALUES" ENABLE
/
No hay comentarios:
Publicar un comentario