You are on page 1of 40

NDICE

2.1. Caractersticas del DBMS


2.1.1. Estructura de memoria y procesos de la instancia
2.1.2. Estructuras fsicas de la base de datos
2.1.3. Requerimientos para la instalacin
2.1.4. Instalacin del software de BD en modo transaccional
2.1.5. Variables de Ambiente y archivos importantes para
instalacin
2.1.6. Procedimiento general de instalacin
2.1.7. Procedimiento para configuracin de un DBMS
2.1.8. Comandos generales de alta y baja del DBMS
NDICE GRFICO

1.1. rea global del sistema (SGA)


1.1.1. Database Buffer Cache
1.1.2. Redo Log Buffer
1.1.3. Shared pool
1.1.4. Large Pool
1.1.5. Java Pool and Streams Pool

1.2. reas globales de programas (PGA)

1.3. Proceso de configuracin de un DBMS (MySQL)

1
2.1 Caractersticas del DBMS

Los sistemas de administracin de bases de datos son usados para:


Permitir a los usuarios acceder y manipular la base de datos proveyendo
mtodos para construir sistemas de procesamiento de datos para
aplicaciones que requieran acceso a los datos.
Proveer a los administradores las herramientas que les permitan
ejecutar tareas de mantenimiento y administracin de los datos.
Las caractersticas de un DBMS son las siguientes:
Abstraccin de la informacin
Los DBMS ahorran a los usuarios detalles acerca del almacenamiento
fsico de los datos. Da lo mismo si una base de datos ocupa uno o cientos
de archivos, este hecho se hace transparente al usuario y slo le muestra
la informacin que se le permita.

Independencia fsica/lgica
Consiste en la capacidad de modificar el esquema ya sea fsico o lgico
de una base de datos sin tener que realizar cambios en las aplicaciones
que se sirven de ella y viceversa.

Respaldo y recuperacin
Un DBMS debe poder realizar un respaldo de una base de datos por si
en algn momento llegara a fallar o se cometiera un error, fcilmente
podramos recuperar la informacin con la copia de seguridad.

Control de concurrencia
Varios usuarios deben poder acceder al mismo tiempo sin que la base
de datos se sature y deje de funcionar.

2
Seguridad
Un DBMS debe garantizar que la informacin de la base de datos se
encuentra segura de permisos y grupos de usuarios que permiten
otorgar diversas categoras de permisos.

Tiempo de respuesta
Lgicamente es deseable minimizar el tiempo que el DBMS demora en
proporcionar la informacin solicitada y en almacenar los cambios
realizados.

Manejo de transacciones
Una transaccin es un conjunto de operaciones que se ejecutan como
una sola, esto quiere decir que luego de una ejecucin en la que se
produce una falla, es el mismo que se obtendra si el programa no se
hubiera ejecutado.

Consistencia
La informacin de la base de datos debe estar siempre actualizada.

Integridad
Un DBMS debe ser capaz de evaluar los datos, deben coincidir con el
tipo de dato que se solicite.

Accesibilidad
Se debe poder acceder a la informacin de una base de datos desde
cualquier punto siempre y cuando el usuario tenga los privilegios
necesarios.

Redundancia mnima
Un buen diseo de una base de datos lograr evitar la aparicin de
informacin repetida o redundante.

3
2.1.1 Estructura de memoria y procesos de la instancia.
La memoria se puede estructurar en las siguientes partes:
rea Global del Sistema (SGA)
Es un grupo de estructuras de la memoria compartida que contiene
datos e informacin de control de una instancia de una base de datos.
Si varios usuarios se conectan de forma concurrente a la misma
instancia, entonces los datos se comparten en el SGA por lo que
tambin se llama shared global area.
Estructura de datos del SGA:

Database Buffer Cache


Su funcin es mantener bloques de datos ms recientemente
ledos directamente de los archivos de datos, esto se hace para
un mejor desempeo pues si los datos son de nuevo requeridos
por un usuario, su acceso es ms rpido.
Cuando se procesa una consulta, el servidor busca los bloques
de datos requeridos en esta estructura. Si el bloque no se
encuentra en esta estructura, el proceso servidor lee el bloque
de la memoria secundaria y coloca una copia en esta estructura.
De esta forma, otras peticiones que requieran de este bloque de
datos no requerirn de acceso a memoria secundaria (lecturas
fsicas).
Esta seccin de la memoria tiene tres estados:
o Sin Usar (Unused).-El buffer esta disponible por que nunca
se ha usado o actualmente esta sin usar.
o Limpia (Clean).-Este buffer fue usado previamente, y
ahora contiene una version consistente del bloque de
datos en un punto en tiempo. El bloque contiene datos,
pero este se puede decir que esta limpio, ya que no se le
necesita hacer un checkpoint a los datos.
o Sucia (Dirty).-El buffer contiene datos que no han sido
escrito a disco, Oracle necesita hacer un checkpoint del
bloque de datos antes de reusarlo.

4
Redo Log Buffer
Es un buffer circular que mantiene todos los cambios que han
sido realizados sobre la base de datos por operaciones INSERT,
UPDATE, DELETE, CREATE, ALTER y DROP. Las entradas de este
buffer contienen toda la informacin necesaria para reconstruir
los cambios realizados a la base de datos por medio de cualquier
sentencia del DDL o del DML. El tamao de este Buffer tambin
puede ser configurado para mejorar el rendimiento de la
instancia y de las aplicaciones que sobre ellas se ejecutan. 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 recuperacin hacia adelante, roll-forward,
durante las recuperaciones de la BD.

