UNIDAD II. ARQUITECTURA E INSTALACION DEL SGBD

 

2.1 Estructura de memoria y procesos de la instancia.

Es un sistema robusto que es capaz de emplear algoritmos de almacenamiento y recuperación de información para poder implementar un modelo de datos de manera física garantizando que todas las transacciones que se realizan con respecto a dichos datos sean "ácidas" (Atomicity, Consistency, Isolation, Duration).

Para que un SGBD pueda funcionar, primero se debe hacer una instancia de este. Esta instancia está compuesta principalmente de tres componentes:

Archivos       

Estructuras de memoria      

Estructuras de procesos.

Cada una de estas estructuras se puede dividir a su vez en diferentes puntos.

 Archivos

  • Control (ctl): almacenan información acerca de la estructura de archivos de la base.
  • Rollback (rbs): cuando se modifica el valor de alguna tupla en una transacción, los valores nuevos y anteriores se almacenan en un archivo, de modo que si ocurre algún error, se puede regresar (rollback) a un estado anterior.
  • Redo (rdo): bitácora de toda transacción, en muchos dbms incluye todo tipo de consulta incluyendo aquellas que no modifican los datos.
  • Datos (dbf): el tipo más común, almacena la información que es accesada en la base de datos.
  • Indices (dbf) (dbi): archivos hermanos de los datos para acceso rápido.
Temp (tmp): localidades en disco dedicadas a operaciones de ordenamiento o alguna actividad particular que requiera espacio temporal adicional.

 

Funcionamiento de la memoria:

Es un grupo de estructuras de la memoria compartida que contiene datos e información de control de una instancia de una BD. Si varios usuarios se conectan de forma concurrente a la misma instancia, entonces los datos se comparten en el SGA, por lo que también se llama shared global área.

Estructura de Datos del SGA

Caché de los Buffers

Buffer del registro de Redo

El Pool compartido

Large Pool

Java Pool

Streams Pool

Caché de diccionari

Caché de los Buffers (Database Buffer Cache)

 

Contiene copias de los bloques de datos de lectura de las páginas. Todos los procesos de los usuarios conectados concurrentemente a la instancia comparten el acceso a ella.

Buffer del registro del Rehacer (Redo Log Buffer)

Contiene información sobre cambios hechos a la base de datos, la cual se almacena en las ‘entradas redo’. Estas entradas contienen la información necesaria para reconstruir, o rehacer cambios hechos en la base de datos mediante las operaciones INSERT, UPDATE, DELETE, CREATE, ALTER o DROP y se usan para la recuperación de la base de datos, si fuera necesario.

El Pool Compartido

Es la parte del SGA que contiene la cache de biblioteca, la cache de diccionario, los buffers para los mensajes de ejecución paralela y las estructuras de control.

Large Pool

El administrador de la base de datos puede configurar un área de memoria opcional llamado large pool que proporciona grandes cantidades de memoria para asignar:

 

  • Memoria de la sesión para el servidor compartido y el Oracle XA interface (usado donde las transacciones interactúan con más de una base de datos)
  • Procesamiento de E/S
  • Copias de seguridad y operaciones de recuperación

 Java Pool

Se usa en la memoria del servidor para almacenar todo el código y datos del JVM en las sesiones.

Streams Pool

En una única base de datos, se puede especificar que los flujos de memoria se asignen desde un pool en el SGA llamado Streams pool.

Cache de diccionario (Dictionary Cache)

El diccionario de datos es una colección de tablas y vistas de la base de datos que contienen información sobre la base de datos (sus estructuras y sus usuarios).

Oracle accede con frecuencia al diccionario de datos, por lo que tiene dos localizaciones especiales en memoria designadas a mantenerlo. Una de ellas es la caché del diccionario de datos, también conocida como la cache de fila porque contiene datos sobre las filas en vez de los buffers (los cuales contienen bloques de datos), y la otra es el cache de biblioteca.

Estructuras de Proceso

Procesos de usuario: Cada proceso de usuario representa la conexión de un usuario al servidor

