ARQUITECTURA DE ORACLE

Arquitectura de ORACLE 

Es indispensable conocer los factores y parámetros que influyen en el funcionamiento de nuestro SGBD para poder solucionar los problemas que se pueden plantear en cuanto nos salgamos de las aplicaciones estándares y básicas de BD, o en cuanto tengamos algún problema.
Tiene tres componentes básicos.
Las estructuras de memoria:Almacenar los datos y el codigo ejecutable.
Procesos: Que corren en el sistema de base de datos y las tareas de cada usuario conectando a la base de datos.
Archivos: Sirven para el almacenamiento físico, en disco, de la información de la base de datos.

dibujo1.jpg

 

ESTRUCTURAS DE MEMORIA

Hay dos clases, una de ellas compartida por todos los usuarios conectados y otra dedicada al trabajo de cada uno de ellos.
El área global del sistema o SGA, es el área compartida por todos los usuarios, esta dividida en tres partes.
*Fondo común compartido(Shared pool), se mantiene el dicionario de datos y las areas compartidas de las órdenes SQL que se solicita para su procesamiento.
*Area de memoria rápida(Database buffer cache), se mantiene los datos traídos por las órdenes SQL de los usuarios conectados a la base de datos.
*Area de registros de rehacer(REdo lof buffer), se registran los cambios hechos a la base de datos.
Cada sesión de usuario se crea también en memoria llamada área global o PGA, esta área no se comparte con otras sesiones de usuario.

LOS ARCHIVOS

dibujo2.jpg
Se clasifican en cuatro grupos

*Tipo de Archivos
*Los Archivos de Datos(DAtafiles):
Son los únicos que contienen los datos de los usuarios de la base de datos, sirven para el almacenamiento físico de las tablas, índices o agrupamientos y procedimientos.
*Espacio de Tablas(Tablespaces):Unidades lógicas para el almacenamiento de los datos, permiten manejar o controlar el espacio en los discos.

dibujo3.jpg

No todos los espacios de tablas pueden estar en un mismo disco, para un buen desempeño y manejo del esapacio de almacenamiento es preferible crear es distintos discos.
se puede tener un solo espacio de tablas pero es mejor en varios espacios de tablas, por cada aplicación para los usuarios y para los índices.
El espacio de tablas SYSTEM se crea automáticamente al crear la BD, aqui se guardan los archivos de control,el diccionario de datos y la información de los procedimientos almacenados.
EL DBA crea un espacio de tablas de esta forma: CREATE TABLESPACE índices
datafile’discod/bd/datos1.dbf’size 300m
Los archivos de datos datafiles almacena datos del usuario, estos archivos de datos son fijos en tamaño sino hay el suficiente espacio se debe adicionar más.
Si no hay espacio se tiene dos alternativas.
1. Adicionar un nuevo archivo de datos, asi ALTER TABLESPACE
ALTER TABLESPACE indices
add datafile’discod/bd/datos3·dbf’size 150m
2. Crear un nuevo espacio de tablas.
En la creación de una BD, el DBA debe estimar los requerimientos de almacenamiento, el nombre, tamaño y localización de los archivos de recuperardatos, junto con el número máximo de archivos de datos permitido.
EL DBA puede crear varios espacios de tablas en discos separados para el crecimiento de la BD teniendo una mejor administración de BD.

dibujo4.jpg
Una extención esta hecha por bloques que de acuerdo con el Sistema Operativo posee un nýmero de bytes, el tamaño del blque es dependiente  del sistema y nunca puede ser menor al que este maneja.

dibujo5.jpg
En una BD puede existir otros objetos que no contiene datos como las vistas, sinónimos y secuencias, todo objeto debe pertenecer a un esquema que puede ser creado 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. Al nombre de un objeto siempre se le antepone el nombre del esquema(juan.empleado)con la orden Create table empleado as select *from juan.empleado;
3. Otro usuario lo crea para uno, la orden
Create table maria.proyecto(codigo number primay key…etc)
tablespace planeación
storage(initial 1000 next 1000
minextentents 6…)

REGLAS PARA EL ALMACENAMIENTO DE OBJETOS EN LA BD

dibujo6.jpg

 

