04 agosto 2021

6.1 Monitoreo

 




Monitoreo general de un DBMS

 

La elección de un buen manejador de base de datos es de vital importancia ya que puede llegar a ser una inversión tanto en hardware como en software muy cuantioso, pero no solo eso, además va a determinar el centro de información de la empresa.

 

Los sistemas orientados a los datos se caracterizan porque los datos no son de una aplicación sino de una Organización entera que los va a utilizar; se integran las aplicaciones, se diferencian las estructuras lógicas y físicas. El concepto de relación cobra importancia. Originalmente las aplicaciones cubrían necesidades muy específicas de procesamiento, se centraban en una tarea específica.

 

 

6.1.1 Monitoreo de espacio en disco

 Uno de los principales indicadores que se tiene que tomar en cuenta como DBA es el espacio disponible en disco. No es problema cuando se tiene un server o 2 para monitorear, sin embargo, cuando hay una cantidad considerable automatizar un proceso que lo haga es lo mejor. Dentro de SQL Server (7,2000,2005) hay un procedimiento no documentado que nos puede ayudar a cumplir este cometido.

El procedimiento es XP_FIXEDDRIVES, no lleva parámetros ni nada y nos regresan todos los discos a los que tiene acceso SQL Server y su espacio disponible en Megabytes.

Si esta en cluster mostrara todos los discos aunque los discos no estén en el mismo grupo que la instancia, lo que puede llegar a confundir.

Dejo a consideración de cada quien como utilizarlo, ya sea mandando un mail con el resultado u opciones más complejas como el revisar un porcentaje y en base a eso tomar una acción.

 

 

 

6.1.2 Monitoreo de logs

 Las revisiones deben realizarse sobre el archivo de alerta de ORACLE (alert.log) y sobre los archivos de rastreo de procesos de background y de usuarios para identificar errores que se presenten a nivel de base de datos o de sistema operativo.

Los archivos de alerta útiles para el diagnóstico de información que contiene ORACLE y que se utilizan para la detección de errores en la base de datos son:

 

6.1.3 Archivo de Log´s de alerta (alert.log)

El Alert Log registra errores en forma cronológica, provenientes de la operación diaria de la Base de Datos. La ubicación actual del archivo es la ubicación por defecto establecida por ORACLE y se verifica mediante el parámetro BACKGROUND_DUMP_DEST del archivo init.ora:

 

BACKGROUND_DUMP_DEST = E:\U01\ORACLE\UCBL\ADMIN\bdump.

La revisión de este archivo en forma periódica permite detectar errores internos (ORA-600) y errores de corrupción de bloques (ORA-1578). Adicionalmente, permite monitorear las operaciones de la base de datos (CREATE DATABASE, STARTUP, SHITDOWN, ARCHIVE LOG y RECOVER) y ver los parámetros que no se muestran por defecto en la inicialización.

 

 

6.1.4 Archivos de rastreo de procesos de Background

Los archivos de rastreo de procesos de Background se generan cuando un proceso de background (SMON, PMON, DBWn, etc.) emite un error. Estos archivos se almacenan en BACKGROUND_DUMP_DEST = E:\U01\ORACLE\UCBL\ADMIN\bdump.

 

 

6.1.5 Archivos de rastreo de usuarios

Los archivos de rastreo de usuarios (user trace files) se crean a través de procesos de servidor cuando se generan errores o cuando se solicita el rastreo por el usuario o a nivel de parámetros de la base de datos. 

Su ubicación actual definida por el parámetro USER_DUMP_DEST y actualmente es:

 

E:\U01\ORACLE\UCBL\ADMIN\udump.

Las normas de revisión de los archivos mencionados se definen en el documento Procedimientos de Administración de Base de Datos.

El principal riesgo que se menciona en las observaciones es la posibilidad que se realicen operaciones no autorizadas y que éstas no sean identificadas en la base de datos; sin embargo los archivos de log´s de usuarios no permiten identificar con facilidad estas operaciones y en todo caso requieren de una gran cantidad de tiempo de revisión y espacio de almacenamiento. Por este motivo, se utilizan tablas de auditoria para todos los sistemas y para aquellas tablas relevantes de cada uno, las tablas de auditoria tienen las siguientes características:

 

       Almacenan datos obligatorios (transacción, fecha y usuario) y datos relacionados con la tabla a la que hacen el monitoreo.

 

       Los registros a las tablas de auditoria se activan mediante un disparador cada vez que se realizan cambios en la tabla base.

 

       Se consultan estas tablas cuando se quiere identificar una transacción, un usuario o una fecha de transacción.

 

El contenido de estas tablas permite mantener un registro constante sobre las operaciones que se realizan en la base de datos y las mismas pueden ser consultadas en cualquier momento.

 

 

6.1.6 Monitoreo de Memoria compartida

 PGA DE ORACLE (ÁREA GLOBAL DE PROGRAMA)

