Nuevas Caracteristicas de Rendimiento en Oracle 11g.


Lo nuevo en el rendimiento de Oracle?

Esta sección describe las nuevas características de optimización del rendimiento de Oracle Database 11 g Release 1 (11.1) y ofrece enlaces a información adicional.Las características y las mejoras descritas en esta sección comprenden el esfuerzo global para optimizar el rendimiento de bases de datos.






Desempeño de los métodos

Mejora del rendimiento es una proceso iterativo. Extracción del primer cuello de botella (un punto en la contención de recursos se encuentra en su nivel más alto) no puede conducir a la mejora del rendimiento de inmediato debido a que otro cuello de botella puede ser revelado que tiene un impacto en el rendimiento aún mayor en el sistema. Por esta razón, el método de rendimiento de Oraclees iterativo. Con precisión el diagnóstico del problema de rendimiento es el primer paso para asegurar que los cambios que realice en el sistema se traducirá en un mejor desempeño.
Problemas de rendimiento en general el resultado de una falta de rendimiento del usuario, tiempo de respuesta aceptable o trabajo, o ambos. El problema puede estar ubicado en los módulos de aplicación específica, o que puede abarcar la totalidad del sistema. Antes de pasar a cualquier base de datos o las estadísticas del sistema operativo, es crucial para obtener retroalimentación de los componentes más importantes del sistema: los usuarios del sistema y el pueblo en última instancia, el pago de la solicitud. Conocer la opinión de los usuarios hace que la determinación del objetivo de rendimiento más fácil, y un mejor desempeño se puede medir en términos de los objetivos de negocio real, en lugar de las estadísticas del sistema.
El método de rendimiento de Oracle se puede aplicar hasta que los objetivos de rendimiento se cumplen o se considera poco práctico. Debido a que este proceso es repetitivo, es probable que algunas investigaciones se realizarán de que tienen poco impacto en el rendimiento del sistema. Se necesita tiempo y experiencia para determinar con precisión los cuellos de botella críticos en el momento oportuno. Automático de la base de datos de diagnóstico Monitor (ADDM) implementa el método de rendimiento de Oracle y el análisis de las estadísticas para proporcionar un diagnóstico automático de los problemas de rendimiento importantes.Utilizando ADDM puede acortar significativamente el tiempo necesario para mejorar el rendimiento de un sistema, y ​​es el método utilizado en esta guía.
Este capítulo trata sobre la base de datos Oracle de funcionamiento del método y contiene las siguientes secciones:



Recopilación de datos estadísticos de uso del repositorio de carga de trabajo automática

Estadísticas de la base de datos proporcionan información sobre el tipo de carga en la base de datos y los recursos internos y externos utilizados por la base de datos. Para diagnosticar con precisión los problemas de rendimiento con la base de datos utilizando ADDM, las estadísticas deben estar disponibles.
Oracle Database genera muchos tipos de estadísticas acumuladas por el sistema, las sesiones y las instrucciones SQL individuales. Base de Datos Oracle también realiza un seguimiento de estadísticas acumuladas sobre los segmentos y servicios.Repositorio de Carga de Trabajo Automática (AWR) automatiza la recolección de estadísticas de la base de datos mediante la recopilación, procesamiento y mantenimiento de las estadísticas de rendimiento de base de datos para la detección de problemas y propósitos de ajuste automático.
Por defecto, el proceso de recopilación de estadísticas se repite cada hora y los resultados en una instantánea AWR, que es un conjunto de datos por un tiempo específico que se utiliza para comparar el rendimiento. Los valores delta capturado por la instantánea representan los cambios de cada dato estadístico respecto al período de tiempo. Las estadísticas recopiladas por AWR se consultan desde la memoria. Los datos recogidos se pueden mostrar en los informes y opiniones.
Recopilación de estadísticas de base de datos utilizando AWR está activado por defecto y es controlado por el STATISTICS_LEVEL parámetro de inicialización. ElSTATISTICS_LEVEL parámetro se debe establecer en TÍPICO o TODOS para permitir la recopilación de estadísticas de RMA. El valor predeterminado es TÍPICO .Ajuste de la STATISTICS_LEVEL parámetro para BÁSICOS desactiva muchas características de base de datos Oracle, incluida la AWR, y no es recomendable. Para obtener información sobre la STATISTICS_LEVEL parámetro de inicialización.