Procesos de segundo plano: El servidor se vale de una serie de procesos que son el enlace entre las estructuras físicas y de memoria.

  • SMON
  • PMON
  • DBWR
  • LGWR
  • CKPT
  • ARCH
  • RECO
  • LCK

Monitor del sistema (System Monitor, SMON)

Es responsable de efectuar la recuperación de un error cuando se arranca la instancia a continuación de algún tipo de fallo.

Monitor de procesos (Process Monitor, PMON)

Es responsable de controlar los procesos de usuario que accedan a la base de datos y recuperados después de producirse algún error.

Escritor de base de datos (Database Writer, DBWR)

propia base de datos física.

Únicamente el administrador de la base de datos puede iniciar una instancia y abrir una base de datos. Si una base de datos está abierta, entonces el administrador puede cerrarla y, cuando esto ocurre, los usuarios no pueden acceder a la información que contiene.

El proceso DBWR es responsable de escribir los bloques modificados (sucio) desde la caché de búfer del SGA a los archivos de datos situados en disco.

Escritor de registro (Log Writer, LGWR)

Es responsable de escribir los datos desde el búfer de registro al archivo de redo.

Punto de control (Checkpoint, CKPT)

Este proceso escribe en los ficheros de control los checkpoints. Estos puntos de sincronización son referencias al estado coherente de todos los ficheros de la BD en un instante determinado, en un punto de sincronización.

Archivador (Archiver, ARCH)

Es responsable de copiar los archivos de registro de rehacer en línea en el soporte de almacenamiento de archivo cuando dichos registros se llenan.

Recuperador (Recoverer, RECO)

Es responsable de efectuar las tareas de limpieza requeridas por las transacciones distribuidas que hayan fallado o que hayan sido suspendidas.

Es responsable de efectuar las tareas de limpieza requeridas por las transacciones distribuidas que hayan fallado o que hayan sido suspendidas.

  • Una instancia de BDD es el conjunto de estructuras de memoria y de procesos que acceden a los ficheros de datos.





  • Cada instancia está asociada a una base de datos. Cuando se inicia una base de datos en un servidor (independientemente del tipo de computadora), se le asigna un área de memoria (SGA) y lanza uno o más procesos. A la combinación del SGA y de los procesos es lo que se llama instancia. La memoria y los procesos de una instancia gestionan los datos de la base de datos asociada de forma eficiente y sirven a uno o varios usuarios.


  • Cuando se inicia una instancia El DBMS monta la base de datos, es decir, asocia dicha instancia a su base de datos correspondiente. En una misma computadora pueden ejecutarse varias instancias simultáneamente, accediendo cada una a su propia base de datos física. Únicamente el administrador de la base de datos puede iniciar una instancia y abrir una base de datos. Si una base de datos está abierta, entonces el administrador puede cerrarla y, cuando esto ocurre, los usuarios no pueden acceder a la información que contiene.

 

 

 

2.2 Estructura física de la base de datos

 

En una base de datos almacenamos información relevante para nuestro negocio u organización y desde el punto de vista físico, la base de datos está conformada por dos tipos de archivos:

Archivos de datos: contiene los datos de la base de datos internamente, está compuesto por páginas enumeradas secuencialmente que representa la unidad mínima de almacenamiento. Cada página tiene un tamaño de 8kb de información. Existen diferentes tipos de páginas, a tener en cuenta:

Páginas de datos: es el tipo principal de páginas y son las que almacenan los registros de datos.

Páginas de espacio libre (PFS Page Free Space): almacenan información sobre la ubicación y el tamaño del espacio libre.

Paginas GAM and SGAM: utilizadas para ubicar extensiones.

Páginas de Mapa de Ubicaciones de índices (IAM – IndexAllocationMap): contiene información sobre el almacenamiento de páginas de una tabla o índice en particular.

Páginas Índices: Utilizada para almacenar registros de índices.


Archivo de Registro de Transacciones: El propósito principal del registro de transacciones es la recuperación de datos a un momento en el tiempo o complementar una restauración de copia de respaldo completa (full backup). El registro de transacciones no contiene páginas, sino entradas con todos los cambios realizados en la base de datos, como son las modificaciones de datos, modificaciones de la base de datos y eventos de copia de seguridad y restauración. El acceso a datos es secuencial, ya que el registro de transacciones se actualiza en el mismo orden cronológico en el que se hacen las modificaciones.

