Está en la página 1de 19

UNIDAD III.

ADMINISTRACIN DE BASES DE DATOS


3.1 ESTRUCTURAS LGICAS DE ALMACENAMIENTO
Para la gestin del almacenamiento de una base de datos existen 4 conceptos bien definidos
que deben ser conocidos para poder comprender la forma en la que se almacenan los datos.
Vamos a ver la diferencia entre bloque, extensin, segmento y espacio de tablas.
Bloques: Se tratan de la unidad ms pequea. Generalmente debe mltiple del tamao de
bloque del sistema operativo, ya que es la unidad mnima que va a pedir Oracle al sistema
operativo. Si no fuera mltiple del bloque del sistema se aadira un trabajo extra ya que el
sistema debera obtener ms datos de los estrictamente necesarios. Se especifica mediante
DB_BLOCK_SIZE
Extensiones: Se forma con uno o ms bloques. Cuando se aumenta tamao de un objeto se
usa una extensin para incrementar el espacio.
Segmentos: Grupo de extensiones que forman un objeto de la base de datos, como por
ejemplo una tabla o un ndice.
Tablespaces: Formado por uno o ms datafiles, cada datafile solo puede pertenecer a un
determinado tablespace
En general, el almacenamiento de los objetos de la base de datos (tablas e ndices
fundamentalmente) no se realiza sobre el archivo o archivos fsicos de la base de datos, sino
que se hace a travs de estructuras lgicas de almacenamiento que tienen por debajo a esos
archivos fsicos, y que independizan por tanto las sentencias de creacin de objetos de las
estructuras fsicas de almacenamiento. Esto es til porque permite que a esos "espacios de
objetos " les sean asociados nuevos dispositivos fsicos (es decir, ms espacio en disco) de
forma dinmica cuando la base de datos crece de tamao ms de lo previsto. Posibilita
adems otra serie de operaciones como las siguientes:

Asignar cuotas especficas de espacio a usuarios de la base de datos.


Controlar la disponibilidad de los datos de la base de datos, poniendo fuera de uso
alguno de esos espacios de tablas individualmente.
Realizar copias de seguridad o recuperaciones parciales de la base de datos.
Reservar espacio para almacenamiento de datos de forma cooperativa entre distintos
dispositivos.

El administrador de la base de datos puede crear o borrar nuevos espacios lgicos de