El CONTROL_MANAGEMENT_PACK_ACCESS parámetro de inicialización se debe establecer en TUNING DE DIAGNÓSTICO + (por defecto) o DIAGNÓSTICO para permitir el monitoreo de bases de datos de diagnóstico automático. Establecer CONTROL_MANAGEMENT_PACK_ACCESS a NINGUNO desactiva muchas características de base de datos Oracle, incluyendo ADDM, y no se recomienda. Para obtener información sobre la CONTROL_MANAGEMENT_PACK_ACCESS parámetro de inicialización.




La base de datos estadísticos recogidos y tratados por AWR incluyen:

Estadísticas de tiempo Modelo

Estadísticas de tiempo de modelo medir el tiempo de permanencia en la base de datos por tipo de operación. La estadística de tiempo el modelo más importante es el tiempo base de datos, o el tiempo de DB. Tiempo de base de datos representa el tiempo total empleado en las llamadas bases de datos, y es un indicador de la carga de trabajo total de instancia. Como se muestra en la Figura 2.1 , el tiempo de la base de datos constituye una parte del tiempo total de usuarios de una aplicación de respuesta.
Figura 2-1 Tiempo de DB en el tiempo total de respuesta del usuario
Descripción de la figura 2.1 a continuación
Descripción de "Tiempo DB Figura 2-1 en el tiempo total de respuesta del usuario"
Una sesión es una conexión específica de un usuario a una instancia de base de datos Oracle a través de un proceso de usuario. Tiempo la base de datos se calcula mediante la suma del tiempo de CPU y el tiempo de espera de todas las sesiones de usuario sin esperar a que eventos de espera inactivo (sesiones de usuario que no están libres). Por ejemplo, una sesión de usuario puede implicar una transacción en línea hecha en el sitio web de una librería que consiste en las acciones que se muestra en la Figura 2.2 .
Figura 2-2 Tiempo de DB en la transacción del usuario
Descripción de la figura 2.2 a continuación
Descripción de "Tiempo DB Figura 2-2 en la transacción de usuario"
  1. Consulta de las novelas de la autora
    El usuario realiza una búsqueda de las novelas de un autor en particular. Esta acción hace que la aplicación para realizar una consulta de base de datos de novelas del autor.
  2. Navegar por los resultados de la consulta
    El usuario navega por la lista que se obtiene de las novelas del autor y acceso a los detalles adicionales, como comentarios de los usuarios y del inventario.Esta acción hace que la aplicación para realizar consultas adicionales de base de datos.
  3. Añadir el artículo a la cesta
    Después de navegar más detalles acerca de la novela, el usuario decide añadir una de sus novelas a la cesta de la compra. Esta acción hace que la aplicación para hacer una base de datos llamada a actualizar el carrito de compras.
  4. Caja
    El usuario completa la transacción por la salida, con la dirección y la información de pago guardada previamente en el sitio web del librero a partir de una compra anterior. Esta acción hace que la aplicación para realizar varias operaciones de base de datos para recuperar información del usuario, agregar un nuevo orden, la actualización del inventario, y generar una confirmación por correo electrónico.
Para cada una de las acciones anteriores, el usuario hace una petición a la base de datos, representada por la flecha hacia abajo en la Figura 2.2 . El tiempo de CPU utilizado por la base de datos de procesamiento de la solicitud y el tiempo de espera de espera de la base de datos se consideran tiempo de DB, representadas por las áreas sombreadas. Después de la solicitud se ha completado, los resultados se devuelven al usuario, representado por la flecha hacia arriba. El espacio entre las flechas arriba y abajo representa el tiempo total de respuesta del usuario para el procesamiento de la solicitud, que contiene otros componentes además del tiempo DB, como se ilustra en la Figura 2.1 .
El objetivo de la puesta a punto base de datos para reducir el tiempo que pasan los usuarios realizar acciones en la base de datos, o reduciendo el tiempo de la base de datos. De esta manera, usted puede mejorar el tiempo de respuesta global de las transacciones del usuario en la aplicación.

Espere Resumen diario

Eventos de espera se incrementan en una sesión que indica que la sesión había que esperar a que un evento para completar antes de poder continuar con la tramitación. Cuando una sesión tiene que esperar mientras se procesa una solicitud del usuario, la base de datos registra el tiempo de espera mediante el uso de una de una serie de eventos de espera predefinido. Los eventos se agrupan en clases de esperar, como usuario de E / S y de red. Esperar los datos del evento revela síntomas de los problemas que pudiera influir en el rendimiento, como cierre, de amortiguamiento, y la contención de E / S.


Sesión y el Sistema de Estadísticas
Un gran número de base de datos estadísticos acumulativos están disponibles en un sistema y un nivel de sesión. Algunas de estas estadísticas son recogidos por AWR.