rea de SQL Compartido, Shared SQL Pool


En esta zona se encuentran las sentencias SQL que han sido
analizadas. El anlisis sintctico 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 programacin de las aplicaciones. La
igualdad se entiende que es lexicogrfica, espacios en blanco y
variables incluidas.
La base de datos Oracle asigna memoria a la shared pool cuando
una nueva instruccin sql se analiza. El tamao de esta memoria
depende de la complejidad de la instruccin. Si toda la shared
pool ya ha sido asignada la base de datos Oracle puede liberar
elementos de la shared pool hasta que haya suficiente espacio
libre para nuevas sentencias. Al liberar un elemento de la shared
pool el sql asociado debe ser recompilado y reasignado a otra
rea de sql compartida la prxima vez que se ejecute.

5
Los pasos de procesamiento de cada peticin de anlisis de una
sentencia SQL son:
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.Si no, la sentencia es nueva, se analiza y los
datos de anlisis se almacenan en la zona de SQL
compartida.

Large pool
El administrador de la base de datos puede configurar esta rea
de memoria opcional para proveer localidades ms amplias de
memoria para:
o Memoria de sesiones.
o Procesos de I/O del servidor.
o Backups de la base de datos y operaciones de
recuperacin.

Java pool
La memoria java pool es usada en la memoria del servidor para
todas las sesiones que utilicen cdigo java y datos en la JVM. Esta
memoria es usada de diferentes maneras dependiendo del
modo en el que la base de datos est corriendo.

Streams pool
Esta memoria es usada exclusivamente por flujos de Oracle. Esta
almacena colas de mensajes y provee memoria para que los
flujos de Oracle capturen procesos y los apliquen. A menos que
se configure especficamente, el tamao de esta memoria
empieza en cero. El tamao de la streams pool crece
dinmicamente como sea necesario cuando los flujos de Oracle
son usados.

6
Data Dictionary Cache
Tambin conocido como Dictionary Cache o Row Cache,
almacena la informacin de uso ms reciente sobre el
diccionario de datos. Es una coleccin de tablas y vistas que
contienen informacin referente a la base de datos como los
nombres y tipos de datos de las columnas de las tablas, usuarios,
passwords y privilegios. Durante la fase de compilacin, esta
informacin es necesaria para resolver los nombres de los
objetos utilizados en un comando SQL y para validar los
privilegios de acceso.

reas Globales de Programas (PGA)


Un rea global de programa (PGA) es una regin de memoria que
contiene datos e informacin de control para los procesos de
servidores. Es una memoria no compartida creada por Oracle cuando
un proceso de un servidor es iniciado. Solo el servidor del proceso
puede acceder a l y se lee y escribe solamente por un cdigo de Oracle
que acta en nombre del proceso.

El contenido de la memoria de un PGA vara dependiendo de donde se


est ejecutando la instancia y de si el tipo de servidor es compartido.
Pero generalmente la memoria del PGA puede ser clasificada de la
siguiente forma:

Memoria de sesin: La memoria de sesin (Session Memory) se


asigna para mantener las variables de una sesin (logon
information) y otra informacin relativa a la sesin. Para un
servidor compartido, la memoria de sesin es compartida y no
privada.
rea SQL privada: Un rea SQL privada contiene datos como por
ejemplo consultas de informacin de ejecuciones y consultas de
ejecuciones en reas de trabajo. Cada sesin que establece una
sentencia tiene un rea privada de SQL. Cada usuario que emite
la misma sentencia tiene su propia rea SQL privada que usa un

7
rea SQL compartida. Aunque, muchas reas SQL privadas
pueden ser asociadas con la misma rea SQL compartida.

rea de ordenaciones (Sort Areas)


Las reas de ordenaciones (Sort Areas) de Oracle son las zonas de
memoria en las que se ordenan los datos, es decir el espacio en
memoria que necesita la organizacin y ordenacin de las filas.
El tamao por defecto, expresado en bytes, es especfico de cada SO.
Sin embargo, hay muchas razones importantes por las que este tamao
influye en el rendimiento. En el manual de Oracle 10i encontramos
cuatro de ellas:
Aumentar el SORT_AREA_SIZE mejora la eficiencia de
ordenaciones grandes.
Cada ordenacin en una consulta puede consumir la cantidad de
memoria especificada en el SORT_AREA_SIZE, y pueden haber
mltiples ordenaciones en una consulta. De esta forma, si otra
consulta se ejecuta en paralelo, cada ordenacin puede
consumir la memoria especificada en este campo.
El SORT_AREA_SIZE tambin se utiliza para selecciones y
actualizaciones en los ndices de las tablas. Seleccionar un valor
apropiado aqu, puede dar como resultado que la tabla se
actualice una nica vez en cada operacin DML, pudiendo
incluso haber cambiado varias filas a la vez.
Grandes valores en este campo nos permitirn realizar mayores
bsquedas en memoria. Si se necesitase ms espacio para la
ordenacin del que tenemos, los datos se dividirn en trozos y
se utilizarn segmentos de disco temporales como apoyo en la
ordenacin.

En ste ltimo caso, en el que los datos a ordenar no quepan en el rea


