miércoles, 13 de julio de 2011

Archivos de una base de datos


Los archivos que maneja ORACLE, se clasifican en cuatro grupos:
 




o   Los Archivos de Datos (Datafiles): estos archivos sirven para el almacenamiento físico de las tablas, índices o agrupamientos (clusters) y procedimientos. Estos archivos, son los únicos que contienen los datos de los usuarios de la base de datos.

Las unidades lógicas más grandes manejadas por ORACLE, para el almacenamiento de los datos, son llamadas espacios de tablas (tablespaces) que le permiten manejar o controlar el espacio en los discos.


No es necesario que todos los espacios de tablas estén en un mismo disco.
Cuando se crean en distintos discos se busca un mejor desempeño y mejor manejo del espacio de almacenamiento.

Una base de datos puede tener un sólo espacio de tablas; pero, por las razones anteriores, se recomiendan varios espacios de tablas. Como mínimo, se debe tener un espacio de tablas del sistema, un espacio de tablas por cada aplicación, un espacio de tablas para los usuarios y otro espacio de tablas para los índices.

El espacio de tablas SYSTEM se crea automáticamente cuando se crea una base de datos. Allí se guardan los archivos de control y el diccionario de datos y toda la información de los procedimientos almacenados.

El DBA puede crear un espacio de tablas con una orden, como la siguiente:
CREATE TABLESPACE
índices datafile ‘discod/bd/datos1.dbf’ size 300m;

Los archivos de datos (datafiles) almacenan los datos del usuario. Sólo se requiere de uno para una base de datos. Sin embargo, los archivos de datos son fijos en tamaño e inalterables; cuando no haya espacio se deben adicionar más para incrementar el espacio de almacenamiento.

Cuando se agote el espacio, un DBA, tiene dos alternativas:

A.    Adicionar un nuevo archivo de datos, con la orden ALTER TABLESPACE:
ALTER TABLESPACE indices add datafile ‘discod/bd/datos3.dbf’ size 150m;
B.     Crear un nuevo espacio de tablas, como se mostró previamente.
En el momento de la creación de una base de datos, el DBA debe planear o estimar los requerimientos de almacenamiento y también el nombre, tamaño y localización de los archivos de datos, junto con el número máximo de archivos de datos permitido para la base de datos.

El DBA puede crear varios espacios de tablas (tablespaces) en discos separados para planear el crecimiento de la base de datos y hacer una mejor administración de la base de datos.

Un objeto de datos, por su parte, es una estructura lógica que puede ser una tabla, un archivo de índice, un archivo temporal, un archivo de deshacer o un clúster.
Estos objetos se almacenan físicamente en segmentos que se componen de extensiones (extents).


A su vez, una extensión está hecha de bloques que, de acuerdo con el sistema operativo subyacente, puede tener un número determinado de bytes y que el
DBA especifica, en el momento de la creación de la base de datos. El tamaño del bloque es dependiente del sistema operativo y nunca puede ser menor al que éste maneja.


En una base de datos pueden existir otros objetos que no contienen datos como las vistas, los sinónimos y las secuencias. Sin embargo, todo objeto independientemente si contiene datos, o no, debe pertenecer a un esquema. Por eso, una colección de objetos de un usuario se denomina esquema.
Un objeto se puede crear en un esquema de tres formas:
1.      Si un usuario da una orden de creación de un objeto, por defecto, el sistema lo crea en su propio esquema.
2.      Copiando el objeto de otro usuario (al nombre de un objeto siempre se le antepone el nombre del esquema, por ejemplo juan.empleado) con una orden como:


Create table empleado as select * from juan.empleado;
3.      Otro usuario lo crea para uno, como en la orden:
Create table maria.proyecto (codigo number primay key,
…..
….. )
tablespace planeacion
storage (initial 1000 next 1000
minextents 1 maxextentents 6….)

Reglas para el almacenamiento de objetos en la base de datos





1.      Un objeto puede almacenarse en uno más archivos de datos (datafiles) pero de un sólo espacio de tablas (tablespace).
2.      Dos objetos diferentes de un esquema, pueden estar en distintos tablespaces.
3.      Los objetos pueden almacenarse en múltiples discos. Por ejemplo, parte de jane.emp es almacenado en el archivo de datos 1 sobre el disco A y parte en el archivo de datos 2 sobre el disco B.

§  Archivos de control (Control Files): tienen la descripción física y dirección de los archivos de la base de datos y de los archivos de rehacer, para el arranque correcto de la base de datos. En estos archivos se especifican cuáles datafiles conforman la base de datos para poder tener acceso a los datos o para poder recuperar la base de datos, ante una falla.
Los archivos de control se crean automáticamente cuando se da una orden
CREATE DATABASE y no son editables, pues también se actualizan automáticamente.

§  Archivos de rehacer (redo log files), tienen los cambios hechos a la base de datos para la recuperación ante fallas o para el manejo de las transacciones.
Poseen los valores antes de una transacción, la orden ejecutada y, opcionalmente, el valor después de la transacción. El principal propósito de estos archivos es servir de respaldo de los datos en la memoria RAM. Este conjunto de archivos debe estar conformado por dos grupos como mínimo y se recomienda que cada grupo esté almacenado en discos separados. El DBMS utiliza la técnica de ir sobreescribiendo sobre la información más vieja, cuando se agota el espacio en estos grupos de archivos.

§  Archivos fuera de línea (archived files) son archivos opcionales donde se guarda información vieja de los archivos de rehacer, muy convenientes para los respaldos de la base de dato

No hay comentarios:

Publicar un comentario