objetos, aadir o eliminar ficheros fsicos de soporte, utilizados como espacio temporal de
trabajo, definir parmetros de almacenamiento para objetos destinados a ese espacio de
datos, todos los gestores relacionales que venimos introduciendo como ejemplos siguen
esta filosofa. En el caso de Oracle, sobre los ficheros fsicos de datos (datafiles) se definen
los tablespaces. Por lo tanto, una base de datos Oracle se compone lgicamente de
tablcspaccs, y fsicamente de datafilcs. Su creacin es sencilla, con la sentencia GREAT'',
TABLESPACE: CREATE TABLESPACE usuarios DATAFILE `datal.ora' SIZE 50M

UNIDAD III. ADMINISTRACIN DE BASES DE DATOS


Tambin es sencillo ampliar el espacio destinado a un tablespace utilizando el comando
ALTER TABLESPACE:
ALTER TABLESPACE usuarios ADD DATAFILE 'data2.ora' SIZE 25M
Cada base de datos contiene un tablespace llamado SYSTEM que es creado
automticamente al crear la base de datos. Contiene las tablas del diccionario de datos para
la base de datos en cuestin. Es recomendable no cargar datos de usuario en SYSTEM, para
dejarlos como espacio de objetos del sistema. Si adems los datos de usuario estn en
tablespaces y no en otros dispositivos, el rendimiento mejorar porque las tablas del
diccionario de datos se acceden frecuentemente y por lo tanto son un cuello de botella
potencial desde el punto de vista del acceso a disco.
A la hora de estimar el espacio necesario para el tablespace sys-nsm hay que tener en
cuenta que las unidades de programacin PL-SQL (entorno de programacin SQL
proporcionado por Oracle) almacenadas en la base de datos (procedimientos, paquetes,
disparos y funciones) almacenan sus datos en SYSTEM.
De acuerdo con lo comentado anteriormente, tablas e ndices se ubicarn en el tablespace
indicado en el momento de su creacin con la correspondiente sentencia CREATE. Si no se
dice nada, se situarn en el tablespace por defecto asociado al usuario creador.
3.1.1. DEFINICIN DE ESPACIO DE ALMACENAMIENTO
Estructuras lgicas de almacenamiento.
En este captulo se describe la naturaleza y las relaciones de las estructuras lgicas de
almacenamiento. Estas estructuras se crean y reconocen por la Base de datos Oracle y no
estn reconocidas por el sistema operativo.
Introduccin a las Estructuras de almacenamiento lgico.
La Base de datos Oracle asigna un espacio lgico de todos los datos en la base de datos.
Las unidades lgicas de asignacin de espacio de base de datos son los bloques de datos,
extensiones, segmentos y espacios de tabla (tablaspace), en un nivel fsico, los datos se
almacenan en archivos de datos en el disco.

Los datos en los archivos de datos se almacenan en bloques del sistema operativo.

UNIDAD III. ADMINISTRACIN DE BASES DE DATOS

Figura 3.1 Diagrama E-R


para el almacenamiento
fsico y lgico.
La notacin de pata de gallo representa una relacin uno-a-muchos.
Jerarqua de almacenamiento lgico.

Figura 3.2 muestra las relaciones entre los bloques de datos,


extensiones y segmentos dentro de un espacio de tablas.
En este ejemplo, un segmento tiene dos extensiones almacenados en los
archivos de datos diferentes.

En un nivel ms detallado, Oracle almacena los datos en bloques de


datos. Uno de estos bloques de datos lgicos corresponde a un nmero
especfico de bytes de espacio fsico de disco, por ejemplo, 2 KB.

UNIDAD III. ADMINISTRACIN DE BASES DE DATOS


Estos bloques de datos son las unidades ms pequeas de
almacenamiento que la base de datos Oracle puede utilizar o distribuir.
Un extent es un conjunto de bloques de datos contiguos lgicamente
asignados para almacenar un tipo especfico de informacin. En la Figura
3.2, la que tiene una medida de 24 KB tiene 12 bloques de datos,
mientras que la de 72 KB tiene 36 bloques de datos. Un segment es un
conjunto de extensiones asignadas para un objeto de la base de datos
especfica, tal como una mesa. Por ejemplo, los datos para la tabla
empleados se almacena en su propio segmento de datos, mientras que
cada ndice de empleados se almacenada en su segmento propio ndice.
Cada base de datos objeto que consume almacenamiento consta de un
nico segmento. Cada segmento pertenece a un y solo un espacio de la
tabla. Por lo tanto, todas las extensiones de un segmento se almacenan
en el mismo tablespace. Dentro de un espacio de tablas, un segmento
puede incluir extensiones a partir de varios archivos de datos, como se
muestra en la Figura 3.2. Por ejemplo, una extensin para una segmento
puede ser almacenado en users01.dbf, mientras que otro se almacena
en users02.dbf, la extensin sola nunca puede abarcar varios archivos
de datos.
Gestin del espacio lgico
La base de datos Oracle debe utilizar la gestin de espacio lgico para
seguir y asignar las extensiones en un espacio de tablas. Cuando un
objeto de base de datos requiere una extensin, la base de datos debe
tener un mtodo para encontrar y proveer la misma. Del mismo modo,
cuando un objeto ya no requiere un punto, la base de datos debe tener
un mtodo para hacer que esa extensin quede libre y disponible. La
base de datos Oracle gestiona el espacio dentro de un las tablespace en
funcin del tipo que se cree.
Se puede crear cualquiera de los siguientes tipos de espacios de tabla::

Tablespaces gestionadas localmente (por defecto). La base de


datos utiliza mapas de bits en los espacios de tabla para gestionar
extensiones. Por lo tanto, los gestionados de tablespaces
localmente tienen una parte del espacio en una tabla y por el otro
lado por un mapa de bits dentro de un espacio de tabla, la base de
datos puede manejar segmentos con la gestin automtica del
espacio (ASSM) o manual de gestin del segmento espacial (SM).

UNIDAD III. ADMINISTRACIN DE BASES DE DATOS

Tablespaces gestionadas por diccionario. La base de datos utiliza


el diccionario de datos para gestionar extensiones.

Gestionado de tablespaces localmente.


Un tablespace gestionado localmente mantiene un bitmap en la
cabecera del archivo de datos para realizar un seguimiento del espacio
libre y utilizarlo en el cuerpo del archivo de datos. Cada bit corresponde
a un grupo de bloques. Cuando el espacio es asignado o liberado Oracle
cambia los valores de mapa de bits para reflejar el nuevo estado de los
bloques.
La Figura 3.3 es una representacin conceptual de la gestin de
almacenamiento por mapa de bits. Un 1 en el encabezado se refiere a
espacio utilizado, mientras que un 0 se refiere al espacio libre.

Figura
3.3
Representacin conceptual de la gestin de almacenamiento por mapa
de bits.
Las tablespace gestionadas localmente tiene las siguientes ventajas:
Evita el uso del diccionario de datos para administrar las
extensiones
Operaciones recursivas puede ocurrir en el diccionario gestionado de
tablespaces sin consumir o liberar espacio en la medida en que los
resultados de la otra operacin consume o libere espacio en una tabla
de diccionario de datos o al deshacer segmento.
Realiza un seguimiento del espacio libre adyacente
automticamente
De esta manera, la base de datos elimina la necesidad de unirse a
extensiones libres.

UNIDAD III. ADMINISTRACIN DE BASES DE DATOS

Determina el tamao de las extensiones administradas


localmente automticamente
Alternativamente, todas las extensiones pueden tener el mismo tamao
en los tablespace gestionado localmente y encima de las opciones de
almacenamiento de objetos.
Nota: Oracle hace nfasis en el uso de gestionado de tablespaces
localmente con la gestin automtica del segmento espacial.
La gestin del segmento espacial es un atributo heredado de la tabla
que contiene el segmento. Dentro de un
tablespace gestionado
localmente, la base de datos puede manejar segmentos de forma
automtica o manual. Por ejemplo, los segmentos de usuarios de tablas
se pueden gestionar de forma automtica, mientras que los segmentos
de herramientas de tablas se manejan manualmente.
Segmento Gestin automtica del espacio.
El mtodo ASSM utiliza mapas de bits para gestionar el espacio. Los
mapas de bits proporcionan las siguientes ventajas:
Administracin simplificada
ASSM evita la necesidad de determinar manualmente los ajustes
correctos para mucho de los parmetros de almacenamiento. Slo un
parmetro fundamental SQL controla la asignacin de espacio: PCTFREE.
Este parmetro especifica el porcentaje de espacio a reservar en un
bloque para futuras actualizaciones.
Aumento de la concurrencia
Las transacciones mltiples pueden buscar en listas separadas los
bloques de datos libres, lo que reduce la contencin y espera. Para
muchas cargas de trabajo estndar, el rendimiento de la aplicacin con
ASSM es mejor que el rendimiento de una aplicacin que utilice MSSM.
La dinmica de afinidad de espacio en los casos de una Application
Clusters Oracle Real (Oracle RAC)
ASSM es ms eficiente y es el predeterminado para tablespaces
permanentes, gestionados localmente.
Nota:

UNIDAD III. ADMINISTRACIN DE BASES DE DATOS


Asumimos para este tema el uso de ASSM en todas sus discusiones de
espacio de almacenamiento lgico.
Segmento Manual de Gestin del Espacio
El mtodo MSSM utiliza una lista enlazada llamada lista free para
administrar el espacio libre en el segmento. Para un objeto de base de
datos que dispone de espacio libre, una lista free hace un seguimiento
de bloques debajo de la marca alta (HWM), que es la lnea divisoria entre
el segmento espacial que se utiliza del que no se utiliza todava.
Adems de PCTFREE, MSSM requiere para controlar la asignacin de
espacio los parmetros de SQL, tales como PCTUSED, FREELISTS, and
FREELIST GROUPS. Pctused establece el porcentaje de espacio libre que
debe existir en un bloque corriente para la base de datos, para ponerlo
en la lista free. Por ejemplo, si establece pctused a 40 en una sentencia
CREATE TABLE, entonces usted no puede insertar filas en un bloque en
el segmento hasta que al menos del 40% del espacio del bloque se
utilice.
A modo de ejemplo, supongamos que se inserta una fila en una tabla. La
base de datos comprueba en una lista la disponibilidad de la tabla para
el bloque disponible en primer lugar. Si la fila no puede encajar en el
bloque, y si el espacio usado en el bloque es mayor o igual a pctused, a
continuacin, la base de datos toma el bloque de la lista y busca otro
bloque. Si elimina filas del bloque, entonces la base de datos comprueba
si el espacio utilizado en el bloque es ahora menos de pctused. Si es as,
entonces la base de datos coloca el bloque al principio de la lista free.
Un objeto puede tener varias listas frees. De esta manera, mltiples
sesiones de Ejecucin de DML en una tabla puede usar listas diferentes,
lo que puede reducir la contencin. Cada sesin de base de datos utiliza
slo una lista free durante la duracin de su perodo de sesiones.
Como se muestra en la Figura 3.4, tambin se puede crear un objeto con
uno o ms grupos de la lista de frees, que son colecciones de listas
frees. Cada grupo tiene una lista maestra free que maneja las listas de
procesos frees individuales en el grupo. Sobrecarga los espacios para las
listas frees, especialmente para los grupos de lista free, que pueden ser
significativos.

UNIDAD III. ADMINISTRACIN DE BASES DE DATOS

Figura 3.4 Grupos free.


Como gestionar manualmente el espacio de segmento puede ser
complejo, se debe ajustar PCTFREE y pctused para reducir la migracin
de filas y evitar el desperdicio de espacio. Por ejemplo, si cada bloque
utilizado en un segmento esta medio lleno, y si pctused es 40, entonces
la base de datos no permite que se inserte en cualquiera de estos
bloques. Debido a la dificultad de los parmetros de ajuste de asignacin
de espacio, Oracle recomienda encarecidamente ASSM. En ASSM,
PCTFREE se determina si una nueva fila puede ser insertada en un
bloque, pero esta no utiliza listas free e ignora pctused.
Los Tablespaces Gestionados por Diccionarios.
Un espacio de tablas gestionado por diccionario utiliza el diccionario de
datos para la gestin de sus extensiones. Oracle actualiza las tablas en
el diccionario de datos cada vez que una extensin asigna o se libera
para su reutilizacin. Por ejemplo, cuando una tabla necesita una
extensin, la base de datos consulta las tablas de diccionario de datos, y
realiza
bsquedas de extensiones libres. Si la base de datos se
encuentra en el espacio, entonces se modifica una tabla de diccionario
de datos e inserta una fila en otra. De esta manera, la base de datos
gestiona el espacio mediante la modificacin y transferencias de
informacin.
El SQL que la base de datos ejecuta en segundo plano para obtener
espacio para los objetos de base de datos es el SQL recursivo. El uso
frecuente de SQL recursivo puede tener un impacto negativo en el
rendimiento, ya que las actualizaciones del diccionario de datos deben
ser serializados. Las Tablespaces gestionadas localmente (que es la que
viene por default, evitan este problema de rendimiento.
Visin general de los bloques de datos
Oracle gestiona el espacio de almacenamiento lgico de los archivos de

UNIDAD III. ADMINISTRACIN DE BASES DE DATOS


datos de una base de datos en unidades llamadas bloques de datos,
tambin conocidas como bloques o pginas de Oracle. Un bloque de
datos es la unidad mnima de base de datos de I / O.

Bloques de datos y bloques de sistema operativo


A nivel fsico, los datos de base de datos se almacenan en archivos de
disco compuesto por bloques del sistema operativo. Un bloque de
sistema operativo es la unidad mnima de datos que el sistema
operativo pueda leer o escribir. En contraste, un bloque de Oracle es una
estructura de almacenamiento lgico cuyo tamao y estructura no son
conocidas por el sistema operativo. La figura 3.5 muestra que bloques
de sistema de operacin puede variar en tamao de los bloques de
datos. Los datos de solicitudes de base de datos en mltiplos de bloques
de datos, que no opera los bloques del sistema.

Figura 3.5 bloques de datos y mdulos de sistema operativo.


Cuando la base de datos requiere de un bloque de datos, el sistema
operativo traduce esta operacin en una solicitud de datos en el
almacenamiento permanente. La separacin lgica de los bloques de
datos a partir de bloques de sistema operativo tiene las siguientes
implicaciones:
Las aplicaciones no tienen que determinar las direcciones fsicas de los
datos en el disco.
Datos de bases de datos pueden ser rayado o reflejado en varios discos
fsicos.
Base de datos de tamao de bloque
Cada base de datos tiene un tamao de bloque de base de datos. El
parmetro de inicializacin DB_BLOCK_SIZE establece el tamao del
bloque de datos para una base de datos cuando se crea. El tamao se
establece para el sistema y los espacios de tabla SYSAUX y es el valor

UNIDAD III. ADMINISTRACIN DE BASES DE DATOS


por defecto para el resto de espacios de tabla. El tamao del bloque de
base de datos no se puede cambiar, excepto por volver a crear la base
de datos. Si DB_BLOCK_SIZE no est definida, entonces el tamao de
bloque de datos por defecto es especfico del sistema operativo. El
tamao del bloque de datos estndar para una base de datos es de 4 KB
o 8 KB.
3.1.2. DEFINICIN Y CREACIN DEL ESPACIO ASIGNADO PARA CADA BASE
DE DATOS
Las bases de datos se almacenan en ficheros o archivos. Existen diferentes formas de
organizaciones primarias de archivos que determinan la forma en que los registros de un
archivo se colocan fsicamente en el disco y, por lo tanto, cmo se accede a stos.
Las distintas formas de organizaciones primarias de archivos son:
Existe una segunda forma de acceder a los datos llamada organizacin secundaria o
estructura de acceso auxiliar. Estas permiten que los accesos a los registros de un archivo
basado en campos alternativos, sean ms eficientes que los que han sido utilizados para la
organizacin primaria de archivos.
El DBMS asigna espacio de almacenamiento a las bases de datos cuando los usuarios
introducen create database o alter database. El primero de los comandos puede especificar
uno o ms dispositivos de base de datos, junto con la cantidad de espacio en cada uno de
ellos que ser asignado a la nueva base de datos.

Si se utiliza la palabra clave default o se omite completamente la


clusula on , el DBMS pone la base de datos en uno o ms de los
dispositivos predeterminados de base de datos especificados en
master..sysdevices

Para especificar un tamao (en este ejemplo, 4MB) para una base de datos que se va a
almacenar en una ubicacin predeterminada, utilice on default = size de esta forma:
Create database newpubs on default = 4
Para situar la base de datos en dispositivos especficos, d el nombre del dispositivo o
dispositivos en que desea almacenarla. Como la sintaxis indica, puede solicitar que se
almacene en ms de un dispositivo de base de datos, con una cantidad de espacio diferente
en cada uno. Todos los dispositivos mencionados en create database deben estar
enumerados en sysdevices . En otras palabras, deben haberse inicializado con disk init .

UNIDAD III. ADMINISTRACIN DE BASES DE DATOS


La instruccin siguiente crea la base de datos newdb y asigna 3MB en mydata y 2MB en
newdata . Como en el ejemplo anterior, la base de datos y el diario de transacciones no se
separan:
Create database newdb on mydata = 3, newdata = 2
PRECAUCIN! A menos que cree una base de datos pequea o que no sea crucial, site
siempre el diario en un dispositivo de base de datos aparte.
Si la cantidad de espacio solicitada a un dispositivo especfico de base de datos no est
disponible, el DBMS crea la base de datos con tanto espacio como sea posible en cada
dispositivo y muestra un mensaje informando el espacio asignado en cada uno. (Esto no se
considera un error.) Si hay menos espacio del mnimo necesario para una base de datos en
el dispositivo especificado (o en el predeterminado, si no se especifica un nombre), el
comando create database falla.
3.1.3. BITCORAS
Herramienta que permite registrar, analizar, detectar y notificar eventos que sucedan en
cualquier sistema de informacin utilizado en las organizaciones
Permite guardar las transacciones realizadas sobre una base de datos en especfico, de tal
manera que estas transacciones puedan ser auditadas y analizadas posteriormente. Pueden
obtenerse datos especficos de la transaccin como son la Operacin que se realiz, el
Usuario de BD y Windows, Fecha, Maquina y Programa.
Facilita la toma de decisiones y la Auditoria al contar con informacin actual e histrica de
los eventos que suceden en los sistemas de la organizacin.

ALERTAS
Registro y envo de notificaciones al momento en que se produzca un evento de
modificacin de datos en los sistemas de acuerdo a los criterios definidos por el usuario.
Envi de las notificaciones al correo electrnico de los usuarios especificados para cada
alerta, con posibilidad de envo de mensaje a un telfono mvil

BENEFICIOS

No se requiere hacer cambios en los sistemas


de produccin para la
implementacin de la bitcora.
A travs de la parametrizacin se generan las pantallas de consulta y reportes sin

UNIDAD III. ADMINISTRACIN DE BASES DE DATOS

necesidad de programar.
Acceso a la bitcora a travs de una aplicacin web.
Control de Acceso a la informacin de la bitcora a travs de Roles.
Se puede implementar en los sistemas de informacin que utilicen las principales
bases de datos del mercado: ORACLE, SQL SERVER, INFORMIX, SYBASE.
Permite hacer el seguimiento de todos los cambios que ha tenido un registro.
Registra informacin acerca de eventos relacionados con el sistema que la genera.
Reduce riesgos operacionales por cambios no autorizados.
Se envan alertas cuando se realizan cambios a la configuracin del sistema,
permitiendo corregir a tiempo malas configuraciones.
Permite dar el seguimiento a cada una de las alertas generadas de acuerdo a los
parmetros establecidos por el usuario.

La estructura ms ampliamente usada para grabar las modificaciones de la base de datos es


la Bitcora. Cada registro de la bitcora escribe una nica escritura de base de datos y tiene
lo siguiente:
1. Nombre de la transaccin: Nombre de la transaccin que realiz la operacin de
escritura.
2. Nombre del dato: El nombre nico del dato escrito.
3. Valor antiguo: El valor del dato antes de la escritura.
4. Valor nuevo: El valor que tendr el dato despus de la escritura.
NOTA: Recordar que el tema de bitcoras fue investigado por el estudiante, se le
recomienda repasar sintaxis de una bitcora en un DBMS para su implementacin

3.1.4 PARTICIONES
Una particin es una divisin de una base de datos lgica o sus elementos constituyentes en
partes independientes. La particin de bases de datos se hace normalmente por razones de
mantenimiento, rendimiento o manejo.
Una aplicacin popular y favorable es en un Sistema de Administracin de Base de Datos
Distribuida. Cada particin puede ser extendida hasta mltiples nodos, y los usuarios en el
nodo pueden hacer transacciones locales en la particin. Esto aumenta el rendimiento en
sitios que tienen transacciones regularmente involucrando ciertas vistas de datos, y
manteniendo la disponibilidad y la seguridad.
Esta particin puede hacerse creando bases de datos ms pequeas separadas (cada una con
sus propias tablas, ndices, y registros de transacciones) o dividiendo elementos
seleccionados, por ejemplo, solo una tabla.

UNIDAD III. ADMINISTRACIN DE BASES DE DATOS

Particin horizontal consiste en poner diferentes filas en diferentes tablas.


Por ejemplo, clientes con cdigos postales menores que 50000 estn almacenados en la
tabla ClientesEste, mientras que los clientes con cdigos postales mayores o iguales a
50000 estn almacenados en la tabla ClientesOeste.
Las dos tablas de particin son entonces ClientesEste y ClientesOeste, mientras que una
vista con una unin podra ser creada con las dos tablas para poder dar una vista completa
de todos los clientes.
Particin vertical consiste en crear miles de tablas con miles de columnas y crear tablas
para poner las columnas restantes.

Se puede particionar una tabla de 5 maneras diferentes:


1. Por rango: para construir nuestras particiones especificamos rangos de valores. Por
ejemplo, podramos segmentar los datos en 12 particiones: una para los contratos de
1950 a 1960, otra para los aos 60, los 70, 80, 90, la dcada del 2000 y la dcada
actual
ALTER TABLE contratos
PARTITION BY RANGE(YEAR(fechaInicio)) (
PARTITION partDecada50 VALUES LESS THAN (1960),
PARTITION partDecada60 VALUES LESS THAN (1970),
PARTITION partDecada70 VALUES LESS THAN (1980),
PARTITION partDecada80 VALUES LESS THAN (1990),
PARTITION partDecada90 VALUES LESS THAN (2000),
PARTITION partDecada00 VALUES LESS THAN (2010),
PARTITION partDecada10 VALUES LESS THAN MAXVALUE
);

UNIDAD III. ADMINISTRACIN DE BASES DE DATOS


2. Por listas: para construir nuestras particiones especificamos listas de valores
concretos.
ALTER TABLE contratos
PARTITION BY LIST(YEAR(fechaInicio)) (
PARTITION partDecada50 VALUES IN (1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959),
PARTITION partDecada60 VALUES IN (1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969),
PARTITION partDecada70 VALUES IN (1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979),
PARTITION partDecada80 VALUES IN (1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989),
PARTITION partDecada90 VALUES IN (1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999),
PARTITION partDecada00 VALUES IN (2000, 2001, 2002, 2003, 2004, 2005, 2006,2007, 2008, 2009),
PARTITION partDecada10 VALUES IN (2010, 2011, 2012, 2013, 2014, 2015, 2016,2017, 2018, 2019));

3. Por hash: MySQL se encarga de distribuir las tuplas automticamente usando una
operacin de mdulo. Slo hay que pasarle una columna o expresin que resulte en
un entero (el hash) y el nmero de particiones que queramos crear.
ALTER TABLE contratos
PARTITION BY HASH(YEAR(fechaInicio))
PARTITIONS 7;

4. Por clave: similar a la particin por hash, pero en este caso no necesitamos pasarle
un entero; MySQL utilizar su propia funcin de hash para generarlo. Si no se
indica ninguna columna a partir de la que generar el hash, se utiliza la clave
primaria por defecto.
ALTER TABLE contratos
PARTITION BY KEY()
PARTITIONS 7;

5. Compuesta: podemos combinar los distintos mtodos de particionado y crear


particiones de particiones
Por ltimo, un pequeo ejemplo de cmo afectara el particionado a una consulta sencilla
como obtener el nmero total de tuplas que cumplen una condicin. Estas son las
estadsticas de la consulta sin particionado (ni ndices)
EXPLAIN SELECT COUNT(*)

UNIDAD III. ADMINISTRACIN DE BASES DE DATOS


FROM contratos
WHERE fechaInicio BETWEEN '1950-01-01' AND '1955-12-31'

select_type

table

type

SIMPLE

contratos

ALL

key

rows

Extra

239796

Using where

Y este el resultado de aadir las particiones (ntese la palabra clave PARTITIONS para que
nos muestre tambin la informacin relativa a las particiones)
EXPLAIN PARTITIONS SELECT COUNT(*)
FROM contratos
WHERE fechaInicio BETWEEN '1950-01-01' AND '1955-12-31'

select_type

table

partitions

type

key rows

SIMPLE

contratos

partDecada50

ALL

8640

Extra

Using where

El nmero de tuplas que MySQL tiene que comprobar se ve disminuido en 2 rdenes de


magnitud.
3.1.5 ESPACIOS PRIVADOS
Un espacio privado permite que los administradores y redactores gestionen el conjunto
de datos del sitio. Algunas bases de datos tienen estos espacios privados llamados
comnmente paneles de control, que son formularios que aparecen al abrir la base de datos.
Los paneles de control sirven de "puerta principal" o "recibidor" de una base de datos en el
sentido de que dirigen a las personas hacia determinadas tareas, como introducir o buscar
datos. Sirven tambin para mantener alejados a los usuarios de las tablas que contienen los
datos en tiempo real.
Cuando reciba una base de datos, debe adentrarse ms all del panel de control para

UNIDAD III. ADMINISTRACIN DE BASES DE DATOS


averiguar cmo estn estructurados los datos, pero merece la pena echar un vistazo inicial
al panel de control. Le puede ofrecer algn indicio sobre las tareas que el diseador de la
base de datos consider que realizaran los usuarios habitualmente con los datos.
Puede hacer clic en los vnculos del panel de control para ver qu objetos, como
formularios e informes, abren.
3.1.6 ESPACIOS PARA OBJETOS
Los DBMS se basan en archivos para almacenar datos, y estos archivos, o conjuntos de
datos, residen en medios de almacenamiento, o dispositivos. Una buena parte del trabajo
del DBA implicar la planificacin para el almacenamiento real de la base de datos.
Algunas tecnologas de almacenamiento son ms adecuadas que otras. Sin embargo, la
naturaleza mecnica de la unidad de disco los hace ms vulnerables al fracaso de los
componentes de otro equipo.
Adems, las formas en que las unidades de disco son utilizados por las bases de datos
pueden hacer que la gestin del almacenamiento impredecibles, como la barra lateral
"Modern DBMS de uso de disco Puede usarse RAID para mejorar la seguridad de los
datos.
Para aplicaciones de misin crtica la integridad de los datos puede ser ms importante que
la disponibilidad de datos. Si el soporte es poco fiable y un fallo de las causas de corrupcin
de datos, los datos perdidos puede ser ms de un problema que el tiempo de inactividad. Es
imperativo, por tanto, que las soluciones de almacenamiento de base de datos para
protegerlos a toda costa. La recuperacin de datos desde medios de almacenamiento lleva
mucho ms tiempo en completarse que la recuperacin de datos desde la memoria cach o
la memoria.
El rendimiento de la base de datos depende de la entrada y salida a disco. La cantidad de
datos almacenados es mayor que nunca antes, y los datos se almacenados por ms tiempo.
Algunos DBMS permiten al tamao de los archivos temporales de expandirse y contraerse
de forma automtica. Dependiendo del tipo y la naturaleza de las operaciones de base de
datos en proceso, esta fluctuacin puede provocar picos de uso del disco
El crecimiento de la capacidad de almacenamiento aumenta an ms la complejidad de la
gestin de datos y bases de datos. Muchas organizaciones estn implementando nuevas
tecnologas de almacenamiento, tales como almacenamiento en red (NAS) y redes de rea
de almacenamiento (SAN), para ayudar a controlar la cantidad cada vez mayor de
almacenamiento necesario para los usos modernos. La gestin del almacenamiento en el
entorno dinmico de hoy es una tarea difcil DBA.
Hay muchos problemas de almacenamiento que deben ser resueltos antes de que un DBA
pueda crear una base de datos. Uno de los temas ms importantes es la cantidad de espacio

UNIDAD III. ADMINISTRACIN DE BASES DE DATOS


para permitir la base de datos.
El clculo espacial debe tener en cuenta no slo tablas, ndices, sino tambin, y
dependiendo del DBMS, el registro de transacciones. Cada una de estas entidades
probablemente requerir un archivo separado o conjunto de datos, para el almacenamiento
persistente.
3.2.SEGMENTOS
Un segmento contiene un tipo especfico de objetos de la base de datos, como por ejemplo
una tabla. Un segmento est compuesto de extensiones que definen el tamao disponible
para el segmento. A medida que se llenan las extensiones se van aadiendo nuevas
extensiones, es aquel espacio reservado por la base de datos, dentro de un datafile, para ser
utilizado por un solo objeto. As una tabla (o cualquier otro objeto) est dentro de su
segmento, y nunca podr salir de l, ya que si la tabla crece, el segmento tambin crece con
ella.
Fsicamente todo objeto en base de datos no es ms que un segmento dentro de un datafile.
Se puede decir que, un segmento es a un objeto de base de datos, lo que un datafile a un
tablespace; el segmento es la representacin fsica del objeto en base de datos (el objeto es
solo una definicin lgica).

Los segmentos son los equivalentes fsicos de los objetos que almacenan datos. El uso
efectivo de los segmentos requiere que el DBA conozca los objetos, que utiliza una
aplicacin, cmo los datos son introducidos en esos objetos y el modo en que sern
recuperados.
Un segmento est constituido por secciones llamadas extensiones, que son conjuntos
contiguos de bloques. Una vez que una extensin existente en un segmento no puede
almacenar ms datos, el segmento obtendr del espacio de tabla otra extensin. Este
proceso de extensin continuar hasta que no quede ms espacio disponible en los ficheros
del espacio de tablas, o hasta que se alcance un nmero mximo de extensiones por
segmento.
Existen 5 tipos de segmento:

De datos.
De ndices.
De rollback.
Temporales.
De bootstrap.

UNIDAD III. ADMINISTRACIN DE BASES DE DATOS

3.3. MEMORIA COMPARTIDA.


La memoria compartida contiene todos los datos intervenidos, como:

Grupo de memorias intermedias


Tabla de bloqueos
Memoria intermedia del registro, que contiene las entradas del registro que esperan
a ser volcadas en el almacenamiento estable
Planes de consulta en cach, que se pueden reutilizar si se enva de nuevo la misma
consulta

La exclusin mutua se puede implementar por medio de funciones del sistema operativo
llamadas semforos. Implementaciones alternativas, con menos sobrecargas, utilizan
instrucciones atmicas especiales soportadas por el hardware de la computadora; un tipo de
instruccin atmica comprueba una posicin de la memoria y la establece a uno
automticamente. Los mecanismos de exclusin mutua tambin se utilizan para
implementar pestillos.

3.4. INSTANCIAS MLTIPLES


Se llama instancia mltiple al hecho de poder ejecutar un programa ms de una vez al
mismo tiempo. Hay programas que no admiten ms que una sola instancia, es decir que si
ya se est ejecutando, por ms que lo cliquees de nuevo en el icono o en el men no
aparecer un nuevo ejemplar del programa. Con las bases de datos se complica un poco
porque si un usuario modifica un registro que otro usuario tiene tambin abierto, la
modificacin que se haga en una instancia debe reflejarse de inmediato (actualizarse) en
cualquier otra instancia abierta de la misma base de datos.
Sin embargo, en las bases de datos se puede seleccionar la opcin en el diseo de la BD, y
se reflejarn de inmediato las modificaciones en todas las instancias abiertas
En programacin, una instancia se produce con la creacin de un objeto perteneciente a una
clase (se dice que se instancia la clase). El objeto que se crea tiene los atributos,
propiedades y mtodos de la clase a la que pertenece. Los objetos y sus caractersticas se
usan en la construccin de programas, ya sea como contenedores de datos o como partes
funcionales del programa. Los objetos tambin puede ser ocurrencia de las clases.
En un entorno Oracle RAC mltiples instancias pueden tener la misma base de datos
abierta al mismo tiempo. Subir o bajar una instancia no interfiere con la operacin del resto
de las instancias que componen el clster.

UNIDAD III. ADMINISTRACIN DE BASES DE DATOS


Los procedimientos para subir y bajar instancias en Oracle RAC son idnticos a los
procedimientos que se utilizan en una configuracin single instance. La nica diferencia se
da en el comando SHUTDOWN TRANSACTIONAL. El comando SHUTDOWN
TRANSACTIONAL con la opcin LOCAL permite bajar una instancia una vez que todas
las transacciones activas de dicha instancia hicieron COMMIT o ROLLBACK. Las
transacciones que se estn ejecutando en otras instancias no interfieren sobre esta
operacin. Si se omite la opcion LOCAL, Oracle espera a que todas las transacciones de
todas las instancias hagan COMMIT o ROLLBACK.}
Las herramientas que se pueden utilizar para bajar y subir instancias son:

Enterprise Manager

SqlPlus

Server Control (srvctl)

También podría gustarte