Fundamentos de la piscina compartida en 12c oráculo
Ciertos objetos y dispositivos de Oracle 12c se utilizan con frecuencia. Por lo tanto, tiene sentido tenerlos listo cada vez que quiera hacer una operación. Por otra parte, los datos en la piscina compartida no se escriben en el disco.
Conteúdo
La piscina compartida en sí se compone de cuatro áreas principales:
Caché Biblioteca
Diccionario caché
Resultado caché del servidor
Reservados piscina
LA cache es un área temporal en la memoria creada para un rápido traiga de información que de otro modo podrían tomar más tiempo para recuperar. Por ejemplo, los cachés mencionados en la lista anterior contienen información precomputed. En lugar de un usuario tener que calcular los valores cada vez, el usuario puede acceder a la información en una memoria caché.
El caché de biblioteca en Oracle 12c
El caché de biblioteca es igual que lo que se llama: una biblioteca. Más específicamente, es una biblioteca de sentencias SQL listos para ir.
Cada vez que se ejecuta una sentencia SQL, un montón sucede en el fondo. Esta actividad de fondo se llama análisis. De análisis puede ser muy costoso en términos de poder de procesamiento.
Durante el análisis, algunas de estas cosas suceden:
La sintaxis de la sentencia se comprueba para asegurarse de que ha escrito todo correctamente.
Los objetos de las que te refieres son verificados. Por ejemplo, si usted está tratando de acceder a una tabla llamada EMPLEADO, Oracle asegura que existe en la base de datos.
Oracle se asegura de que usted tiene el permiso para hacer lo que estamos tratando de hacer.
El código se convierte en un formato de base de datos lista. El formato se llama código de bytes o p-code.
Oracle determina la ruta óptima o plan. Este es por lejos la parte más cara.
Cada vez que se ejecuta una instrucción, la información se almacena en la memoria caché de biblioteca. De esa manera, la próxima vez que se ejecute la sentencia no tiene mucho que ocurrir (como la comprobación de permisos).
El caché de diccionario en Oracle 12c
El caché de diccionario también se utiliza con frecuencia para analizar al ejecutar SQL. Usted puede pensar que es una recopilación de información acerca de usted y de los objetos de la base de datos. Puede comprobar la información de tipo de fondo.
El caché de diccionario también se rige por las reglas del Menos usado recientemente (LRU) algoritmo: Si no es el tamaño adecuado, la información puede ser desalojado. No tener suficiente espacio para la caché de diccionario puede afectar el uso del disco.
Debido a que las definiciones de objetos e información basada en permisos se almacenan en archivos de base de datos, Oracle tiene que leer discos para recargar esa información en la caché de diccionario. Esto es más lento que la reciba de la memoria caché. Imagine un sistema con miles de usuarios en constante ejecución de SQL. . . una caché diccionario dimensionado incorrectamente realmente puede obstaculizar el rendimiento.
Al igual que el caché de biblioteca, no se puede controlar el tamaño de la caché de diccionario directamente. Como los cambios globales piscina comunitaria en tamaño, también lo hace la caché de diccionario.
El caché de resultados del servidor de Oracle 12c
El caché de resultados del servidor consta de dos partes:
Caché de resultados de SQL: Esta caché permite a Oracle ver que los datos solicitados - solicitada por una declaración recientemente ejecutado SQL - podría ser almacenada en la memoria. Esta situación permite a Oracle omitir la parte de ejecución de la, er, ejecución, a falta de un término mejor, e ir directamente al conjunto de resultados si es que existe.
El caché de resultados de SQL funciona mejor en los datos relativamente estáticos (como la descripción de un artículo en un sitio de comercio electrónico).
En caso de que te preocupes por el caché de resultados devolver datos incorrectos? De ningún modo. Oracle invalida automáticamente los datos almacenados en la caché de resultados si alguno de los componentes subyacentes se modifican.
PL cache / resultado de la función de SQL: La memoria caché resultado de la función PL / SQL almacena los resultados de un cálculo. Por ejemplo, supongamos que tiene una función que calcula el valor del dólar sobre la base del tipo de cambio del euro. Es posible que no desee almacenar ese valor real, ya que cambia constantemente.
En su lugar, usted tiene una función que hace un llamamiento a una tarifa diaria o por hora para determinar el valor del dólar. En una aplicación financiera, esta llamada puede pasar miles de veces por hora. Por lo tanto, en lugar de la función de ejecución, que va directamente a la caché de resultados de PL / SQL para obtener los datos entre las actualizaciones de tarifas. Si la tasa cambia, Oracle re-ejecuta la función y actualiza la caché de resultados.
La piscina reservada en Oracle 12c
Cuando Oracle tiene que asignar una gran parte (más de 5 KB) de memoria contigua en la piscina compartida, se asigna la memoria en la piscina reservada. Dedicar la piscina reservada para manejar las asignaciones de memoria grandes mejora el rendimiento y reduce fragementation memoria.
Menos recientemente utilizado algoritmo en Oracle 12c
Si la caché de biblioteca es corto el espacio, los objetos son expulsados. Las declaraciones que se utilizan los más permanecen en la memoria caché de biblioteca de la más larga. Cuanto más a menudo se usan, menos posibilidades tienen de ser desalojados si el caché de biblioteca es corto el espacio.
El proceso de desalojo caché biblioteca se basa en lo que se llama la Menos usado recientemente Algoritmo (LRU). Si su escritorio está lleno, ¿qué te pones de distancia por primera vez? La materia que usted utilice la menor.
No se puede cambiar el tamaño de la caché de biblioteca de ti mismo. Tamaño total del conjunto compartido determina que. Si piensas demasiadas declaraciones están siendo desalojados, puede aumentar el tamaño total de la piscina compartida si usted está sintonizando usted mismo. Si usted está dejando Oracle hacer la puesta a punto, se agarra a la memoria libre de otros lugares.