Está en la página 1de 12

ARQUITECTURA DE ORACLE

INGENIERÍA DE SISTEMAS DE INTERNET.

Realizado por: José Cremades

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 1

ESQUEMA

„ El Gestor de Oracle.
„ Ficheros de una Base de Datos Oracle

„ Estructura de Memoria

„ Comunicación en cliente y BD: Protocolo SQL*Net.


„ Auditoría en Oracle.
„ Estrategias de Copias de Seguridad y Recuperación.
„ Conceptos de Optimización: Plan de Ejecución, Índices, Tablas
Particionadas, Vistas materializadas, Parallel SQL, SQL Distribuido, RAC.

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 2

1
Ficheros de Datos

Ficheros 1 N Espacios N 1 1 1 Tabla


Datos Segmentos Indice
de Tabla
Snapshot
Extensión 1 | Ext 2 | 3 | ...

Bloque Datos 1 | Bloque 2 | 3 | ...

„ El Espacio de Tabla SYSTEM es dónde reside el diccionario de datos.


„ La extensión es un conjunto consecutivo de bloques de datos que
pertenecen a un mismo fichero de datos.
„ Tamaño típico bloque datos: 2-4-8-16 Kb. (Siempre múltiplo exacto del
tamaño del bloque del Sistema Operativo)

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 3

Ficheros de Redo Log

„ Ficheros en donde se recogen todas sentencias de una Base de Datos.


„ Mínimo nº de ficheros de redo = 2
„ Escritura cíclica. Cuando de llena el 1º pasa al 2º. Cuando de llena el 2º
vuelve al 1º.
„ Modo ARCHIVADO: Antes sobre-escribir guarda el contenido, creando los
ficheros de redo log archivados.
„ Son ficheros muy importantes para los mecanismos de recuperación.
„ Oracle permite trabajar con ficheros de Redo Log en espejo para mayor
seguridad.

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 4

2
Ficheros de Control.

„ Contienen información del arranque y parada, nombre Base Datos, nombre y


directorio en donde se encuentran el resto de ficheros, etc.
„ Todos los ficheros de una Base de Datos contienen la misma información
(copias unos de otros).
„ A estos ficheros se acceden cuando la Base de Datos está montada o
abierta. Al resto de ficheros sólo se accede si la Base de datos está abierta.

, -
,

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 5

El Área Global del Sistema.

„ Buffer de Datos
„ Zona de memoria reservada para la lectura de los bloques de datos.
„ Dimensionada por los parámetros DB_BLOCK_BUFFER y
DB_BLOCK_SIZE en 8i, o CACHE_SIZE en 9i.
„ El proceso DB Writer lleva los bloques de memoria a disco.
„ Los procesos servidores
,
llevan los bloques de- disco a memoria.
„ Porcentaje de acierto deseado a la hora de buscar un bloque, en el buffer
de datos: 90/95%.

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 6

3
El Área Global del Sistema.

„ Buffer de Redo Log


„ Zona de memoria en donde se van registrando todas las operaciones, a
excepción de las “select”.
„ Dimensionada por el parámetro LOG_BUFFER.
„ Fast Commit: Cuando se produce el Commit de una transacción, no se
lleva a disco el resultado de las sentencias, sino las propias sentencias.
, -
„ El contenido de este buffer se lleva a los ficheros de Redo Log.
,
„ Modo ARCHIVADO vs Modo NO ARCHIVADO.

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 7

El Área Global del Sistema.

„ Shared Pool
„ Zona de memoria reservada para la ejecución de las sentencias SQL y el
código PL/SQL.
„ Dimensionada por el parámetro SHARED_POOL_SIZE.
„ Dos partes principales: Library Cache (Sentencias) y la Row Cache
(Diccionario de Datos).
, -
„ Son los procesos servidores los que se encargan de, realizar las
sentencias SQL.
„ La zona de memoria reservada para la ejecución de una determinada
sentencia SQL se denomina “cursor”.

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 8

4
Otras Zonas de Memoria.