Este archivo no puede ser leído por herramientas de usuario de SQL auqnue existen herramientas de terceros que leen este archivo para recuperar los cambios efectuados. Dependiendo de la versión el registro de transacciones se utiliza para otros propósitos como por ejemplo bases de datos espejo (mirror) y transporte remoto de transacciones (log shipping).

Para muchos de los administradores de bases de datos, la imagen anterior representa la parte lógica y la parte física, donde:

Data File:

Los datafiles son los archivos físicos en los que se almacenan los objetos que forman parte de un tablespace. Un datafile pertenece solamente a un tablespace y a una instancia de base de datos. Un tablespace puede estar formado por uno o varios datafiles. Cuando se crea un datafile, se debe indicar su nombre, su ubicación o directorio, el tamaño que va a tener y el tablespace al que va a pertenecer. Además, al crearlos, ocupan ya ese espacio aunque se encuentran totalmente vacíos, es decir, Oracle reserva el espacio para poder ir llenándolo poco a poco con posterioridad. Por supuesto, si no hay sitio suficiente para crear un archivo físico del tamaño indicado, se producirá un error y no se creará dicho archivo.

Cuando se van creando objetos en un tablespace, éstos físicamente se van almacenando en los datafiles asignados a dicho tablespace, es decir, cuando creamos una tabla y vamos insertando datos en ella, estos datos realmente se reparten por los archivos físicos o datafiles que forman parte del tablespace. No se puede controlar en qué archivo físico se almacenan los datos de un tablespace. Si un tablespace está formado por 2 datafiles y tenemos una tabla en ese tablespace, a medida que vamos insertando filas éstas se almacenarán en cualquiera de los dos datafiles indistintamente, es decir, unas pueden estar en un datafile y otras en otro.

El espacio total disponible en un tablespace es lógicamente la suma de los tamaños que ocupan los archivos físicos o datafiles que lo forman. Como hemos indicado estos datafiles, al crearlos, están totalmente vacíos, simplemente es un espacio reservado y formateado por Oracle para su uso. A medida que se van creando objetos en ellos como tablas, índices, etc. y se van insertando registros en estas tablas, los datafiles se van llenando o, lo que es lo mismo, el tablespace se va llenando.

Tienen las siguientes características:

 

  • Un archivo sólo puede estar asociado con una base de datos.
  • Los archivos de datos tienen atributos que permiten reservar automáticamente para ellos extensiones cuando se acaba el espacio.
  • Uno o más archivos de datos forman una unidad lógica de almacenamiento llamada tablespace.

Os Block:

Conocidos como Disk Block, estos mapean a los data blocks. A la hora de crear una nueva base de datos se debe indicar cuántos bloques de sistema operativo formarán un bloque de datos.




2.3 Requerimientos para instalación

Antes de instalar cualquier SGBD es necesario conocer los requerimientos de hardware y software, el posible software a desinstalar previamente, verificar el registro de Windows y el entorno del sistema, así como otras características de configuración especializadas como pueden ser la reconfiguración de los servicios TCP/IP y la modificación de los tipos archivos HTML para los diversos navegadores.


Requerimientos mínimos de instalación de Oracle 11g Express y MySQL estándar versión 5.1

Requerimiento

Oracle

MySQL

RAM

512 MB

512 MB

Memoria virtual1

1024 MB

1024 MB

Espacio disco duro

1.5 GB

1 GB

Tamaño máximo de la base de datos

4 GB

Sin limite

Sistema Operativo: Windows Server, Windows Seven, Linux, Unix

Arquitectura del Sistema 32/64-bit

Protocolo de red TCP/IP

Protocolo de red TCP/IP con SSL


La regla general para determinar el tamaño de la memoria virtual depende del tamaño de memoria RAM instalada. Si su sistema tiene menos de 4 GB de RAM por lo general el espacio de intercambio debe ser de al menos dos veces este tamaño. Si usted tiene más de 8 GB de memoria RAM instalada puede considerar usar el mismo tamaño como espacio de intercambio. Cuanta más memoria RAM tenga instalada, es menos probable usar el espacio de intercambio, a menos que tenga un proceso inadecuado.





 2.4 instalación del SGBD en modo transaccional

