187888261 monitoreo y auditoria de la base de datos

Upload: greysi-vallecillo

Post on 28-Feb-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 187888261 Monitoreo y Auditoria de La Base de Datos

    1/21

    Monitoreo y Auditora de la

    Base de DatosMonitoreo1.- Monitoreo general de un DBMS

    2.- Monitoreo de espacio en disco.

    3.- Monitoreo de logs.

    4.- Monitoreo de Memoria compartida

  • 7/25/2019 187888261 Monitoreo y Auditoria de La Base de Datos

    2/21

    Instituto Tecnolgico de

    Culiacn Equipo #5

    Integrantes:

    Alvarado Arellano Armando

    Gaxiola Rojas Carlos Mario

    Hernndez Estolano Ivn Alonso

    Ontiveros Nez Jos Luis

  • 7/25/2019 187888261 Monitoreo y Auditoria de La Base de Datos

    3/21

    Monitoreo general de un

    DBMS Qu es la Auditora de BD?

    Es el proceso que permite medir, asegurar, demostrar, monitorear yregistrar los accesos a la informacin almacenada en las bases dedatos incluyendo la capacidad de determinar:

    Quin accede a los datos. Cundo se accedi a los datos.

    Desde qu tipo de dispositivo/aplicacin.

    Desde que ubicacin en la Red.

    Cul fue la sentencia SQL ejecutada.

    Cul fue el efecto del acceso a la base de datos.

    Es uno de los procesos fundamentales para apoyar laresponsabilidad delegada a IT por la organizacin frente a lasregulaciones y su entorno de negocios o actividad.

  • 7/25/2019 187888261 Monitoreo y Auditoria de La Base de Datos

    4/21

    Objetivos Generales de la

    Auditora de BD Disponer de mecanismos que permitan tener trazas de

    auditora completas y automticas relacionadas con elacceso a las bases de datos incluyendo la capacidadde generar alertas con el objetivo de:

    Mitigar los riesgos asociados con el manejoinadecuado de los datos.

    Apoyar el cumplimiento regulatorio.

    Satisfacer los requerimientos de los auditores.

    Evitar acciones criminales.

    Evitar multas por incumplimiento.

    La importancia de la auditora del entorno de bases dedatos radica en que es el punto de partida para poderrealizar la auditora de las aplicaciones que utiliza estatecnologa.

  • 7/25/2019 187888261 Monitoreo y Auditoria de La Base de Datos

    5/21

    La Auditora de BD es importante

    porque: Toda la informacin financiera de la organizacin

    reside en bases de datos y deben existir controlesrelacionados con el acceso a las mismas.

    Se debe poder demostrar la integridad de lainformacin almacenada en las bases de datos.

    Las organizaciones deben mitigar los riesgosasociados a la prdida de datos y a la fuga deinformacin.

    La informacin confidencial de los clientes, sonresponsabilidad de las organizaciones.

    Los datos convertidos en informacin a travs de

    bases de datos y procesos de negocios representan elnegocio.

    Las organizaciones deben tomar medidas muchoms all de asegurar sus datos.

    Deben monitorearse perfectamente a fin de conocer

    quin o qu les hizo exactamente qu, cundo y cmo.

  • 7/25/2019 187888261 Monitoreo y Auditoria de La Base de Datos

    6/21

    Mediante la auditora de bases

    de datos se evaluar:Definicin de estructuras fsicas y

    lgicas de las bases de datos.

    Control de carga y mantenimiento

    de las bases de datos.Integridad de los datos y proteccin

    de accesos.

    Estndares para anlisis yprogramacin en el uso de bases dedatos.

    Procedimientos de respaldo y de

    recuperacin de datos.

  • 7/25/2019 187888261 Monitoreo y Auditoria de La Base de Datos

    7/21

    Aspectos Claves

    No se debe comprometer el desempeo de las bases de datos Soportar diferentes esquemas de auditora.

    Se debe tomar en cuenta el tamao de las bases de datos aauditar y los posibles SLA establecidos.

    Segregacin de funciones

    El sistema de auditora de base de datos no puede seradministrado por los DBA del rea de IT.

    Proveer valor a la operacin del negocio

    Informacin para auditora y seguridad.

    Informacin para apoyar la toma de decisiones de la organizacin.

    Informacin para mejorar el desempeo de la organizacin.

    Auditora completa y extensiva

    Cubrir gran cantidad de manejadores de bases de datos.

    Estandarizar los reportes y reglas de auditora.

  • 7/25/2019 187888261 Monitoreo y Auditoria de La Base de Datos

    8/21

    Monitoreo de espacio libre en

    discosComo DBA una de las responsabilidades es supervisar el espacioen disco. Siempre hay que asegurarse de que se tiene suficientepara sus bases de datos, copias de seguridad de bases de datos ycualquier otro tipo de archivos que va a almacenar en el servidor. Sino controla su espacio en disco y se asegura de que tienes espaciosuficiente, con el tiempo uno de sus procesos crticos de bases dedatos o componentes va a fracasar porque no se puede asignar el

    espacio en disco que necesita.

    Dentro de SQL Server hay un procedimiento no documentado quenos puede ayudar a cumplir este cometido. El procedimiento esXP_FIXEDDRIVES, no lleva parmetros ni nada y nos regresatodos los discos a los que tiene acceso SQL Server y su espaciodisponible en Megabytes.

    Es muy sencillo utilizarlo, solo basta con ejecutar el comandoxp_fixeddrives de vez en cuando desde el Analizador de consultaspara revisar la cantidad de espacio libre, aunque este mtodoconsume demasiado tiempo para los administradores de bases dedatos. Un mtodo mejor sera automatizar la ejecucin de estecomando peridicamente para revisar la cantidad de espacio libre.

  • 7/25/2019 187888261 Monitoreo y Auditoria de La Base de Datos

    9/21

    Algunas tareas de DBA donde la informacin

    de espacio libre puede ser til:

    - La primera que se alerte al DBA cuando el espacio libre cae por debajo de un umbralespecfico en cualquier unidad de SQL Server.- La segunda sera la de realizar un seguimiento de la historia el espacio libre para lagestin de la capacidad de espacio en disco.La forma de construir un proceso para alertar a la DEA, cuando cualquiera de lasunidades de disco de SQL Server cae por debajo de un umbral predeterminado. Paraobtener la informacin xp_fixeddrives en una tabla temporal que se utiliza el siguiente T-SQL.createtable #FreeSpace(

    Drive char(1),MB_Freeint)insertinto #FreeSpaceexecxp_fixeddrivesA continuacin, por cada unidad se recupera la informacin de espacio libre a partir deesta tabla temporal y se compara con un umbral que se ha fijado para cada unidad. Si lacantidad de espacio libre cae por debajo del valor umbral determinado para la unidad,enviar alerta al DBA mediante xp_sendmail. Aqu est una muestra de un cdigo quehace precisamente eso.declare @MB_Freeintcreatetable #FreeSpace(Drive char(1),MB_Freeint)insertinto #FreeSpaceexecxp_fixeddrivesselect @MB_Free = MB_Freefrom #FreeSpacewhere Drive = 'C'-- Free Spaceon C drive LessthanThresholdif @MB_Free< 1024execmaster.dbo.xp_sendmail@recipients ='[email protected]',@subject ='SERVER X - FreshSpaceIssueon C Drive',@message = 'Free spaceon C Drive has droppedbelow 1 gig'

  • 7/25/2019 187888261 Monitoreo y Auditoria de La Base de Datos

    10/21

    Esta alerta de espacio libre bajo permite tiempo al DBA pararesolver el problema de espacio libre antes de que sea

    crtico, y provoque procesos fallidos. Tenga en cuenta que elcdigo anterior tiene un umbral diferente de espacio librepara cada unidad.Otro uso de xp_fixeddrives podra ser la de controlar el usode espacio en disco a travs del tiempo. Para recopilar lainformacin de espacio libre a intervalos regulares, por

    ejemplo, semanal y lo almacena en una tabla de base dedatos.Mediante la recopilacin de informacin de espacio libre en eltiempo y almacenarlo en una tabla del servidor SQLpermanente que ser capaz de producir un cuadro detendencias que muestra el espacio en disco extra deconsumo. Al comparar la cantidad de espacio libre entre dos

    puntos sobre el grfico que ser capaz de determinar elespacio de disco consumido entre esos intervalos.El monitoreo del espacio disponible en disco y las tasas decrecimiento son un par de cosas que un DBA debe realizar.Sin vigilancia se corre el riesgo de quedarse sin espacio ycausando graves problemas para su aplicacin.

  • 7/25/2019 187888261 Monitoreo y Auditoria de La Base de Datos

    11/21

    Monitoreo de log. Monitorear el log regularmente puede ayudarnos a

    resolver varios problemas dentro de nuestros sistemas,ya que este puede indicarnos si existen demasiadastransacciones realizadas por una sola aplicacin, quepodra resultar en un mal diseo o simplemente lanecesidad de planear mejor los recursos de log en

    nuestro servidor de base de datos. Es muy importante tener en cuenta que si el log de

    transacciones llegara a saturarse, SQL Server no podrrealizar ms cambios dentro de nuestra base de datos.

    La manera de monitorear un log de transacciones,

    puede llevarse a cabo de 2 maneras, una de ellas esmediante un comando desde el analizador de consultasy la otra utilizando los contadores de SQL Server desdeel sistema operativo.

  • 7/25/2019 187888261 Monitoreo y Auditoria de La Base de Datos

    12/21

    Contador

    Descripcin

    Log Bytes Flushed/sec

    Nmero total de bytes del log de transacciones vaciados

    Log Flushes/sec

    Nmero de vaciados del log de transacciones

    Log FlushWaits/sec

    Nmero de confirmaciones (commit) en espera al momento de

    vaciar el log de transacciones.

    Percent Log Used

    Porcentaje del log de transacciones usado.

    Log File(s) Size(KB)

    Tamao total del log de transacciones de la base de datos

    Log Cache Hit Ratio

    Lecturas realizadas a travs de la cach del administrador de

    registro.

    Desde el analizador de consultas ejecutar el comandoDBCC SQLPERF(LOGSPACE).

    Utilizando los contadores de SQL Server que sedescriben a continuacin.

    Situaciones en las que se produce mucha actividad en el log de transacciones

  • 7/25/2019 187888261 Monitoreo y Auditoria de La Base de Datos

    13/21

    Algunas de las situaciones por la que podra presentarse mucha

    actividades en el log de transacciones y saturarlo son:

    Cargar informacin en una tabla que tiene indices. SQLServer almacena en el log todos los inserts y cambios en losndices. Cuando se carga en tablas que no tienen indicesSQL Server solo reserva extents para el log.

    Transacciones que realizan muchas modificaciones (INSERT,UPDATE,DELETE) a una tabla en una sola transaccin. Esto

    generalmente occurre cuando la sentencia WHERE es muygeneral, causando que muchos registros sean modificados.

    Expandiendo el log de transacciones Expandir un log de transacciones debe de realizarse

    solamente si en verdad es requerido por la aplicacin y nosolo por el echo de asignar ms espacio, ya que para ello

    existen los respaldos del log de transacciones en donde sevacia el espacio ocupado del log.

    Para asignar espacio de log a una base de datos puesrealizarse mediante el SQL Server Enterprise Manager o lasentencia ALTER DATABASE, en esta caso hablaremossolamente de la sentencia ALTER DATABASE

  • 7/25/2019 187888261 Monitoreo y Auditoria de La Base de Datos

    14/21

    Ejemplo:

    Agregar dos archivos de log a una base de datos

    El ejemplo siguiente agrega dos archivos de log de 5 MB a una base de datos.

    USE master

    GO

    ALTER DATABASE Test1

    ADD LOGFILE

    ( NAME = test1log2,

    FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\test2log.ldf',

    SIZE = 5MB,

    MAXSIZE = 100MB,

    FILEGROWTH = 5MB),

    ( NAME = test1log3,

    FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\test3log.ldf',

    SIZE = 5MB,

    MAXSIZE = 100MB,

    FILEGROWTH = 5MB)

    GO

    http://www.php.net/loghttp://www.php.net/filehttp://www.php.net/filehttp://www.php.net/log
  • 7/25/2019 187888261 Monitoreo y Auditoria de La Base de Datos

    15/21

    Monitoreo de Memoria

    compartida

    PGA DE ORACLE (REA GLOBALDE PROGRAMA)

    SGA de oracle (Sistema de reaGlobal)

  • 7/25/2019 187888261 Monitoreo y Auditoria de La Base de Datos

    16/21

    PGA DE ORACLE (REAGLOBAL DE PROGRAMA) Un PGA es una regin de memoria que contiene datose informacin de control para un proceso de servidor.

    Es la memoria no compartida creada por la base dedatos Oracle cuando un proceso de servidor se hainiciado. El acceso a la PGA es exclusivo para elproceso del servidor. Hay un PGA para cada proceso

    de servidor. Procesos en segundo plano tambin seasignan sus propios PGA. La memoria total utilizadapor todos los PGAs individuales se conoce como elejemplo total de memoria PGA,y la recogida dePGAs individuales se refiere como el ejemplo total dela PGA,o simplemente instancia de la PGA.Puede

    utilizar los parmetros de inicializacin de base dedatos para definir el tamao de la instancia de la PGA,no PGA individuales.

    El PGA puede ser crtico para el rendimiento,

    especialmente si la aplicacin est haciendo un grannmero de clases. Operaciones de ordenacin se

  • 7/25/2019 187888261 Monitoreo y Auditoria de La Base de Datos

    17/21

    SGA de oracle (Sistema derea Global) Es un conjunto de reas de memoria compartida quese dedican a un Orculo "instancia" (un ejemplo es los

    programas de bases de datos y la memoria RAM).

    Sirve para facilitar la transferencia de informacin entreusuarios y tambin almacena la informacin estructuralde la BD ms frecuentemente requerida.

    En los sistemas de bases de datos desarrollados por laCorporacin Oracle , el rea global del sistema (SGA)forma parte de la memoria RAM compartida por todoslos procesos que pertenecen a una sola base de datosOracle ejemplo. El SGA contiene toda la informacin

    necesaria para la operacin de la instancia. La SGA se divide en varias partes:

    1.- Bu ffers de BD, Database Buffer Cache2.- Buffer Redo Log3.- rea de SQL Compartido, Shared SQL Pool

  • 7/25/2019 187888261 Monitoreo y Auditoria de La Base de Datos

    18/21

    Buffers de BD, DatabaseBuffer Cache Es el cach que almacena los bloques de datos leidos de lossegmentos de datos de la BD, tales como tablas, ndices y

    clusters. Los bloques modificados se llamas bloques sucios.El tamao de buffer cach se fija por el parmetroDB_BLOCK_BUFFERS del fichero init.ora.

    Plan de ejecucin de la sentencia SQL. Texto de la sentencia.

    Lista de objetos referenciados.

    Comprobar si la sentencia se encuentra en el rea compartida.

    Comprobar si los objetos referenciados son los mismos.

    Comprobar si el usuario tiene acceso a los objetos referenciados.

    Como el tamao del buffer suele ser pequeo paraalmacenar todos los bloques de datos leidos, su gestin sehace mediante el algoritmo LRU.

  • 7/25/2019 187888261 Monitoreo y Auditoria de La Base de Datos

    19/21

    Buffer Redo Log

    Los registros Redodescriben los cmbiosrealizados en la BD y son escritos en losficheros redo logpara que puedan serutilizados en las operaciones de

    recuperacin hacia adelante, roll-forward,durante las recuperaciones de la BD. Peroantes de ser escritos en los ficheros redo logson escritos en un cach de la SGA llamadoredo log buffer. El servidor escribeperidicamente los registros redo logen losficheros redo log.El tamao del buffer redo log se fija por elparmetro LOG_BUFFER.

  • 7/25/2019 187888261 Monitoreo y Auditoria de La Base de Datos

    20/21

    rea de SQL Compartido,Shared SQL Poo l

    En esta zona se encuentran las sentencias SQL que han sido analizadas. El analisissintctico de las sentencias SQL lleva su tiempo y Oracle mantiene las estructurasasociadas a cada sentencia SQL analizada durante el tiempo que pueda para ver sipuede reutilizarlas. Antes de analizar una sentencia SQL, Oracle mira a ver siencuentra otra sentencia exactamente igual en la zona de SQL compartido. Si es as,no la analiza y pasa directamente a ejecutar la que mantinene en memoria. De estamanera se premia la uniformidad en la programacin de las aplicaciones. La igualdadse entiende que es lexicografica, espacios en blanco y variables incluidas. El contenidode la zona de SQL compartido es:

    Los pasos de procesamiento de cada peticin de anlisis de una sentencia SQL son:Si no, la sentencia es nueva, se analiza y los datos de anlisis se almacenan en la zonade SQL compartida.

    Tambin se almacena en la zona de SQL compartido el cach del diccionario. Lainformacin sobre los objetos de la BD se encuentra almacenada en las tablas deldiccionario. Cuando esta informacin se necesita, se leen las tablas del diccionario y su

    informacin se guarda en el cach del diccionario de la SGA.

    Este cach tambin se administra mediante el algoritmo LRU. El tamao del cach estgestionado internamente por el servidor, pero es parte del shared pool, cuyo manaoviene determinado por el parmetro SHARED_POOL_SIZE.

  • 7/25/2019 187888261 Monitoreo y Auditoria de La Base de Datos

    21/21

    Gracias por su atencin