„ PGA: Área Global del Proceso


„ Java Pool Area: Dimensionado por JAVA_POOL_SIZE
„ Large Pool: Dimensionado por LARGE_POOL_SIZE
„ Reserved Shared Pool: Dimensionado por SHARED_POOL_
RESERVED_SIZE. Dentro de la Shared Pool
„ UGA: User Global Area.
,
Dentro de la Shared- Pool y presente sólo en
configuaración Multithread ,

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 9

Procesos de Background.

„ DBWR: Database Writer. De buffer datos a ficheros de datos.


„ LGWR: Log Writer. De buffer redo log a ficheros redo log.
„ ARCH: De ficheros de Redo Log a Ficheros Redo Log Archivados.
„ CKPT: Encargado de los puntos de comprobación.
„ SMON: System Monitor.
„ PMON: Process Monitor.
, -
,
„ RECO: Recuperación Transacciones Distribuidas.
„ Dnnn, Snnn: Dispatcher Process y Servidores Compartidos.

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 10

5
Protocolo SQL*Net.

„ Pasos para conectarse a una Base de Datos Oracle:


1. El cliente introduce la información necesaria para establecer la
conexión (usuario, clave y descriptor de conexión).
2. La máquina cliente intenta resolver la localización del servidor Oracle.
3. Si la localización se resuelve, se intentan contactar con el servidor.
4. El servidor recibe la petición de conexión y determina si es válida.
5. Si el servidor acepta la petición, se envía un mensaje al cliente diciendo
que la conexión ha sido establecida.
6. Si el servidor rechaza la petición, se envía un mensaje al cliente
diciendo que la conexión ha fallado.

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 11

Protocolo SQL*Net.

„ Posibilidades de resolver el descriptor de conexión:


1. LocalNaming Option (TNSNAMES)
2. Oracle Names Server Option (ONAMES)
3.· Hostnaming Option (HOSTNAME)
4. External Naming Service Option.(NDS, NIS, CDS)
„ Puede trabajar con varios de ellos a la vez.
„ El orden de aplicación viene determinado por el parámetro del fichero
sqlnet.ora NAMES.DIRECTORY_PATH. Ejemplo:
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME, NIS)

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 12

6
Protocolo SQL*Net. TNSNAMES

„ La localización ficheros
en $ORACLE_HOME
/network/admin.

„ Se puede cambiar la
ubicación cambiando
variable TNS_ADMIN.

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 13

Protocolo SQL*Net. Names Server

„ La localización en un
servidor de nombres.

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 14

7
Protocolo SQL*Net. HostNaming

„ Se accede utilizado
únicamente el nombre de
la máquina que contiene
a la Base de Datos.
„ Limitaciones:
„ Escucha puerto 1521

„ Protocolo TCP

„ GLOBAL_DBNAME

= nombre máquina

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 15

Auditoría.

„ Tipología.
„ Programada Manualmente: Realizada a través de Triggers.
Inserciones, modificaciones y borrados.
„ Automática: Proporcionada por Oracle. Resultados bien a Base de
datos bien a fichero. Auditoría de DDL, Cx/Descx, DML y Select.
„ Funciones de Log Miner: A partir de la versión 8.1.5 es posible la
exploración de los ficheros de redo log archivados.
„ Pasos para utilizar Log Miner.

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 16

8
Copias de Seguridad.

„ Tipología.
„ Copia Física modo No Archivado: Copia de todos los ficheros BD.
Sólo es posible cuando la Base de Datos está parada.
„ Copia Física modo Archivado: Copia de los ficheros BD. Es posible
con BD abierta o cerrada.
„ Copia Lógica: Se genera un nuevo fichero con la información
deseada. Sólo es posible cuando la Base de Datos está Abierta.
„ IMPORTANTE: Sólo la copia física en modo archivado permite llegar
hasta el momento del fallo. El resto sólo hasta el momento en que se
hizo la copia de seguridad.
„ ORACLE STANDBY DATABASE.

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 17

