You are on page 1of 14

UNIDAD II

Arquitectura del Gesto

2.1.1 ESTRUCTURAS DE MEMORIAS Y


PROCESOS DE LA INSTANCIA
Una base de datos Oracle consta de una estructura lgica y de una estructura fsica.
Como se trata de dos estructuras separadas, el almacenamiento puede gestionarse de
forma independiente sin afectar al acceso a las estructuras lgicas de los datos, lo que
se conoce como independencia fsica.
Cada base de datos Oracle est formada por tres tipos de archivos:
1. uno o ms archivos de datos
2. dos o ms archivos de registro de operaciones (log)
3. uno o ms archivos de control.

La estructura lgica de una base de datos se


compone de:
1.- Los tablespaces
2.- Los objetos de un esquema de BD(Tablas, - Indices, - Vistas, - Clsters, - Secuencias
y - Sinnimos.)
1.- Tablespaces.

Un espacio de tablas es una divisin lgica de la BD. Cada BD tiene al menos


uno (SYSTEM). Un espacio de tablas puede pertenecer slo a una BD. Los
espacios de tablas se utilizan para mantener juntos los datos de usuarios o de
aplicaciones para facilitar su mantenimiento o mejorar las prestaciones del
sistema.

ORACLE

UNIDAD II

Arquitectura del Gesto

Hay varias razones que justifican este modo de organizacin de las tablas en espacios
de tablas:

Un espacio de tablas puede quedarse offline debido a un fallo de disco,

permitiendo que el SGBD contine funcionando con el resto.

Los espacios de tablas pueden estar montados sobre dispositivos pticos si son
de slo lectura.

Permiten distribuir a nivel lgico/fsico los distintos objetos de las aplicaciones.

Son una unidad lgica de almacenamiento, pueden usarse para aislar


completamente los datos de diferentes aplicaciones.

Oracle permite realizar operaciones de backup/recovery a nivel de espacio de


tabla mientras la BD sigue funcionando.

Tipos de tablespaces.

ORACLE

UNIDAD II

Arquitectura del Gesto

System
- El diccionario de la Base de Datos, los segmentos de
rollback temporales, La ayuda en lnea, - Aquellas tablas que el producto
ORACLE utilice para su funcionamiento, - La definicin de los usuarios creados.
Sysaux
datos auxiliares
Temp
es utilizada cuando la PGA no es suficiente
Undo
almacena el histrico de los datos

Dentro de cada espacio de tabla se pueden almacenar objetos de distinta naturaleza:


tablas, ndices, etc. Pero no se pueden mezclar si ms. Se necesita una manera de
separarlos, y eso son los segmentos.
Se pueden almacenar ms de un segmento por espacio de tabla. Un segmento est
contenido en su totalidad en un espacio de tabla. Un segmento est constituido por un
conjunto de extensiones, que no son ms que grupos de bloques de disco ORACLE
Estructuras Lgicas de almacenamientos:

Bloque de datos
Extensin
Segmentos

El nivel ms pequeo de granularidad es el del bloque de datos: nmero especfico de


bytes contiguos de espacio fsico en el disco. (tamao mnimo de 2K, el bloque fsico
del disco y que depende el sistema operativo no tiene por que coincidir con ste).
El siguiente nivel es el de extensin, que es un nmero especfico de bloques de datos
contiguos en el disco.

ORACLE

UNIDAD II

Arquitectura del Gesto


Por ltimo el segmento es un conjunto de
extensiones
utilizadas
para
almacenar
alguna estructura lgica.

Tipos de segmentos

de datos: almacenan las tablas.

de ndices: permiten un acceso rpido a los datos dependiendo de la cantidad


de los mismos (rboles B). Las consultas que slo referencian a columnas
indexadas se resuelven en el ndice. Establecen un control de unicidad (los
ndices son automticos cuando se definen claves primarias). Cada ndice ocupa
un segmento independiente del segmento de datos y deberan estar en un
espacio de tablas distinto al de los datos, para mejorar el rendimiento.

de rollback: son objetos internos de la BD que permiten efectuar la


restauracin de las transacciones no validadas asegurando la consistencia en
lectura. La estructura de los registros de rollback es :

ORACLE

Identificador de la transaccin.

Direccin del bloque donde est la tabla.

Nmero de fila.

Nmero de columna.

Valor del dato antiguo (antes de ser modificado).

UNIDAD II

Arquitectura del Gesto

Son tan importantes que una BD no puede arrancar si no puede acceder al


menos a un segmento de rollback. Si la BD tiene mltiples espacios de tablas,
deben existir al menos dos segmentos de rollback y cada segmento de rollback
debe tener al menos dos extensiones, reutilizables de manera cclica. Esto
segmentos son un objeto compartido de la BD, aunque se puede asinar un
segmento de rollback particular a una transaccin dada.

