Conceptos básicos del área global del sistema en 12c oráculo

los Sistema Global Area

(SGA) es un grupo de estructuras de memoria compartida dentro de Oracle 12c. Contiene cosas como datos y SQL. Es compartido entre procesos en segundo plano de Oracle y los procesos del servidor.

El SGA se compone de varias partes llama Componentes SGA:

  • Piscina comunitaria

  • Caché del búfer de base de datos

  • Redo log búfer

  • Gran piscina

  • Piscina Java

  • Streams piscina

Las áreas de memoria se cambian con los parámetros de inicialización.

  • Puede modificar cada parámetro individualmente para la sintonización óptima (sólo para los expertos).

  • Se puede decir que Oracle la cantidad de memoria que desea que el SGA a utilizar (para todos los demás).

Digamos que usted quiere Oracle utilizar 1 GB de memoria. La base de datos realmente detiene 1GB, analiza cómo todo está funcionando, y sintoniza cada componente para el dimensionamiento óptimo. Incluso le dice cuando se anhela más.

Redo Log búfer en Oracle 12c

los registro de rehacer búfer es otro componente de memoria que le protege de ti mismo, mala suerte, y la Madre Naturaleza. Este buffer registra cada sentencia SQL que cambia los datos. La declaración en sí, y toda la información necesaria para reconstruir lo que se llama un rehacer la entrada. Rehacer entradas pasar el rato aquí temporalmente antes de que se está grabando en el disco. Este tampón protege contra la pérdida de bloques sucios.

Bloques sucios no se escriben en el disco constantemente.

Imagínese que usted tiene una caché del búfer de 1.000 bloques, y 100 de ellos está sucio. Entonces imagina una fuente de alimentación va a pique en su servidor, y todo el sistema se viene abajo sin buffers sucios están escribiendo. Esos datos se perdió todo, ¿verdad? No tan rapido. . . .

El buffer de redo log se vacía cuando ocurren estas cosas:

  • Cada vez que hay una confirmación con los datos en la base de datos

  • Cada tres segundos

  • Cuando el buffer de redo es 1/3

  • Justo antes de cada bloque sucia se escribe en disco

¿Por qué se molestó Oracle mantener toda esta cosita búfer de rehacer cuando en vez, que sólo podía escribir los buffers modificados al disco por cada comprometerse? Parece redundante.

  • El archivo que registra esta información es secuencial. Oracle siempre escribe al final del archivo. No tiene que buscar dónde poner los datos. Simplemente registra la entrada de rehacer. Un bloque existe en algún lugar de un archivo. Oracle tiene que averiguar dónde, ir a ese lugar, y grabarlo. Rehacer escrituras de amortiguamiento son muy rápidos en términos de I / O.

  • Una sentencia SQL pequeña podría modificar miles o más bloques de base de datos. Es mucho más rápido para registrar que la declaración de esperar a que el I / O de miles de bloques. La entrada de rehacer toma una fracción de segundo para escribir, lo que reduce la ventana de oportunidad para el fracaso.

  • También devuelve su cometen sólo si la escritura se realiza correctamente. Usted sabe de inmediato que sus cambios son seguros. En caso de fallo, la entrada de rehacer podría tener que volver a ejecutar durante la recuperación, pero al menos no se pierda.

Gran piscina en Oracle 12c

No nos estamos refiriendo al tamaño de la piscina de su vecino. No todo el mundo utiliza el opcional gran piscina componente. La piscina grande alivia la piscina compartida de los requisitos de memoria a veces transitorios.

Estas funciones utilizan la piscina grande:

  • Recovery Manager de Oracle

  • Oracle Servidor Compartido

  • Procesamiento en paralelo

  • I procesos del servidor / O-relacionados

Debido a que muchas de estas actividades no son constantes y asignar memoria sólo cuando se están ejecutando, es más eficiente para hacerles ejecutar en su propio espacio.

Sin una gran piscina configurado, estos procesos roban la memoria del área de SQL de la piscina comunitaria. Esto puede resultar en un procesamiento SQL y cambio de tamaño constante de la zona SQL de la piscina comunitaria. Nota: La piscina grande tiene LRU. Una vez que se llena (si usted tamaño es demasiado pequeño) los procesos vuelven a su antigua conducta de robar la memoria de la piscina compartida.

Piscina Java en Oracle 12c

La piscina de Java no es una piscina llena de café (Bueno, estamos cortando las referencias de la piscina). El Piscina Java es un componente de memoria opcional.

A partir de Oracle 8i, las naves de bases de datos con su propia máquina virtual de Java (JVM), que puede ejecutar código Java del SGA. En nuestra experiencia, esta configuración es relativamente raro. De hecho, usted verá aquí donde se instalan las herramientas de Oracle-específicos.

Sin embargo, no dejes que eso te desanime el desarrollo de sus propias aplicaciones de Oracle basadas en Java. El hecho es que, a pesar de que Oracle tiene su propio contenedor de Java, muchas otras alternativas competidoras que valen la pena están ahí fuera.

Streams piscina en Oracle 12c

La piscina corrientes sólo se utiliza si usted está utilizando la funcionalidad de Oracle Streams. Oracle Streams es una tecnología de replicación de datos opcional donde replicar (reproducir) las mismas transacciones, cambios de datos, o eventos de una base de datos a otro (a veces remoto) base de datos. Se podría hacer esto si quería los mismos datos que existen en dos bases de datos diferentes.

Las tiendas corrientes piscina amortiguadas mensajes de cola y proporciona la memoria utilizada para capturar y aplicar procesos. Por defecto, el valor de esta piscina es cero y aumenta dinámicamente si Oracle Streams está en uso.




» » » Conceptos básicos del área global del sistema en 12c oráculo