Estadísticas de las sesiones activas Historia

La historia de sesión activa(ASH), las estadísticas son muestras de la actividad de la sesión en la base de datos. Las muestras de base de datos de las sesiones activas cada segundo y los almacena en un buffer circular en el área global del sistema (SGA). Cualquier sesión que se conecta a la base de datos y el uso de CPU, o se espera de un evento que no pertenecen a la clase ociosa espera, se considera una sesión activa. Al capturar sólo las sesiones activas, un conjunto manejable de los datos se representan. El tamaño de los datos está directamente relacionada con el trabajo que se realiza, más que el número de sesiones permitidas en el sistema.
Usando el ejemplo de DB se describe en el tiempo "Estadísticas Tiempo Modelo" , las muestras de actividad de la sesión se recogen en el hecho de transacciones en línea en el sitio web del librero, representado como líneas verticales debajo de la flecha horizontal en la figura 2.3 .
Las líneas verticales de luz representan muestras de actividad de la sesión inactiva que no se refleja en las estadísticas de ASH. Las líneas verticales negrita representan las muestras de las sesiones activas que son capturados en:
  • 7:38, mientras que las novelas de la autora se va a consultar
  • 7:42, mientras el usuario está navegando por los resultados de la consulta
  • 7:50, cuando una de las novelas se añade a la cesta de la compra
  • 07:52, durante el proceso de compra
La Tabla 2-1 lista las estadísticas en la ceniza que se recogen para las sesiones activas, junto con ejemplos de la ID de sesión (SID), el módulo, SQL ID, estado de sesión, y esperar acontecimientos que se muestra.
Tabla 2-1 Historia sesión activa
TiempoSIDMóduloSQL IDEstadoEvento
07:38213Libro del autorqa324jffritcfEsperadb leer el archivo secuencial
07:42213Obtenga revisión IDaferv5desfzs5CPU
07:50213Añadir el artículo a la cestahk32pekfcbdfrEsperabuffer ocupado espera
07:52213Cajaabngldf95f4deEsperaregistro de sincronización de archivos

Alta carga de Estadísticas de SQL

Sentencias SQL que están consumiendo la mayor cantidad de recursos produce la mayor carga en el sistema, en base a criterios tales como el tiempo transcurrido y el tiempo de CPU.

Utilizando el método del rendimiento de Oracle

La optimización del rendimiento utilizando el método de rendimiento de Oraclees impulsado por la identificación y eliminando cuellos de botella en la base de datos, y mediante el desarrollo eficiente de las sentencias SQL. Puesta a punto base de datos se lleva a cabo en dos fases: de manera proactiva y reactiva.
En la fase de ajuste proactivo, debe realizar tareas de ajuste, como parte de su rutina diaria de mantenimiento de bases de datos, como la revisión de análisis ADDM y los resultados, el seguimiento del rendimiento en tiempo real de la base de datos, y responder a las alertas.
En la fase de ajuste de reactivos, debe responder a los problemas reportados por los usuarios, tales como problemas de rendimiento que pueden ocurrir en sólo un corto período de tiempo, o degradación del rendimiento de la base de datos durante un período de tiempo.
SQL tuning es un proceso iterativo para identificar, ajustar y mejorar la eficiencia de carga alta sentencias SQL.
La aplicación del método de rendimiento de Oracle consiste en lo siguiente:
  • Realización de puesta a punto los preparativos previos
  • Ajuste de la base de datos de manera proactiva sobre una base regular
  • Ajuste de la base de datos de manera reactiva cuando los problemas de rendimiento son reportados por los usuarios
  • La identificación, ajuste y optimización de alta carga de sentencias SQL
Para mejorar el rendimiento de su base de datos, tendrá que aplicar estos principios de forma iterativa.

Preparación de la base de datos para la optimización

En esta sección se enumeran y describen los pasos que se deben realizar antes de la base de datos puede ser correctamente afinado.
Para preparar la base de datos para el ajuste:
  1. Obtener retroalimentación de los usuarios.
    Determinar el alcance del proyecto y metas de desempeño en las prestaciones, y determinar los objetivos de rendimiento para el futuro. Este proceso es clave para la planificación de la capacidad futura.
  2. Comprobar los sistemas operativos de todos los sistemas relacionados con el rendimiento del usuario.
    Compruebe si hay hardware o recursos del sistema operativo que se utilizan plenamente. Haga una lista de recursos en exceso que se refiere a posibles para su posterior análisis. Además, asegúrese de que todo el hardware funciona correctamente.
  3. Asegúrese de que el STATISTICS_LEVEL parámetro de inicialización se establece en TÍPICAS (por defecto) o TODOS para activar las funciones de sintonización automática el rendimiento de la base de datos Oracle, incluyendo AWR y ADDM.
  4. Asegúrese de que el CONTROL_MANAGEMENT_PACK_ACCESS parámetro de inicialización está en TUNING DE DIAGNÓSTICO + (por defecto) o DIAGNÓSTICOpara permitir ADDM.