Un PGA es una región de memoria que contiene datos e información de control para un proceso de servidor. Es la memoria no compartida creada por la base de datos Oracle cuando un proceso de servidor se ha iniciado. El acceso a la PGA es exclusivo para el proceso del servidor. Hay un PGA para cada proceso de servidor. Procesos en segundo plano también se asignan sus propios PGA. La memoria total utilizada por todos los PGAs individuales se conoce como el ejemplo total de memoria PGA, y la recogida de PGAs individuales se refiere como el ejemplo total de la PGA, o simplemente instancia de la PGA. Puede utilizar los parámetros de inicialización de base de datos para definir el tamaño de la instancia de la PGA, no PGA individuales.

 

El PGA puede ser crítico para el rendimiento, especialmente si la aplicación está haciendo un gran número de clases. Operaciones de ordenación se produce si utiliza ORDER BY y GROUP BY comandos en las sentencias SQL.

 

 

SGA DE ORACLE (SISTEMA DE HYPERLINK "http://abdfuv.blogspot.mx/2012/08/sga-de-oracle-sistema-de-area-global.html"ÁHYPERLINK "http://abdfuv.blogspot.mx/2012/08/sga-de-oracle-sistema-de-area-global.html"REA GLOBAL)

Es un conjunto de áreas de memoria compartida que se dedican a un Oráculo "instancia" (un ejemplo es los programas de bases de datos y la memoria RAM).

Sirve para facilitar la transferencia de información entre usuarios y también almacena la información estructural de la BD más frecuentemente requerido.

En los sistemas de bases de datos desarrollados por la Corporación Oracle, el área global del sistema (SGA) forma parte de la memoria RAM compartida por todos los procesos que pertenecen a una sola base de datos Oracle ejemplo. El SGA contiene toda la información necesaria para la operación de la instancia.

 

La SGA se divide en varias partes: 

Buffers de BD, Database Buffer Cache 

Es el caché que almacena los bloques de datos leidos de los segmentos de datos de la BD, tales como tablas, índices y clusters. Los bloques modificados se llamas bloques sucios. El tamaño de buffer caché se fija por el parámetro DB_BLOCK_BUFFERS del fichero init.ora.

 o    Plan de ejecución de la sentencia SQL.

 o    Texto de la sentencia.

 o    Lista de objetos referenciados.

 o    Comprobar si la sentencia se encuentra en el área compartida.

 o    Comprobar si los objetos referenciados son los mismos.

 o    Comprobar si el usuario tiene acceso a los objetos referenciados.

Como el tamaño del buffer suele ser pequeño para almacenar todos los bloques de datos leidos, su gestión se hace mediante el algoritmo LRU.

 

Buffer Redo Log

Los registros Redo describen los cámbios realizados en la BD y son escritos en los ficheros redo log para que puedan ser utilizados en las operaciones de recuperación hacia adelante, roll-forward, durante las recuperaciones de la BD. Pero antes de ser escritos en los ficheros redo log son escritos en un caché de la SGA llamado redo log buffer. El servidor escribe periódicamente los registros redo log en los ficheros redo log. El tamaño del buffer redo log se fija por el parámetro LOG_BUFFER.

 

Área de SQL Compartido, Shared SQL Pool 

En esta zona se encuentran las sentencias SQL que han sido analizadas. El analisis sintáctico de las sentencias SQL lleva su tiempo y Oracle mantiene las estructuras asociadas a cada sentencia SQL analizada durante el tiempo que pueda para ver si puede reutilizarlas. Antes de analizar una sentencia SQL, Oracle mira a ver si encuentra 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 esta manera se premia la uniformidad en la programación de las aplicaciones. La igualdad se entiende que es lexicografica, espacios en blanco y variables incluidas. El contenido de la zona de SQL compartido es:

 

o    Los pasos de procesamiento de cada petición de análisis de una sentencia SQL son:

 o    Si no, la sentencia es nueva, se analiza y los datos de análisis se almacenan en la zona de SQL compartida.

 

También se almacena en la zona de SQL compartido el caché del diccionario. La información sobre los objetos de la BD se encuentra almacenada en las tablas del diccionario. Cuando esta información se necesita, se leen las tablas del diccionario y su información se guarda en el caché del diccionario de la SGA. Este caché también se administra mediante el algoritmo LRU. El tamaño del caché está gestionado internamente por el servidor, pero es parte del shared pool, cuyo manaño viene determinado por el parámetro SHARED_POOL_SIZE.

  

6.1.7 Monitoreo de Base de Datos 

Mediante la auditoría de bases de datos se evaluará:

 

           Definición de estructuras físicas y lógicas de las bases de datos.

 

           Control de carga y mantenimiento de las bases de datos.

 

           Integridad de los datos y protección de accesos.

 

           Estándares para análisis y programación en el uso de bases de datos.

 

           Procedimientos de respaldo y de recuperación de datos.

 


Aspectos Claves

 

           No se debe comprometer el desempeño de las bases de datos

 

           Soportar diferentes esquemas de auditoría.

 

           Se debe tomar en cuenta el tamaño de las bases de datos a auditar y los posibles SLA establecidos.

  


Segregación de funciones

 

El sistema de auditoría de base de datos no puede ser administrado por los DBA del área de IT.




Proveer valor a la operación del negocio

 

           Información para auditoría y seguridad.

 

           Información para apoyar la toma de decisiones de la organización.

 

           Información para mejorar el desempeño de la organización.


No hay comentarios.:

Publicar un comentario