temporales: son creados por Oracle para un uso temporal cuando debe
realizar una ordenacin que no le cabe en memoria, y en las operaciones:
create index, order by, group by, distinct, union, intersect, minus. Son
eliminados cuando la sentencia finaliza.

2.- Los objetos del esquema de la base de datos. Un esquema es una


coleccin de objetos. Los objetos del esquema son las estructuras lgicas que hacen
referencia directa a los datos de la base de datos.
Oracle define esquema como la coleccin de objetos o estructuras lgicas que
corresponden directamente a los datos almacenados, y crea un nuevo esquema por
cada usuario que crea objetos en la base de datos. No hay ninguna relacin directa
entre tablespace y esquema, objetos del mismo esquema pueden estar en diferentes
tablespaces y un mismo tablespace puede almacenar distintos esquemas.

2.1.2 ESTRUCTURA FSICA


DE DATOS

DE UNA BASE

Una B.D. tiene uno o ms ficheros de datos. Estos ficheros son de tamao fijo y se
establecen en el momento en que se crea la base de datos o en el momento en el que
se crean tablespaces.
Estos archivos de datos tienen estas caractersticas:
Un archivo de datos slo puede estar asociado a una base de datos.
Los archivos de la base de datos tienen propiedades configuradas de forma
que puedan ampliarse cuando la base de datos se quede sin espacio.
Uno o ms archivos de datos forman una unidad de almacenamiento lgica
denominada tablespace.

ORACLE

UNIDAD II

Arquitectura del Gesto

Para mejorar el rendimiento de la base de datos, los datos que se leen de los archivos
de datos se guardan en la memoria cach de Oracle. De esta forma cuando un usuario
solicita acceder a ciertos
datos, si estos no estn en la cach, son ledos de los
archivos de datos correspondientes y posteriormente guardados en la cach. En cuanto
a la escritura esto no ocurre exactamente igual. Los datos nuevos o modificados no
siempre se escriben directamente en los archivos de datos. De esta forma se reduce el
nmero de accesos a disco. Lo que ocurre es que los datos se colocan en memoria y se
escriben de una vez mediante un proceso background de escritura.

Ficheros redo log


En ellos se graba toda operacin que se efectue en la BD (insert, update, delete,
create, alter o drop) sobre la BD y poder recuperarla ante un error, y sirven de
salvaguarda de la misma. Tiene que haber por lo menos 2, uno de ellos debe estar
activo, online, y se escribe en ellos de forma cclica.

Ficheros de control
Mantienen la informacin fsica de todos los ficheros que forman la BD, camino
incluido; as como el estado actual de la BD. Son utilizados para mantener la
consistencia interna y guiar las operaciones de recuperacin. Son imprescindibles para
que la BD se pueda arrancar. Contienen:
o

Infomacin de arranque y parada de la BD.

Nombres de los archivos de la BD y redo log.

Informacin sobre los checkpoints.

Fecha de creacin y nombre de la BD.

Estado online y offline de los archivos.

Debe haber mltiples copias en distintos discos, mnimo dos, para progerlos de los
fallos de disco. La lista de los ficheros de control se encuentra en el parmetro
CONTROL_FILES, que debe modificarse con la BD parada.

Se pueden visualizar los nombres y estado de los ficheros de redo log

SVRMGR> select group#, status, substr(member,1,60) from


v$logfile;
ORACLE

UNIDAD II

Arquitectura del Gesto

INSTANCIA
Una instancia es el conjunto de procesos que se ejecutan en el servidor as como
la memoria que comparten para ello.

ORACLE

UNIDAD II

ORACLE

Arquitectura del Gesto

UNIDAD II

Arquitectura del Gesto

ESTRUCTURA DE MEMORIA Y PROCESOS


SGA: System Global Area.
Es la abreviatura de System Global Area, rea Global de Sistema. Est situada al inicio
de
los datos de la instancia y contiene los datos e informacin de control de la instancia.
Est formada por las siguientes estructuras:

Shared pool, fondo comn compartido. Almacena las ltimas instrucciones


SQL y PL/SQL ejecutadas. Posee dos estructuras internas:
o Cach de instrucciones (Library cache). Almacena las ltimas
instrucciones SQL y PL/SQL ejecutadas. Administra los datos mediante
algoritmo LRU.
o Cach del diccionario de datos. Almacena las ltimas definiciones de
la
base de datos utilizadas (tablas, ndices, privilegios, usuarios,...) Cada vez que
una instruccin utiliza un nombre de la base de datos (tabla, ndice,...) se
comprueba en el diccionario de datos y se almacena en este cach. De este
modo la siguiente vez no hace falta acceder al diccionario de datos real.
Cach buffer de la base de datos. Almacena los ltimos bloques de datos
accedidos por los usuarios.
Buffer de archivo rehacer. Almacena los ltimos cambios realizados a los
bloques de datos de la base de datos.
Large pool. Opcional. Se utiliza como memoria de sesin y para realizar
operaciones de backup.

ORACLE