Ajuste de la base de datos de forma proactiva
Esta sección enumera y describe los pasos necesarios para mantener la base de datos bien puesto a punto sobre una base regular. Estos procedimientos se consideran de ajuste proactivo y se debe realizar como parte de su mantenimiento diario de la base de datos Oracle.
Para ajustar la base de datos de forma proactiva:
  1. Revisar los resultados ADDM
    ADDM automáticamente detecta e informa sobre los problemas de rendimiento con la base de datos, incluyendo la mayoría de los "problemas de rendimiento comunes que se encuentran en bases de datos Oracle" . Los resultados se muestran como resultados de ADDM en la página principal de bases de datos en Oracle Enterprise Manager (Administrador corporativo). La revisión de estos resultados permite identificar rápidamente los problemas de rendimiento que requieren su atención.
  2. Aplicar las recomendaciones ADDM
    ADDM proporciona automáticamente una lista de recomendaciones para reducir el impacto del problema de rendimiento con cada hallazgo ADDM. La implementación de una recomendación se aplica a los cambios propuestos para mejorar el rendimiento de bases de datos.
  3. Controlar los problemas de rendimiento con la base de datos en tiempo real.
    En la página Rendimiento del Administrador de la empresa le permite identificar y responder a los problemas de rendimiento en tiempo real. Mediante la profundización de las páginas adecuadas, usted puede identificar y resolver problemas de rendimiento con la base de datos en tiempo real, sin tener que esperar hasta que el análisis ADDM siguiente.
  4. Responder a las alertas relacionadas con el rendimiento
    La página de inicio de base de datos de Enterprise Manager le permite ver el rendimiento relacionados con las alertas generadas por el sistema. Por lo general, estas alertas revelar los problemas de rendimiento cuyas resoluciones serán mejorar el rendimiento de su base de datos.
  5. Validar que los cambios realizados han producido el efecto deseado, y verificar que los usuarios perciben mejoras en el rendimiento.
  6. Repita estos pasos hasta que sus objetivos de desempeño se cumplen o imposible de conseguir debido a las limitaciones de otros.

Ajuste de la base de datos Reactivamente

Esta sección enumera y describe los pasos necesarios para ajustar la base de datos basada en comentarios de los usuarios. Este procedimiento de ajuste se considera reactiva. Realizar este procedimiento periódicamente, cuando los problemas de rendimiento son reportados por los usuarios.
Para ajustar la base de datos de forma reactiva:
  1. Ejecutar ADDM manual para diagnosticar el rendimiento de bases de datos actuales e históricos problemas de rendimiento cuando son reportados por los usuarios.
    Esta tarea es útil si se quiere analizar el rendimiento de base de datos actual antes de que el análisis ADDM siguiente, o para analizar el rendimiento de base de datos histórica cuando no estaba de manera proactiva la supervisión del sistema.
  2. Resolver los problemas transitorios de rendimiento.
    La sesión activa de la historia (ASH) informes le permiten analizar los problemas transitorios de rendimiento con la base de datos que son de corta duración y no aparecen en el análisis ADDM.
  3. Resolver la degradación del rendimiento a través del tiempo.
    El Repositorio de Carga de Trabajo Automática (AWR) Comparar informe períodos le permite comparar el rendimiento de bases de datos entre dos periodos de tiempo, y resolver la degradación del rendimiento que puede ocurrir de una época a otra.
  4. Validar que los cambios realizados han producido el efecto deseado, y verificar que los usuarios perciben mejoras en el rendimiento.
  5. Repita estos pasos hasta que sus objetivos de desempeño se cumplen o imposible de conseguir debido a las limitaciones de otros.

Sintonía sentencias SQL