Una base de datos en modo transaccional significa que la BD será capaz de que las operaciones de inserción y actualización se hagan dentro de una transacción, es un componente que procesa información descomponiéndola de forma unitaria en operaciones indivisibles, llamadas transacciones, esto quiere decir que todas las operaciones se realizan o no, si sucede algún error en la operación se omite todo el proceso de modificación de la base de datos, si no sucede ningún error se hacen toda la operación con éxito.

Una transacción es un conjunto de líneas de un programa que llevan insert o update o delete. Todo aquél software que tiene un log de transacciones (que es la "bitácora" que permite hacer operaciones de commit o rollback), propiamente es un software de BD; aquél que no lo tiene (v.g. D-Base), propiamente no lo es. Todo software de base de datos es transaccional; si el software de la BD no es "transaccional", en realidad NO es un "software" de BD; en todo caso, es un software que emula el funcionamiento de un verdadero software de BD. Cada transacción debe finalizar de forma correcta o incorrecta como una unidad completa. No puede acabar en un estado intermedio.

Se usan los siguientes métodos:

  • Begin TRans para iniciar la transacción
  • CommitTrans para efectuar los cambios con éxito
  • RollbackTrans para deshacer los cambios

Y depende que base de datos uses para efectuar las operaciones, pero, es la misma teoría para cualquier BD.

Una vez que se sabe la forma de ingresar comandos, es el momento de acceder a una base de datos. Suponga que en su hogar posee varias mascotas y desea registrar distintos tipos de información sobre ellas. Puede hacerlo si crea tablas para almacenar sus datos e introduce en ellas la información deseada. Entonces, podrá responder una variedad de preguntas acerca de sus mascotas recuperando datos desde las tablas. Los pasos serían:

  • Crear una base de datos
  • Crear una tabla
  • Introducir datos en la tabla
  • Recuperar datos desde la tabla de varias maneras
  • Emplear múltiples tablas

La base de datos menagerie (palabra inglesa que en español significa "colección de animales") se ha hecho deliberadamente simple, pero no es difícil imaginar situaciones del mundo real donde podría usarse un tipo similar de base de datos. Por ejemplo, para un granjero que desee hacer el seguimiento de su hacienda, o para los registros de los pacientes de un veterinario.



2.5 variables de ambiente y archivos importantes para instalación.

 

Para instalar MySQL como primera instancia el archivo primordial es el que se descarga de la

Web de MySQL. Depende del sistema operativo su instalación.

Variable: Es un espacio en memoria al cual se le da un nombre Hay variables específicas

que se crean al momento de entrar al sistema, pero también hay variables que pueden ser

Definidas por el usuario. Las variables son una forma de pasar información a los programas al

Momento de ejecutarlos.

Variables de Ambiente: Se usan para personalizar el entorno en el que se ejecutan los

Programas y para ejecutar en forma correcta los comandos del Shell.


El proceso para instalar MySQL desde un archivo ZIP es lo siguiente

1- Extraer el contenido del archivo dentro del directorio de instalación deseado.

2 - Crear un archivo de opciones

3- Elegir un tipo de servidor MySQL.

4-Iniciar el servidor MySQL

5- Establecer la seguridad de las cuentas de usuario por defecto.

 

Hay cuatro tipos de registros (logs):

Registro de Errores (Error Log): Indica cuando arrancó y se detuvo el servidor. Se graba por Defecto en la carpeta de datos de MySQL (archivo host_name.err, donde host_name es el nombre Del servidor), pero la variable de sistema log_error permite indicar otra ruta si fuera necesario.

Registro General de Consultas (General Log File): Está en la carpeta de datos de MySQL, salvo Que se indique la variable general-log-file. Contiene las consultas realizadas. Es el archivo host_name.log.