1. Un objeto puede almacenarse en uno o más archivos de datos (datafiles)pero de un solo espacio de tablas(tablaspace)
2. Dos objetos diferentes de un esquema pueden estar en dsitintos tablespaces
3. Los objetos pueden almacenarse en multiples discos como jane.emp es almacenado en el archivo de datos 1 sobre el disco A y parte en archivo de datos 2 sobre el disco B
*ARCHIVOS DE CONTROL(COntrol Files)
Descripción física y dirección de los archivos de la BD y de los archivos de rehacer, en etos archivos se especifica que datafiles conforman la BD para poder tener el acceso a los datos o para recuperar la base de datos ante una falla.
Los archivos de control se crea automaticamente con la orden CREATE DATABASE y no son editables, se actualizan automáticamente.
*Archivos de rehacer(redo log files), posee los cambios hechos a la base de datos para la recuperación ante fallas o manejo de transacciones, el próposito es de servir de respaldo de los datos en la memoria RAM, debe estar conformado por dos grupos mínimoy cada grupo debe estar almacenado en discos separados.
El DBMS va sobrescribiendo sobre la información más vieja cuando se agota el espacio en estos grupos de archivos.
*Archivos fuera de linea(archived files), son archivos opcionales donde se guarda información vieja de los archivos de rehacer son convenientes para los respaldos de la base de datos.

LOS PROCESOS

Son programas que se ejecutan para permitir el acceso de datos, estos se cargan en memoria y son transparentes para los usuarios, se clasifican en tres grupos: Procesos de base, de usuario y procesos servidores.
*Los Procesos de Base o Soporte
Los procesos de base(background), se encargan de traer datos desde y hacia la SGA, mejorando el desempeño de tareas impartidas por todos los usuarios, tiene su propia área de memoria.
Los procesos de base o soporte son lso siguientes:
DBWR(DAtabase writer), maneja los buffers de memoria caché para que los procesos del usuario encuentren uno de ellos disponibles, es un proceso obligatorio, escribe los bloques de datos modificados por los usuarios en los archivos que compone la BD.
LGWR(Log writer), escribe datos desde la SGA a los archivos de rehacer(redo log files)que sirve en caso de fallas en la instancia, este proceso es obligatorio y es el encargado de escribir y leer estos archivos, antes de empezar a sobrescribir en uno de ellos se marca el punto de verificación y LGWR envía las orden de escritura en los datafiles al proceso DBWR.
LCKn, Lock(lock processes), Bloqueos entre instancias en ambientes con servidores paralelos(hasta 10 servidores), es opcional.
CKPT(Check point), la comprobación es un proceso opcional, cuando los usuarios conectados a la BD realizan solicitudes de examenes de datos.
SNPn(Snapshot process), refresca los snapshot ó replicas de tablas que se usan en ambientes distribuidos.
SMON(System monitor), recupera el sistema ante una falla de una instancia.
RECO(Recovery), recupera ante fallas, en una transacción en ambientes distribuidos.
ARCH(Archive), copia los registros de rehacer de la RAM en archivo de datos, permite la recuperación ante fallas de los medios magneticos.
PMON(Process Monitor), ante una falla de un proceso de usuario se recupera, libera los recursos del proceso ue falló.
*PROCESOS DE USUARIO

dibujo7.jpg

Cuando un usuario se conecta a la BD, se crea un proceso de usuario encargado de ejecutar el código de aplicación del usuario y manejar el perfil del usuario con sus variables de ambiente, los procesos de usuario no se pueden comunicar directamente con la BD lo hacen a travez  de servidores
*PROCESOS SERVIDORES
Ejecutan órdenes SQL de los usuarios y llevan los datos al»database buffer cache»,para que los procesos de usuario puedan tener acceso a los datos, hay distintas arquitecturas en ORACLE según los tipos de servidores.
*INSTANCIA DE ORACLE
Conjunto de estructuras de memoria y procesos que acceden los archivos de BD, una misma BD puede ser accedida por múltiples instancias,cada una de ellas residiendo en una máquina diferente.
Pasos cuando el sistema de BD inicia.
1. Iniciar la instancia. ORACLE lee el archivo de parámetros y configura la instancia donde se crea la SGA y se activan los procesos de base, pero aún no se puede realizar nada.
2. Montar la base de datos, Preparar el sistema para su uso trayendo a la RAM el diccionario de datos.
3. Abrir la base de datos. Se abren los archivos y los usuarios ya pueden acceder a los datos.
De acuerdo como se defina la instancia ORACLE por sus parámetros se determina que tan poderoso es el motor, los parámetros se definen en el archivo INIT.ORA.
db_block_buffers=número de bloques de BD en la SGA, un buffer por cada bloque.
db_block_size=tamaño del bloque de la BD.
shared_pool_size=tamaño del área compartida en bytes
Aquí se especifica el número de usuarios concurrentes, transacciones concurrentes y los nombres de los archivos para la BD.
Estos parámetros se ajustarían durante el proceso de afinamiento, ya que inciden en el desempeño del sistema como:
database_name=nombre de la base de datos.
db_block_size=tamaño del bloque.

Tomado de:
http://xue.unalmed.edu.co/~mfcabrera/db/arqoracle.pdf

Un pensamiento en “ARQUITECTURA DE ORACLE

Deja un comentario