de ordenaciones, se dividen en trozos que s quepan, se ordenan y se
mezclan (merge). A esto hace referencia tambin el manual de
Oracle9i, que si bien lo hace en trozos separados, a continuacin se
muestran las dos referencias juntas:

8
Para un mejor rendimiento del SGBD, la mayora de las
ordenaciones deberan tener lugar nicamente en memoria ya
que en caso de tener que escribir a disco, obtendremos un claro
efecto adverso sobre ste. Si las aplicaciones que acceden a la
base de datos suelen realizar bsquedas que no caben en el rea
de ordenaciones, o incluso si las aplicaciones realizan
demasiadas bsquedas innecesarias, entonces sera
conveniente modificar el parmetro de SORT_AREA SIZE.

El SORT_AREA_SIZE es un parmetro que se puede inicializar y


modificar dinmicamente y que especifica la cantidad de
memoria que se tiene disponible al realizar las ordenaciones. Si
una cantidad importante de ordenaciones requiere acceso a
disco para almacenar segmentos temporales, entonces la
aplicacin se ver claramente beneficiada al ampliar el
SORT_AREA_SIZE. De forma alternativa, en un entorno DSS,
aumentar este parmetro no tiene por qu hacer que la
ordenacin se realice nicamente en memoria, pero s es cierto
que dependiendo del valor actual y del nuevo elegidos, se puede
aumentar drsticamente la velocidad de la ordenacin.
Por lo tanto, como conclusin, alterar este parmetro, se puede
considerar como un paso importante para asegurarnos el rendimiento
en ciertas circunstancias y situaciones. Sin embargo, determinar qu
valor es el ms apropiado, es por supuesto, la parte ms complicada.

Memoria virtual
Oracle puede utilizar la memoria virtual proporcionada por el SO para
simular memoria a base de algn dispositivo de almacenamiento como
el disco duro.
La memoria virtual est mapeada en la RAM. Cuando no hay suficiente
memoria con sta para ejecutar los programas (en caso de Oracle las
sentencias, bsquedas, etc) se necesita un espacio auxiliar que
normalmente suele ser el disco duro. Para el traspaso de informacin
se utilizan dos tcnicas principales: el Paging o paginacin y el
Swapping.

9
Paginacin
La paginacin consiste en dividir los programas en pequeos bloques o
pginas, de manera que sea ms fcil moverlos de memoria a disco y
viceversa. De la misma forma, la memoria se divide en marcos de
pgina. De esta forma, la cantidad de memoria desperdiciada por un
proceso es el final de su ltima pgina, minimizando as la
fragmentacin interna y evitando la externa.

En un momento cualquiera, la memoria se encuentra ocupada con


pginas de diferentes procesos, mientras que algunos marcos estn
disponibles para su uso. El sistema operativo mantiene una lista de
estos ltimos marcos, y una tabla por cada proceso, donde consta en
qu marco se encuentra cada pgina del proceso. De esta forma, las
pginas de un proceso pueden no estar contiguamente ubicadas en
memoria, y pueden intercalarse con las pginas de otros procesos.

En la tabla de pginas de un proceso, se encuentra la ubicacin del


marco que contiene a cada una de sus pginas. Las direcciones lgicas
ahora se forman como un nmero de pgina y de un desplazamiento
dentro de esa pgina (conocido comnmente como offset). El nmero
de pgina es usado como un ndice dentro de la tabla de pginas, y una
vez obtenida la direccin del marco de memoria, se utiliza el
desplazamiento para componer la direccin real o direccin fsica. Este
proceso se realiza en una parte del ordenador especficamente
diseada para esta tarea, es decir, es un proceso hardware y no
software.
De esta forma, cuando un proceso es cargado en memoria, se cargan
todas sus pginas en marcos libres y se completa su tabla de pginas.

Swapping
El Swapping es el procedimiento de mover los bloques de memoria en
los que estn algunos procesos que no se estn utilizando, desde la

10
memoria principal a un espacio Swap dejando as hueco libre para
poder cargar en memoria otros procesos que s se van a utilizar.
El espacio Swap o espacio de intercambio es una zona de disco (un
fichero o una particin) que se usa para guardar las imgenes de los
procesos que no han de mantenerse en memoria fsica.
Este procedimiento es muy similar a la paginacin, con la diferencia
principal de que el directorio Swap funciona exactamente igual que la
memoria RAM, por lo que puede almacenar datos privados,
contraseas y todo lo que almacena sta. Sin embargo, en la
paginacin, nicamente se sacan de memoria pginas pertenecientes
a procesos que no se estn utilizando, adems de que se pueden sacar
solo algunas pginas de los procesos y no stos enteros como se hace
en el Swapping.
Con respecto al tamao que debe tener el directorio Swap, hay muchas
discusiones sobre ello como por ejemplo la antigua creencia de El
Swap debe tener el doble de tamao que la RAM. cosa que no es
vlida hoy da debido a la gran capacidad de la memoria RAM de la
mayora de ordenadores.
Como conclusin, hay que destacar que el uso de la memoria virtual
por parte de Oracle, va a influir bastante en el rendimiento,
disminuyndolo drsticamente en comparacin con el uso nicamente
de la memoria RAM.

rea de cdigo de Software (SCA)