Esta sección enumera y describe los pasos necesarios para identificar, ajustar y optimizar la alta carga de sentencias SQL.
Para ajustar sentencias de SQL:
  1. Identificar alta carga sentencias SQL.
    Utilizar los resultados ADDM y la parte superior de SQL para identificar de alta carga sentencias SQL que están causando la mayor contención.
  2. Sintonice de alta carga SQL.
    Puede mejorar la eficiencia de carga alta sentencias SQL mediante la sintonización utilizando SQL Tuning Advisor.
  3. Optimizar las rutas de acceso de datos.
    Puede optimizar el rendimiento de las vías de acceso de datos mediante la creación de un conjunto apropiado de vistas materializadas, materializado ver los registros, y los índices de una determinada carga de trabajo mediante el uso de SQL Access Advisor.
  4. Analizar el impacto en el rendimiento de SQL de optimización de SQL y otros cambios del sistema.
    Puede analizar el impacto en el rendimiento de sus actividades de ajuste SQL u otros cambios del sistema en una carga de trabajo SQL dada mediante el Analizador de rendimiento de SQL.
  5. Repita estos pasos hasta que todas las declaraciones de alta carga de SQL se ajustan para mayor eficiencia.



  • Automatizado SQL tuning
    Puede automatizar la programación de las tareas de Asistente para la optimización de SQL para ejecutar en las ventanas de mantenimiento con tareas de mantenimiento automatizado
  • AWR líneas de base
    Una línea de base contiene datos de rendimiento de un período específico de tiempo que se conserva para la comparación con otros períodos de carga de trabajo similar, cuando se producen problemas de rendimiento. Hay varios tipos de líneas de base disponibles en Oracle Database: las líneas de base fija, en movimiento de referencia ventana, y las plantillas de referencia. Para más información
  • Base de datos de Replay
    Puede capturar una carga de trabajo de base de datos en un sistema de producción y reproducción que en un sistema de prueba para asegurar que los cambios del sistema, tales como actualizaciones de bases de datos, dará los resultados deseados. Para más información
  • E / S mejorada estadísticas
    I / O se recogen las estadísticas de todas las E / S de las llamadas realizadas por la base de datos Oracle en las siguientes dimensiones: grupo de consumidores, el archivo de base de datos, y la función de base de datos. Para más información
  • Mejorado estadísticas del optimizador de mantenimiento
    La recopilación y publicación de las estadísticas está desacoplado. Usted puede recoger las estadísticas del optimizador, guardarlos como las estadísticas de espera, prueba de ellos, y luego publicarlas si las estadísticas son válidas. Para más información.
  • Estadísticas extendidas
    El optimizador de hoy reúne información sobre un grupo de columnas de una tabla (las estadísticas de varias) para analizar las dependencias de columna en los grupos de columnas. También recoge información sobre las expresiones en las columnas. Para más información.
  • E / S de calibración
    La función de calibración de E / S de base de datos Oracle le permite evaluar el rendimiento del subsistema de almacenamiento, y determinar si E / O los problemas de rendimiento son causados ​​por la base de datos o el subsistema de almacenamiento.
  • Caché de resultados de consulta
    Puede almacenar los resultados de la frecuencia ejecutar consultas SQL en el lado del servidor y del cliente-caches resultado. Esto asegura una respuesta más rápida cuando estas consultas son ejecutadas posteriormente. Para más información.
  • En tiempo real de seguimiento de SQL
    Monitoreo en tiempo real de SQL le permite controlar la ejecución de sentencias SQL de larga ejecución, ya que se están ejecutando. Ambos cursor estadísticas a nivel (como el tiempo de CPU y el tiempo de E / S) y las estadísticas de la ejecución del plan (por ejemplo, la cardinalidad de los resultados intermedios, la memoria y el espacio temporal usado por cada operador en el plan) se actualizan en tiempo real, mientras que la declaración se ejecuta.Estas estadísticas son expuestas por dos nuevos puntos de vista fijo, V $ SQL_MONITOR y V $ SQL_PLAN_MONITOR.
  • SQL Performance Analyzer
    El Analizador de rendimiento de SQL que permite pronosticar el impacto de los cambios en el sistema de rendimiento de SQL mediante pruebas de estos cambios con una carga de trabajo de SQL Server en un sistema de prueba. Para más información.
  • SQL plan de líneas de base
    Los cambios en el plan de ejecución de una sentencia SQL puede causar la degradación del rendimiento. Oracle Database pueden captar, seleccionar y desarrollar las líneas de base del plan SQL, el optimizador de la prevención del uso de un nuevo plan hasta que se ha comprobado ser más eficiente que el plan existente. Esta característica reemplaza la función de la estabilidad del plan en las versiones anteriores de Oracle Database. Para más información.
  • Prueba de SQL caso constructor
    La prueba de SQL constructor caso ofrece la posibilidad de construir un caso de prueba reproducible mediante la recolección y embalaje de la información necesaria relacionada con un incidente de SQL para que pueda ser reproducido en otro sistema. Para más información.