UNIDAD II

Arquitectura del Gesto

Java pool. Opcional. Se utiliza como cach de los comandos Java.

Otras estructuras

PGA
Zona global de los programas (Program Global Area). En ella se almacenan los datos
correspondientes a un proceso (slo un proceso puede utilizar esta rea). Incluye:
reas de ordenacin. Para acelerar las tareas de ordenacin de datos.
Informacin de sesin. Usuario, privilegios,...
Estado del cursor. Tareas SQL actualmente en ejecucin
Espacio de pila. Variables y otros datos
En Oracle los procesos pueden ser de estos tipos:

Proceso de usuario. Lanzado por el usuario para pedir interaccin con la base
de
datos.

Proceso de servidor. Hacen de enlace entre los procesos de usuarios y el


servidor
Oracle. Se utilizan como manejadores de los procesos de usuario. Los comandos
de
usuario se envan a estos procesos que se encargan de solicitar peticiones a la
base
de datos mediante el interfaz de programas de Oracle (OPI, Oracle Program
Interface).

procesos en segundo plano (background). Cada instancia de Oracle arranca


una serie de procesos background. Los procesos obligatorios son

ORACLE

DBWR (DataBase WRiter). Proceso encargado de escribir en los ficheros


de datos los buffers ms antiguos de la memoria, para que la base de datos
vaya
almacenando los cambios.
LGWR (LoG WRiter). Escribe los datos a los ficheros rehacer (redo) desde
la cach de archivos rehacer.
CKPT. Actualiza todas las cabeceras de los ficheros de datos para que
aparezca
la nueva disposicin de datos. Esto ocurre cuando se genera un punto de
comprobacin.
SMON (System MONitor). Permite recuperar la instancia de la base de
datos en caso de cada fatal (cuando el sistema falla por ejemplo). Cuando
se
reinicia de nuevo la instancia de la base de datos. PMON (Process MONitor).
Es el encargado de gestionar adecuadamente
los procesos que fallan. Ante cadas de procesos, PMON se encarga de
restaurar
los datos adecuadamente.
SQL *Net Listener. Es el encargado de encaminar por una red solicitudes de
un cliente a un servidor de base de datos Oracle. Este proceso escuchador
(listener) est tanto en el cliente como en el servidor. Puede encaminar
solicitudes que se dirigen a varias instancias.
Otros

UNIDAD II

Arquitectura del Gesto

2.1.8 COMANDOS GENERALES DE ALTA Y


BAJA DEL DBMS
1. startup

Una vez conectados como system se debe conectar a system con el rol de sysdba
SQL> CONNECT SYSTEM AS SYSDBA
En el estado que se encuentra la base de datos es por default en base de datos
abierta, por lo tanto se deber hacer el proceso de SHUTDOWN para cerrar cada uno
de los proceso
SQL> SHUTDOWN

ORACLE

UNIDAD II

Arquitectura del Gesto

Posteriormente para iniciar en cada etapa, primero debe iniciar en un nivel de instancia

SQL> STARTUP NOMUNT

Y para cambiar de un estado a otro se define


SQL> ALTER DATABASE MOUNT;
Nivel de base de datos montada
SQL> ALTER DATABASE OPEN;
Nivel de base de datos abierta

2. SHUTDOWN
SHUTDOWN NORMAL
Espera a que los usuarios conectados actualmente finalicen TODAS las operaciones.
Evita nuevas conexiones. Los usuarios que intentan conectarse reciben el mensaje
"Shutdown in progress".
Cierra y desmonta la B.D. Cierra la SGA para los procesos background.
No necesita recuperacion al arrancar la base de datos.
SQLPLUS> shutdown normal

ORACLE

UNIDAD II

Arquitectura del Gesto

SHUTDOWN IMMEDIATE
Espera a que las transacciones actuales se completen.
Evita nuevas transacciones y nuevas conexiones. Los usuarios que intentan conectarse
o los que ya estn conectados al intentar realizar una nueva transaccin reciben el
mensaje "Shutdown in progress".
El proceso PMON finaliza las sesiones no activas y realiza ROLLBACK de aquellas
transacciones que no estn validadas.
Cierra y desmonta la B.D. Cierra la SGA para los procesos background.
No necesita recuperacion al arrancar la base de datos.
SQLPLUS> shutdown immediate

SHUTDOWN ABORT
Parada drstica, no espera a que los usuarios conectados actualmente finalicen sus
transacciones. El usuario conectado recibe el mensaje "No logged on".
No se realiza ROLLBACK de las transacciones pendientes.
El proceso PMON finaliza las sesiones no activas y realiza ROLLBACK de aquellas
transacciones que no estn validadas.
SI necesita recuperacion al arrancar la base de datos.
SQLPLUS> shutdown abort

NOTA: para estas paradas deber estar en sesin sys de administrador.

ORACLE

UNIDAD II

ORACLE

Arquitectura del Gesto

You might also like