El rea de cdigo de software son zonas de memoria destinadas a
almacenar el cdigo de Oracle en ejecucin o que puede ejecutarse.
Este cdigo de Oracle se almacena en una zona distinta, y ms
protegida, que las zonas dedicadas a almacenar los cdigos de
programas de usuarios.
La SCA suele ser de tamao esttico, cambiando nicamente cuando el
software se reinstala o actualiza. El tamao requerido para esta rea
puede variar en funcin del SO. Son reas de slo lectura y pueden ser
instalas de forma compartida o no compartida. Cuando es posible, el
cdigo de Oracle se comparte, por lo que todos los usuarios pueden
acceder a l sin tener mltiples copias en memoria. El resultado es un

11
ahorro considerable de memoria y una mejora del rendimiento
general.
Por otra parte, los programas de usuario tambin pueden ser
compartidos o no. Algunas utilidades y herramientas de Oracle (como
ocurre con Oracle Forms y SQL*Plus) pueden ser instalados de forma
compartida, pero otras no. Mltiples instancias de Oracle pueden usar
la misma SCA con diferentes bases de datos si estn corriendo en la
misma mquina.
Hay que tener en cuenta que la opcin de instalar software compartido
puede no estar disponible en funcin del sistema operativo, como
ocurre por ejemplo en mquinas con Windows.

Instancia
Es el conjunto de estructuras de memoria y de procesos que acceden a
los archivos de una base de datos.
Es un conjunto de estructuras de memoria que manejan los archivos de
la base de datos.
Cada instancia est asociada a una base de datos. Cuando se inicia una base
de datos en un servidor, se le asigna un rea de memoria (SGA) y lanza uno o
ms procesos. A la combinacin 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 estancia, el DBMS monta la base de datos, es decir, asocia
dicha estancia a su base de datos correspondiente. En una misma
computadora pueden ejecutarse varias instancias simultneamente,
accediendo cada una a su propia base de datos fsica.
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 informacin que contiene.

12
Procesos que acceden al SGA.
Procesos de primer plano
Los procesos de primer plano ejecutan actividades como verificar si un usuario
tiene o no permiso de acceder a los datos, generando un plan de ejecucin de
sentencias para las consultas (querys) enviadas por el usuario y recuperando
bloques de datos del buffer cach y modificndolos.
Procesos de primer plano:
Verificacin de permisos de usuario
Elaboracin del plan de ejecucin para las sentencias
Recuperacin de datos de la cach
Recuperacin en caso de fallos
Bloqueos
Procesos de Segundo plano
A diferencia de los procesos de primer plano, los procesos de Segundo plano
viven desde que la base de datos se inicia hasta que sta es apagada.
Procesos de segundo plano:
Database Writer
Log Writer
Archiver
Procesos de Checkpoint

Process Monitor, PMON


La funcionalidad de este proceso es la de monitorear que los dems
procesos de la instancia estn corriendo, a su vez es responsable de
limpiar el Database Buffer Cache y limpiar recursos que el cliente haya
utilizado.

System Monitor, SMON

13
Este proceso restaura las transacciones no validadas de los procesos de
usuario que abortan, liberando los bloqueos y los recursos de la SGA.
Asume la identidad del usuario que ha fallado, liberando todos los
recursos de la BD que estuviera utilizando, y anula la transaccin
cancelada. Este proceso se despierta regularmente para comprobar si
su intervencin es necesaria.

Checkpoint, CKPT
Este proceso escribe en los ficheros de control los checkpoints. Estos
puntos de sincronizacin son referencias al estado coherente de todos
los ficheros de la BD en un instante determinado, en un punto de
sincronizacin. Esto significa que los bloques sucios de la BD se vuelcan
a los ficheros de BD, asegurndose de que todos los bloques de datos
modificados desde el ltimo checkpoint se escriben realmente en los
ficheros de datos y no slo en los ficheros redo log; y que los ficheros de
redo log tambin almacenan los registros de redo log hasta este
instante. La secuencia de puntos de control se almacena en los ficheros
de datos, redo log y control.

Database Writer, DBWR


El proceso DBWR es el responsable de gestionar el contenido de los
buffers de datos y del cach del diccionario. l lee los bloques de los
ficheros de datos y los almacena en la SGA. Luego escribe en los ficheros
de datos los bloques cuyo contenido ha variado. La escritura de los
bloques a disco es diferida buscando mejorar la eficiencia de la E/S.Es el
nico proceso que puede escribir en la BD. Esto asegura la integridad.

Log Writer, LGWR


El proceso LGWR es el encargado de escribir los registros redo log en los
ficheros redo log. Los registros redo log siempre contienen el estado
ms reciente de la BD, ya que puede que el DBWR deba esperar para

14
escribir los bloques modificados desde el buffer de datos a los ficheros
de datos.

Archiver, ARCH
El proceso archivador tiene que ver con los ficheros redo log. Por
defecto, estos ficheros se reutilizan de manera cclica de modo que se
van perdiendo los registros redo log que tienen una cierta antigedad.
Cuando la BD se ejecuta en modo ARCHIVELOG, antes de reutilizar un
fichero redo log realiza una copia del mismo. De esta manera se
mantiene una copia de todos los registros redo log por si fueran
necesarios para una recuperacin. Este es el trabajo del proceso
archivador.