Copias de Seguridad.

„ Físicas Modo Archivado.


„ Copia / Recuperaciones a nivel de Base se Datos, Espacio de Tabla
o Fichero de Datos. La copia / recuperación en modo No archivado
es siempre de toda la Base de Datos
„ Se llega hasta el momento del fallo, siempre que tengamos a salvo
la copia de seguridad y todos los ficheros de redo log archivados y
online.
„ No es necesario parar la Base de Datos. Importante para sistemas
24x7.

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 18

9
Recuperaciones.

„ Importación. Nivel de Tabla – Usuario – Base de Datos.


„ Recuperación Completa de B.D.
„ Recuperación Parcial: Fichero de Datos o Espacio Tabla
„ La B.D. Completa siempre se recupera con la B.D. montada.
„ Los E.T. con la B. D. Abierta.
„ Los ficheros de datos tanto con B.D. Montada como Abierta.
„ Comando RECOVER: Hasta SCN, una fecha o hasta el final.
„ Recuperación Ficheros de Redo Log
„ Recuperación Ficheros de Control.

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 19

Conceptos de Optimización.
Índices
„ Acceso a una tabla.
Tiempo Full Scan

% de las filas devueltas por el índice del total de la tabla. 100


0

„ Acceso por índices. Vamos al índice con unas condiciones para sacar los
ROWIDs de la filas que cumplen dichas condiciones.
„ Acceso por full scan: Leemos todos los bloques de datos del segmento de
la tabla.
„ IMPORTANTE: Situar índices y tablas en espacios de tablas distintos que
estén en diferentes discos.

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 20

10
Conceptos de Optimización.

„ Plan de Ejecución.
„ Las sentencias SQL no son procedurales, sin embargo todo lo que
se ejecuta en la CPU tiene un orden.
„ El plan de ejecución es la forma procedural de ejecutar una
sentencia SQL.
„ Una misma sentencia SQL puede realizarse a través de muchos
planes de ejecución distintos. Todos ellos darán el mismo resultado,
pero el tiempo empleado puede variar mucho.
„ Los optimizadores (reglas y costes) son los encargados de sacar el
plan de ejecución de una sentencia SQL.

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 21

Conceptos de Optimización.

„ Otros Conceptos.
„ Tablas particionadas: La tabla la dividimos en función de los valores
de sus datos. Cada división o partición posee un segmento distinto
que podemos situarlo en Espacios de Tabla distintos.
„ Vistas Materializadas: Son sentencias Select cuyos resultados los
almacenamos en disco. En refresco de estos resultados puede ser
programado, bajo demanda u On Commit. Son importantes para la
replicación y los Datawarehouse.
„ Parallel SQL: En vez de ser un único proceso de usuario el que
realiza la SQL, son varios en paralelo.
„ RAC: Real Application Cluster – Parallel Server.

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 22

11
Conceptos de Optimización.

„ Otros Conceptos.
„ SQL Distribuido: Utilización de DB Links. Siempre hay un nodo
coordinador de la sentencia.
„ Si es una sentencia DML el coordinador es el nodo en el que se
produce la inserción, modificación o borrado.
„ Si es una select el coordinador es dónde se lanza la sentencia. Se
puede transferir la coordinación. El nodo coordinador debería ser
aquel que tenga:
„ La mejor máquina.
„ El mayor volumen de datos a procesar.
„ La versión de Oracle más moderna.

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 23

Bibliografía.

„ Forms Data Format Toolkit Reference. Adobe System. Junio 2001.


„ PDF References. Adobe System. 2003.
„ Forms Data Format Toolkit Overview. Adobe System. Technical Note
#5191. Junio 2001.
„ FDF Toolkit Overview and Reference. Adobe System. Technical Note
#5194. Octubre 2003.
„ http://www.oracle.com
„ http://metalink.oracle.com
„ http://technet.oracle.com

Arquitectura Oracle INGENIERÍA DE SERVICIOS DE INTERNET


14/06/2004 24

12

También podría gustarte