Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ACTIVIDAD:
INVESTIGAR LOS TEMAS “MIGRACIÓN”, “MONITOREO”, Y
“AUDITORÍA”.
La migración de bases de datos es generalmente una tarea compleja que no sólo supone
transferir datos entre tipos de almacenaje y formatos de un servidor de base de datos a
otro; sino que también supone reescribir sentencias SQL o incluso procedimientos (SPL)
de lógica de negocio.
Desde la experiencia, estamos familiarizados con la complejidad, el coste que supone una
larga migración de bases de datos y los problemas que aparecen durante el proceso cuando
se emplean métodos inapropiados; ya que siempre comprobamos con los clientes
potenciales que el uso de nuestras herramientas y métodos pueda ofrecer una ventaja
significativa.
Herramientas de Migración
La herramienta de copia puede replicar todos los datos desde una base de datos a una
destinación, independientemente del motor, las tablas creadas, los índices, las restricciones
y el mapeo de tipos de datos cuando los motores difieren. Con poco esfuerzo, y después
del tiempo que supone copiar los datos, se puede ver y explorar los datos en la nueva base
de datos. Por supuesto, no se realiza una migración en estos casos.
Una vez se empieza una migración, se puede generar un esquema XML desde la base de
datos original. Esto permite traducir el modelo de base de datos a cualquier motor.
Sin embargo, ¿qué pasa si el sistema continúa operando e incluso sufre cambios
estructurales durante el proceso de migración? La comprobación del esquema compara las
bases de datos de tipos diferentes y muestra las diferencia entre estructuras de tablas,
claves primarias, foreign keys, índices y restricciones. También, se puede hacer una
comparación con el modelo de esquema maestro en XML. En ambos casos, se aplicará
una propuesta de cambios para asegurar que se muestra la misma estructura física.
Sintaxis Xml-Xsql
El motor de traducción de triggers DDL, DML, SPL proporciona una estructura con una
sintaxis común XML, en la cual los desarrolladores pueden escribir aplicaciones en una
sintaxis independiente de la propia del motor de base de datos.
DDL
El proceso de copia de una base de datos puede crear automáticamente un modelo XML
que genera el Data Definition Language (DDL) de la base de datos. Se pueden ver todas
las tablas y objetos definidos en una definición natural XML que permitirá la traducción on-
line a la base de datos deseada.
DML
Una gramática XML permite escribir sentencias SQL independientes de la base de datos.
Procedimientos (Spl)
Este paso tiene una mayor ventaja sobre la codificación manual convencional, ya que el
motor de traducción Axional XSQL validará y generará el código apropiado sin errores
humanos.
Triggers
Cuando la base de datos tiene tipos de datos geométricos, constituye un caso especial.
Ofrecemos transportabilidad entre Oracle Spatial, DB2 Spatial Extender, Informix Spatial
DataBlade y Postgres PostGIS. La gramática DML ofrece una amplia gama de funciones
para escribir queries independientes de SQL y el motor de copia DB transferir los datos de
forma segura.
Monitoreo
En el campo que nos ocupa en este curso, en cambio, el monitoreo o seguimiento cumple
la función de recolectar, registrar y procesar informaciones útiles para describir
sistemáticamente el estado de avance de un proyecto con el doble fin de documentar su
desempeño y adquirir conocimientos indispensables para orientar su gestión y trayectoria.
Se trata de una función cuya centralidad nadie pone en duda y que se está asentando como
práctica en la mayoría de las administraciones públicas, sobre todo a partir de la afirmación
del enfoque de la ‘gestión basada en resultados’.
De acuerdo con un reciente manual del PNUD3, “se puede definir el seguimiento como un
proceso continuo por el que las partes interesadas obtienen regularmente una
retroalimentación sobre los avances que se han hecho para alcanzar las metas y objetivos.
A diferencia de muchas definiciones que tratan el seguimiento simplemente como la revisión
de los avances en la implementación de acciones y actividades, la definición que usa este
Manual se centra en la revisión de avances en relación al logro de los objetivos.
Como DBA una de las responsabilidades es supervisar el espacio en disco. Siempre hay
que asegurarse de que se tiene suficiente para sus bases de datos, copias de seguridad de
bases de datos y cualquier otro tipo de archivos que va a almacenar en el servidor. Si no
controla su espacio en disco y se asegura de que tienes espacio suficiente, con el tiempo
uno de sus procesos críticos de bases de datos 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 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.
Es muy sencillo utilizarlo, solo basta con ejecutar el comando xp_fixeddrives de vez en
cuando desde el Analizador de consultas para revisar la cantidad de espacio libre, aunque
este método consume demasiado tiempo para los administradores de bases de datos. Un
método mejor sería automatizar la ejecución de este comando periódicamente para revisar
la cantidad de espacio libre.
Algunas tareas de DBA donde la información de espacio libre pueden ser útiles:
La primera que se alerte al DBA cuando el espacio libre cae por debajo de un umbral
específico en cualquier unidad de SQL Server.
La segunda sería la de realizar un seguimiento de la historia el espacio libre para la
gestión de la capacidad de espacio en disco.
La forma de construir un proceso para alertar a la DEA, cuando cualquiera de las unidades
de disco de SQL Server cae por debajo de un umbral predeterminado. Para obtener la
información xp_fixeddrives en una tabla temporal que se utiliza el siguiente T-SQL.
Drive char(1),
MB_Free int)
A continuación, por cada unidad se recupera la información de espacio libre a partir de esta
tabla temporal y se compara con un umbral que se ha fijado para cada unidad. Si la cantidad
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 código que hace precisamente
eso.
Drive char(1),
MB_Free int)
exec master.dbo.xp_sendmail
@recipients ='greg.larsen@netzero.net',
Esta alerta de espacio libre bajo permite tiempo al DBA para resolver el problema de
espacio libre antes de que sea crítico, y provoque procesos fallidos. Tenga en cuenta que
el código anterior tiene un umbral diferente de espacio libre para cada unidad.
Otro uso de xp_fixeddrives podría ser la de controlar el uso de espacio en disco a través
del tiempo. Para recopilar la información de espacio libre a intervalos regulares, por
ejemplo, semanal y lo almacena en una tabla de base de datos.
El monitoreo del espacio disponible en disco y las tasas de crecimiento son un par de cosas
que un DBA debe realizar. Sin vigilancia se corre el riesgo de quedarse sin espacio y
causando graves problemas para su aplicación.
Monitoreo de Logs
Log
Todos los sistemas pueden verse comprometidos por un intruso, de manera local o remota.
De cualquier forma que se realice una protección de Unix debe incluir el monitoreo y revisión
de LOGS de una forma comprensiva, precisa y cuidadosa.
Monitoreo en Bitácoras
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.
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.
Es el caché que almacena los bloques de datos leídos de los segmentos de datos de la BD,
tales como tablas, índices y clústeres. 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.
Plan de ejecución de la sentencia SQL.
Texto de la sentencia.
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.
Los registros Redo describen los cambios 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.
En esta zona se encuentran las sentencias SQL que han sido analizadas. El análisis
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 mantiene en memoria. De esta manera se premia la
uniformidad en la programación de las aplicaciones. La igualdad se entiende que es
lexicográfica, espacios en blanco y variables incluidas. El contenido de la zona de SQL
compartido es:
Los pasos de procesamiento de cada petición de análisis de una sentencia SQL son:
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 tamaño viene
determinado por el parámetro SHARED_POOL_SIZE.
Monitoreo de Base de Datos
Es el proceso que permite medir, asegurar, demostrar, monitorear y registrar los accesos a
la información almacenada en las bases de datos incluyendo la capacidad de determinar:
Las organizaciones deben tomar medidas mucho más allá de asegurar sus datos
Aspectos Claves
- 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.
Las operaciones forman parte de las actividades diarias relacionadas con el hardware y
software utilizado en las organizaciones. Esta función es particularmente importante cuando
se ejecutan tares de cómputos centralizados y destacan las siguientes:
5. Soporte Técnico
8. Aseguramiento de Calidad
9. Control de Cambios
Auditoría
Es el proceso que permite medir, asegurar, demostrar, monitorear y registrar los accesos a
la información almacenada en las bases de datos incluyendo la capacidad de determinar:
La activación de la auditoría en Oracle Database viene definida por el valor del parámetro:
audit_trail. Para comprobar si la auditoría de la base de datos está activada ejecutaremos
el siguiente comando SQL:
Las principales vistas para obtener resultados de la auditoría, son las siguientes:
Permite iniciar los tipos de auditoría que a continuación se detallan. Este comando puede
funcionar aunque no esté activada la auditoría de la base de datos, pero no dejara
constancia, para que funcione correctamente es necesario que la auditoría esté activada.
Sintaxis:
AUDIT
Sintaxis:
NOAUDIT
Para más fácil manejo de esta tabla, existen una serie de vistas que se crean ejecutando el
script de SQL CATAUDIT.SQL que son de mucha utilidad a la hora de visualizar la
información recogida. Esas vistas se borran con el script CATNOAUD.SQL
Herramientas:
4) Bitácora de Uso de software por Día y Mes de los aplicativos brindado los minutos y
horas de su utilización por PC.
CONCLUSION
La investigación nos llevó a adquirir o reforzar un poco más los conocimientos de los temas
que fueron de gran utilidad. Ahora nos queda claro el porqué de la importancia de la
seguridad de la base de datos, ya que en la base de datos acceden varios usuarios y hacen
diferentes operaciones en ella por eso se necesita de ayuda del monitoreo general de la
base de datos para corregir las fallas.
No olvidando también que la auditoría es de gran apoyo ya que es el proceso que permite
asegurar, monitorear y hacer registros de los accesos a la información almacenada en la
base de datos.
REFERENCIAS