Recoverer, RECO
El proceso de recuperacin est asociado al servidor distribuido. En un
servidor distribuido los datos se encuentran repartidos en varias
localizaciones fsicas, y estas se han de mantener sincronizadas. Cuando
una transaccin distribuida se lleva a cabo puede que problemas en la
red de comunicacin haga que una de las localizaciones no aplique las
modificaciones debidas. Esta transaccin dudosa debe ser resuelta de
algn modo, y esa es la tarea del proceso recuperador. Est activo si el
parmetro DISTRIBUTED_TRANSACTIONS tiene un valor distinto de 0.

15
2.1.2 Estructuras fsicas de la base de datos.

En una base de datos almacenamos informacin relevante para nuestro


negocio u organizacin y desde el punto de vista fsico, 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


pginas enumeradas secuencialmente que representa la unidad mnima de
almacenamiento. Cada pgina tiene un tamao de 8kb de informacin. Existen
diferentes tipos de pginas, a tener en cuenta:

Pginas de datos: es el tipo principal de pginas y son las que almacenan


los registros de datos.
Pginas de espacio libre (PFS Page Free Space): almacenan informacin
sobre la ubicacin y el tamao del espacio libre.

Paginas GAM and SGAM: utilizadas para ubicar extensiones. Pginas de


Mapa de Ubicaciones de ndices.
(IAM Index Allocation Map): contiene informacin sobre el
almacenamiento de pginas de una tabla o ndice en particular.

Pginas ndices: Utilizada para almacenar registros de ndices.

Archivo de Registro de Transacciones.

El propsito principal del registro de transacciones es la recuperacin de datos


a un momento en el tiempo o complementar una restauracin de copia de

16
respaldo completa (full backup). El registro de transacciones no contiene
pginas, 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 restauracin. El acceso a datos es secuencial,
ya que el registro de transacciones se actualiza en el mismo orden cronolgico
en el que se hacen las modificaciones. Este archivo no puede ser ledo por
herramientas de usuario de SQL auqnue existen herramientas de terceros que
leen este archivo para recuperar los cambios efectuados. Dependiendo de la
versin el registro de transacciones se utiliza para otros propsitos 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 lgica y la parte fsica, donde:

Data File.

Los datafiles son los archivos fsicos 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 ubicacin o directorio, el tamao que va a tener y el tablespace
al que va a pertenecer. Adems, al crearlos, ocupan ya ese espacio, aunque se
encuentran totalmente vacos, es decir, Oracle reserva el espacio para poder
ir llenndolo poco a poco con posterioridad. Por supuesto, si no hay sitio
suficiente para crear un archivo fsico del tamao indicado, se producir un
error y no se crear dicho archivo. Cuando se van creando objetos en un
tablespace, stos fsicamente 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 fsicos o
datafiles que forman parte del tablespace. No se puede controlar en qu
archivo fsico 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 almacenarn 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 lgicamente la suma de los

17
tamaos que ocupan los archivos fsicos o datafiles que lo forman. Como
hemos indicado estos datafiles, al crearlos, estn totalmente vacos,
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 caractersticas:

Un archivo slo puede estar asociado con una base de datos.

Los archivos de datos tienen atributos que permiten reservar


automticamente para ellos extensiones cuando se acaba el espacio.

Uno o ms archivos de datos forman una unidad lgica 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 cuntos bloques de sistema operativo
formarn un bloque de datos.

18
2.1.3 Requerimientos para instalacin.

Para la instalacin de un DBMS hay que tener en cuenta bsicos


requerimientos que son:
Los requerimientos ms bsicos son:

512 Mb de memoria Ram


1024 Mb mquina virtual
1 GB de espacio de disco duro
Sistema operativo: Windows,Linux y Unix
Arquitectura del sistema 32/64 bit
Protocolo de red TCP/IP.
Como ejemplo pondremos a los requerimientos de tres grandes DBMS Oracle
, Mysql y PostgreSQL.

Requerimientos ORACLE MYSQL PostgreSQL


Ram. 512MB 512MB 512MB
Memoria Virtual. 1024 MB 1024 MB 1024MB
Espacio de disco duro 1.5 GB 1GB 1GB
para la instalacin.
Sistema operativo WINDOWS SERVER, WINDOWS SERVER, Unix, Mac OS ,
WINDOWS 7,8,8.1,10 , WINDOWS 7,8,8.1,10 , FreBSD, windows
Linux, Unix Linux, Unix 8,10
Arquitectura del sistema 32/64-bits 32/64-bits 32/64-bits
Protocolo TCP/IP SI SI SI

19
2.1.4 Instalacin del software de BD en modo transaccional.

Una Base de datos transaccional es un tipo de sistema de informacin


diseado para recolectar, almacenar, modificar y recuperar todo tipo de
informacin que es generada por las transacciones en una organizacin. Una
transaccin es un evento o proceso que genera o modifica la informacin que
se encuentran eventualmente almacenados en un sistema de informacin.
Un sistema transaccional debe controlar las transacciones para mantener la
seguridad y consistencia de los datos involucrados. Por ejemplo, un cliente
transfiere dinero de una cuenta a otra cuenta dentro de un mismo banco; la
cantidad de dinero que se descuenta de la cuenta emisora debe ser igual a la
que se suma en la cuenta receptora. De no ser as, la accin (transaccin) no
se realiza. Un sistema transaccional debe ser capaz de enmendar cualquier
error ocurrido durante una transaccin, pudiendo deshacer las operaciones
realizadas, manteniendo los datos tal cual estaban antes del error.
Una base de datos en modo transaccional significa que la BD ser capaz de que
las operaciones de insercin y actualizacin se hagan dentro de una
transaccin, es un componente que procesa informacin descomponindola
de forma unitaria en operaciones indivisibles, llamadas transacciones, esto
quiere decir que todas las operaciones se realizan o no, si sucede algn error
en la operacin se omite todo el proceso de modificacin de la base de datos,
si no sucede ningn error se hacen toda la operacin con xito.
Una transaccin es un conjunto de lneas de un programa que llevan insert o
update o delete. Todo aqul software que tiene un log de transacciones (que
es la "bitcora" que permite hacer operaciones de commit o rollback),
propiamente es un software de BD; aqul que no lo tiene, 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.
Se usan los siguientes mtodos:
- Begin TRans para iniciar la transaccin