Registro Binario (Binary Log): Registra instrucciones DML. Los archivos binarios se almacenan Por defecto en el directorio de datos. Sirve para intentar restaurar una base de datos en caso de Desastre. Es binario, por lo que su manejo es complicado, para ver el contenido se usa la utilidad mysqlbinlog de esta forma: mysqlbinlog archivoLOG 

Registro de Consultas Lentas (Slow Query Log File): Registra las consultas que tardaron más del tiempo mínimo establecido. El archivo está (salvo quese especifique slow-log-file como parámetro) en la carpeta de datos de MySQL con el nombre host_name-slow.log

basedir = ruta: Ruta a la raíz MySQL

console: Muestra los errores por consola independientemente de lo que se configure para log_error.

datadir = ruta: Ruta al directorio de datos.

default-table-type = tipo: Tipo de la Tabla InnoDB o, MyISAM.

flush: Graba en disco todos los comandos SQL que se ejecuten (modo de trabajo, sin transacción).

general-log = valor: Con valor uno, permite que funcione el archivo LOG para almacenar las consultas

realizadas.

general-log-file = ruta: Indica la ruta al registro general de consultas.

Lenguaje: Especifica el idioma de los lenguajes de error, normalmente estos archivos de lenguaje,

Están bajo /usr/local/share.

log-error = ruta: Permite indicar la ruta al registro de errores.

Log = ruta: Indica la ruta al registro de consultas.

Long-query-time = n: Segundos a partir de los cuales una consulta que tardes más, se considerará una

consulta lenta.

og-bin = ruta: Permite indicar la ruta al registro binario.

pid-file = ruta: Ruta al archivo que almacena el identificador de proceso de MySQL.

port = puerto: Puerto de escucha de MySQL.

skip-grant-tables: Entra al servidor saltándose las tablas de permisos, es decir todo el mundo

tiene privilegios absolutos.

skip-networking: El acceso a MySQL se hará solo desde el servidor local.

slow-query-log = 0|1: Indica si se hace LOG de las consultas lentas.

slow-query-log-file = ruta: Ruta al archivo que hace LOG de las consultas lentas.

socket = ruta: Archivo o nombre de socket a usar en las conexiones locales.

standalone: Para Windows, hace que el servidor no pase a ser un servicio.

user = usuario: Indica el nombre de usuario con el que se iniciará sesión en MySQL.

tmpdir = ruta: Ruta al directorio para archivos temporales.



2.6      Procedimiento general de instalación

 

Oracle Database XE es una gran base de datos para:

  •  Desarrolladores que trabajan en PHP, Java, .NET, XML, y Open Sourceapplications
  • DBAs que necesitan desarrollar libremente
  • Vendedores de Software y hardware que necesitan distribuir sin cargo
  • Instituciones educativas y estudiantes que cursan materias relacionados con base de datos

Oracle es líder en bases de datos. Con Oracle XE, es posible desarrollar y desplegar aplicaciones potentes, actualizar sin costo y generar complejas migraciones.Oracle Express Edition se instala en una máquina con cualquier número de procesadores, solo puede contener una base de datos y direccionar un máximo de 4GB de datos y un máximo de 1GB RAM.

Oracle Database XE, usa una interface basada en browser (Navegador) para:

  •  Administrar la base de datos
  • Crear tablas, vistas, y otros objetos de base de datos
  •  Importar, exportar, y ver tablas de datos
  • Ejecutar consultas y scripts SQL
  • Generar reportes

Oracle Database XE incluye Oracle Application Express release 2.1, un ambiente de desarrollo gráfico para crear aplicaciones Web con base de datos. Oracle Database XE es una versión reducida de Oracle con las misma características y potencialidad de Oracle Database. Es necesario destacar que no soporta todos los tipos de datos de Oracle Database XE.



oracle Database XE incluye las siguientes utilidades:

Línea de comandos SQL (SQL*Plus), para ejecutar sentencias SQL y comandos PL/SQL y ejecutar scriptsSQL*Loader, para insertar datos en la base de datosUtilidades para importar, exportar y volcar la base de datos

Requerimientos del sistema para Oracle Database XE Server y Oracle Database XE Client.


Estos puertos son usados por defecto por Oracle Database XE




 









 

 

 

No hay comentarios:

Publicar un comentario