SGA
(Area
Global de Sistemas)
Facilita la transferencia de
información entre usuarios. Además, almacena la mayor parte de la información
sobre la propia estructura de la base de datos que es parte de la información
consultada con mas frecuencia. Basta con establecer un tamaño máximo para la
consultada con mas frecuencia. SGA y Oracle se encarga de asignar memoria a los
diferentes componentes según los requerimientos parámetros del archivo
init.ora. Se gestiona con la variable SGA_MAX_SIZE.Se crea cuando la instancia
es levantada y se borra cuando ésta se deja de usar (cuando se hace shutdown).
La SGA se divide en varias partes:
Buffers de BD, Database
Buffer Cache
Es el caché que almacena los
bloques de datos leidos de los segmentos de datos de la BD, tales como tablas,
índices y clusters. Los bloques modificados se llamas bloques sucios. El
tamaño de buffer caché se fija por el parámetro DB_BLOCK_BUFFERS del fichero
init.ora.
Como el tamaño del buffer suele
ser pequeño para almacenar todos los bloques de datos leidos, su gestión se
hace mediante el algoritmo LRU.
Buffer Redo
Log
Los registros Redo describen
los cámbios realizados en la BD y son escritos en los ficheros redo log para
que puedan ser utilizados en las operaciones de recuperación hacia adelante, roll-forward,
durante las recuperaciones de la BD. Pero antes de ser escritos en los ficheros redo
log son escritos en un caché de la SGA llamado redo log buffer. El
servidor escribe periódicamente los registros redo log en los
ficheros redo log.
El tamaño del buffer redo log se
fija por el parámetro LOG_BUFFER.
Área de SQL
Compartido, Shared SQL Pool
En esta zona se encuentran las
sentencias SQL que han sido analizadas. El analisis sintáctico de las
sentencias SQL lleva su tiempo y Oracle mantiene las estructuras asociadas a
cada sentencia SQL analizada durante el tiempo que pueda para ver si puede
reutilizarlas. Antes de analizar una sentencia SQL, Oracle mira a ver si encuentra
otra sentencia exactamente igual en la zona de SQL compartido. Si es así, no la
analiza y pasa directamente a ejecutar la que mantinene en memoria. De esta
manera se premia la uniformidad en la programación de las aplicaciones. La
igualdad se entiende que es lexicografica, espacios en blanco y variables
incluidas.

No hay comentarios:
Publicar un comentario