20
- 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 teora para cualquier BD.
Una vez que se sabe la forma de ingresar comandos, es el momento de acceder
a una base de datos.

21
2.1.5 Variables de Ambiente y archivos importantes para
instalacin.

Para instalar cualquier SGBD como primer instancia el archivo primordial es el


que se descarga de la web oficial. Su configuracin depender del s.o donde
se instale:
Algunos programas que necesitaremos para su instalacin son programas para
descomprimir como WinRar o Winzip. Como ejemplo se presentara el proceso
para instalar MySQL desde un archivo ZIP es el siguiente:
1. Extraer el contenido del archivo dentro del directorio de instalacin
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.

22
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 ms del tiempo mnimo establecido. El archivo est (salvo quese
especifique slow-log-file como parmetro) en la carpeta de datos de MySQL
con el nombre host_name-slow.log

23
2.1.6 Procedimiento general de instalacin

Los administradores de bases de datos suelen utilizar los sistemas de gestin


de bases de datos para la creacin de sistemas de bases de datos. Las tareas
asociadas con la instalacin y configuracin de sistemas de gestin de bases
de datos (DBMS) dependen en cierta medida del tipo de sistema.

Validar requisitos de la base de datos


Lo primero es revisar que se pueda instalar el DBMS cumpliendo con los
requisitos del sistema, para ello el administrador de servidor trabajar con el
administrador de base de datos para garantizar que se cumplen los requisitos
de disco, memoria, red y copia de seguridad antes de instalar la base de datos.
Elementos de la lista de comprobacin:
Validar los requisitos de memoria
Crear ID de administracin de base de datos necesarios
Crear cualquier ID de cliente de base de datos requerido
Validar los requisitos de espacio de disco
Crear sistemas de archivos necesarios, directorios o discos virtuales
con las ACL adecuadas.
Validar los requisitos de nivel de SO
Validar los requisitos de asignacin de SAN
Validar la conectividad de la red
Validar que los puertos necesarios del sistema de seguridad estn
abiertos

Realizar la instalacin de la base de datos


En este puto la instalacin es bastante similar en los distintos sistemas
gestores de bases de datos puesto que se realiza con ayuda de un instalador
de forma fcil y rpida, lo primero que realiza es lo siguiente:

24
o Instalar aplicacin de base de datos
o Crear instancias y tablas de base de datos segn el documento de
requisitos y diseo de base de datos
o Probar la conectividad de cliente de base de datos

El proceso de instalacin es muy simple y prcticamente no requiere


intervencin por parte del usuario. Al ejecutar el instalador solo debes aceptar
los trminos y condiciones y elegir el tipo de instalacin deseada (La instalacin
tpica ser la que mejor se adapte a tus necesidades).

25
2.1.7 Procedimiento para configuracin de un DBMS

Para configurar nuestro DBMS podemos acceder a las siguientes pantallas,


para Oracle o MySQL.
El esquema de una base de datos (en ingls, Database Schema) describe la
estructura de una Base de datos, en un lenguaje formal soportado por un
Sistema administrador de Base de datos (DBMS). En una Base de datos
Relacional, el Esquema define sus tablas, sus campos en cada tabla y las
relaciones entre cada campo y cada tabla. Oracle generalmente asocia un
'username' como esquemas en este caso SYSTEM y HR (Recursos humanos).
En este caso como ejemplo vamos a utilizar la configuracin de MySQL Server
5.5
Se debe optar por la opcin Detailed Configuration, de modo que se optimice
la configuracin del servidor MySQL
Dependiendo del uso que vayamos a darle a nuestro servidor deberemos
elegir una opcin u otra, cada una con sus propios requerimientos de
memoria. Puede que te guste la opcin Developer Machine, para
desarrolladores, la ms apta para un uso de propsito general y la que menos
recursos consume. Si vas a compartir servicios en esta mquina,
probablemente Server Machine sea tu eleccin o, si vas a dedicarla
exclusivamente como servidor SQL, puedes optar por Dedicated MySQL Server
Machine, pues no te importar asignar la totalidad de los recursos a esta
funcin.
Para un uso de propsito general, siempre es recomendable la opcin por
defecto, Multifunctional Database.

InnoDB es el motor subyacente que dota de toda la potencia y seguridad a


MySQL. Su funcionamiento requiere de unas tablas e ndices cuya ubicacin
puedes configurar. Sin causas de fuerza mayor, acepta la opcin por defecto.

