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.
- 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.
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
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.
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