26
A continuacin se debe decidir qu codificacin de caracteres emplears,
salvo que quieras empezar a trabajar con Unicode porque necesites soporte
multilenguaje, probablemente Latin1 te sirva (opcin por defecto).
Instalamos MySQL como un servicio de Windows (la opcin ms limpia) y lo
marcamos para que el motor de la base de datos arranque por defecto y est
siempre a nuestra disposicin. La alternativa es hacer esto manualmente.
Se puede aadir contrasea al usuario root, esto siempre es lo ms seguro. Si
lo deseas, puedes indicar que el usuario root pueda acceder desde una
mquina diferente a esta, aunque no sea la mejor opcin de seguridad
En la ltima etapa, ya est listo para generar el fichero de configuracin y
arrancar el servicio. Slo damos al botn de Finalizar y terminamos con la
configuracin del DBMS.

27
2.1.8 Comandos generales de alta y baja del DBMS

Una tabla es un sistema de elementos de datos (atributo - valores) que se


organizan que usando un modelo vertical - columnas (que son identificados
por su nombre)- y horizontal filas. Una tabla tiene un nmero especfico de
columnas, pero puede tener cualquier nmero de filas. Cada fila es identificada
por los valores que aparecen en un subconjunto particular de la columna que
se ha identificado por una llave primaria.
Una tabla de una base de datos es similar en apariencia a una hoja de clculo,
en cuanto a que los datos se almacenan en filas y columnas. Como
consecuencia, normalmente es bastante fcil importar una hoja de clculo en
una tabla de una base de datos. La principal diferencia entre almacenar los
datos en una hoja de clculo y hacerlo en una base de datos es la forma de
organizarse los datos.
En Oracle podemos implementar diversos tipos de tablas. A continuacin se
presenta una recopilacin no exhaustiva de ellas.
TIPO DE TABLA DESCRIPCIN
Son el mecanismo de almacenamiento de los datos en una base de datos
Oracle. Contienen un conjunto fijo de columnas. Las columnas de una tabla
REGULAR
describen los atributos de la entidad que se representa con la tabla. Cada
(HEAP)
columna tiene un nombre y caractersticas especficas: tipo de dato y longitud,
restricciones, etc.
Un cluester proporciona un mtodo opcional de almacenar datos de tabla. Un
CLUSTERED cluster est compuesto de un grupo de tablas que comparten los mismos
bloques de datos. Las tablas son agrupadas mediante columnas comunes.
Aqu una tabla es almacenada en la estructura de un ndice. Esto impone orden
fsico a las filas por si mismas. A diferencia de un heap, donde los datos son
INDEX
almacenados en donde caben, en una tabla IOT (Tabla Organizada por Indices)
los datos son almacenados en el orden de la clave primaria.
Es un esquema de organizacin de los datos con el cual podemos dividirla en
mltiples objetos de almacenamientos llamados particiones de datos o
rangos, dependiendo los valores puede ser dividido en uno o ms columnas
PARTICIONADAS
de la tabla. Cada particiones de datos es almacenado separadamente. Estos
objetos almacenados pueden estar en diferentes tablespaces, en el mismo o
en una combinacin de ambos.
Son tablas cuyos datos permanecern en el sistema slo durante el tiempo
que dure la transaccin o sesin involucrada. No obstante, al igual que para
TEMPORALES
las tablas permanentes, la definicin de las tablas temporales se almacena en
las tablas del sistema.

28
(DROP) Eliminacin

Cuando una tabla ya no es til y no vamos a volver a necesitarla debe ser


borrada. Esta operacin se puede realizar con el comando DROP TABLE.
DROP TABLE nombre_tabla [CASCADE CONSTRAINTS][PURGE]
Se borra la tabla de la base de datos, borrando toda la informacin contenida
en la tabla, es decir, todas las filas. Tambin se borrar toda la informacin que
sobre la tabla existiera en el diccionario.
Si alguna columna de la tabla a borrar sirve como clave ajena de alguna tabla
detalle, impide la eliminacin de la tabla, ya que existe una restriccin que
requiere de la existencia de la tabla maestra. Esto se puede areglar colocando
la sentencia CASCADE CONSTRAINTS.
Esto produce que las restricciones de la tabla detalle se borren antes de borrar
la tabla maestra. PURGE evita que los objetos borrados se vayan a la papelera

Modificacin

Oracle permite modificar las restricciones definidas para una tabla. Esto puede
llevar a inconsistencia de los datos ya introducidos en la base de datos. Por
ello, Oracle tiene definidos mecanismos para modificacin de los datos ya
existentes.
Esta operacin se puede realizar con el comando ALTER TABLE.
ALTER TABLE [esquema.]tabla
clausula_constraint [,]
[ENABLE clausula_activa | DISABLE clausula_disable]
[{ENABLE|DISABLE} TABLE LOCK]
[{ENABLE|DISABLE} ALL TRIGGERS];

29
Hay que tener en cuenta varios puntos:

- No es posible disminuir el tamao de la calumna, si esta contiene datos


- En modificaciones, todos los datos tanto nuevos como viejos deben de
ser compatibles o la tabla debe de estar vacia.
- La opcion ADD NOT NULL solo sera posible si la tabla esta vacia.
- La opcion MODIFI NOT NULL solo se podramodificazr siempre y cuando
no se tenga un valor nulo o este vacia la calumna en cuestion.
Es factible modificar una tabla aadiendo o eliminando restricciones:

ALTER TABLE tabla {ADD | DROP} CONSTRAINT restriccin;


El cual permitir el borrado en cascada.

La versin 5 de MySQL crea por defecto tablas innoDB que permiten el manejo
de integridad referencial, transacciones. Al igual que las tablas regulares de
oracle. Para saber si el gestor de base de datos de MySQL que tenemos las
soporta es necesario ejecutar la siguiente sentencia.

SHOW VARIABLES liKE '%innodb%';


Si nuestro gestor soporta por defecto las tablas innodb las sentencias para
crear las tablas previamente mostradas sern exactamente igual a las de
oracle. En caso contrario se muestra la sintaxis correspondiente

CREATE TABLE f1 ( year INTEGER PRIMARY KEY , campeon CHAR(30),


Escudera CHAR(20) ) ENGINE = InnoDB;

30
Ejemplo: Estados, capitales, densidad de poblacin y superficie de la Republica
Mexicana
CREATE TABLE estados (idEstado INTEGER PRIMARY KEY , nombreEstado
CHAR(25) NOT NULL , capitalCHAR(25) NOT NULL, densidad INTEGER NOT
NULL, poblacion INTEGER NOT NULL) ENGINE = InnoDB;

Comando Describe
MySQL proporciona este comando que resulta til para conocer la estructura
de una tabla, las columnas que la forman y su tipo y restricciones. La sintsis
es la siguiente DESCRIBE nombreTabla.
Ejemplo: DESCRIBE f1;

Comando SHOW TABLES y SHOW CREATE TABLE

El comando SHOW TABLES muestra las tablas dentro de una base de datos y
SHOW CREATE TABLES muestra la estructura de creacin de la tabla.

Tablas temporales
Las tablas temporales solo existen mientras la sesin est viva. Si se corre este
cdigo en un script de PHP (Cualquier otro lenguaje), la tabla temporal se
destruir automticamente al trmino de la ejecucin de la pgina. Si no
especfica MEMORY, la tabla se guardar por defecto en el disco.
CREATE TEMPORARY TABLE temporal (
Ife INTEGER(13) PRIMARY KEY,
nombre CHAR(30) NOT NULL UNIQUE
);

31
Este tipo de tabla solo puede ser usada por el usuario que la crea.
Si creamos una tabla que tiene el mismo nombre que una existente en la
base de datos, la que existe quedar oculta y trabajaremos sobre la temporal.

Modificacin
Esta operacin se puede realizar con el comando ALTER TABLE. Para usar
ALTER TABLE, necesita permisos ALTER, INSERT y CREATE para la tabla. La
sintaxis para MySQL es

ALTER [IGNORE] TABLE tbl_name


alter_specification [, alter_specification] ...;

alter_specification:
ADD [COLUMN] column_definition [FIRST | AFTERcol_name ]
| ADD [COLUMN] (column_definition,...)
| ADD INDEX [index_name] [index_type] (index_col_name,...)
| ADD [CONSTRAINT [symbol]]
PRIMARY KEY [index_type] (index_col_name,...)
| ADD [CONSTRAINT [symbol]]
UNIQUE [index_name] [index_type] (index_col_name,...)
| ADD [FULLTEXT|SPATIAL] [index_name] (index_col_name,...)
| ADD [CONSTRAINT [symbol]]
FOREIGN KEY [index_name] (index_col_name,...)
[reference_definition]
| ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}

32
| CHANGE [COLUMN] old_col_namecolumn_definition
[FIRST|AFTER col_name]
| MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]
| DROP [COLUMN] col_name
| DROP PRIMARY KEY
| DROP INDEX index_name
| DROP FOREIGN KEY fk_symbol
| DISABLE KEYS
| ENABLE KEYS
| RENAME [TO] new_tbl_name
| ORDER BY col_name
| CONVERT TO CHARACTER SET charset_name [COLLATEcollation_name]
| [DEFAULT] CHARACTER SET charset_name [COLLATEcollation_name]
| DISCARD TABLESPACE
| IMPORT TABLESPACE
| table_options
Ejemplo: Eliminar una llave foranea
ALTER TABLE automovil DROP FOREIGN KEY FK_Propietario;

Ejemplo: Agregar una llave foranea con borrado en cascada


ALTER TABLE automovil ADD CONSTRAINT FK_Propietario FOREIGN KEY
(idPropietario) REFERENCES propietario (idPropietario) ON DELETE
CASCADE;

33
GRFICOS

1.1. rea Global del Sistema

1.1.1. Database Buffer Cache

34
1.1.2. Redo Log Buffer

1.1.3. Shared Pool

35
1.1.4. Large Pool

1.1.5. Java Pool and Streams Pool

36
1.2. rea Global del Programa

37
1.3. . Proceso de configuracin de un DBMS (MySQL)

38
BIBLIOGRAFA
https://sites.google.com/site/201608abd5/unidad-2-arquitectura-e-
instalacion-del-sgbd/2-1-estructura-de-memoria-y-procesos-de-la-
instancia
http://oracleenespanol.blogspot.mx/2011/03/instancia-es-igual-
procesos-y.html
http://abdarrayan.blogspot.mx/2009/04/areas-globales-de-
programas-pga_14.html
http://abdarrayan.blogspot.mx/2009/04/areas-globales-de-
programas-pga_14.html
http://abdarrayan.blogspot.mx/
https://norfipc.com/inf/variables-entorno.html
proyecto359.webnode.mx/unidad2/

39

You might also like