Análisis de SQL con el asesor de ajustes SQL

Puede utilizar el asesor de ajustes SQL para analizar y ajustar las sentencias SQL.

El ajuste SQL es un aspecto importante del ajuste del rendimiento del sistema de base de datos. El asesor de ajustes SQL es un mecanismo para resolver problemas relacionados con sentencias SQL de rendimiento por debajo de lo esperado. Toma una o más sentencias SQL o un juego de ajustes SQL (STS) como entrada y llama al optimizador de ajustes automáticos para analizar las sentencias. Los resultados se presentan como conclusiones y recomendaciones, junto con una razón para cada recomendación y su ventaja esperada. Las recomendaciones de ajuste incluyen lo siguiente y puede aceptar las recomendaciones para realizar el ajuste de las sentencias SQL.

  • Recopilación de estadísticas de objetos
  • Creación de índices
  • Reescritura de sentencias SQL
  • Creación de perfiles SQL
  • Creación de líneas base de plan SQL

Si desea obtener más información sobre:

En Database Management Diagnostics & Management, puede utilizar un asesor de ajustes SQL para analizar las sentencias SQL en una base de datos gestionada.

Nota

El asesor de ajustes SQL solo está disponible para Oracle Database Enterprise Edition versión 12.2 y posteriores y, si el parámetro de inicialización COMPATIBLE está definido para la base de datos, debe coincidir con la versión 12.2.0 y posteriores. Para obtener información sobre la compatibilidad de la base de datos, consulte ¿Qué es la compatibilidad de Oracle Database? en la Guía de cambio de versión de Oracle Database.

A continuación se muestran los principales pasos implicados en el tratamiento del asesor de ajustes SQL en Diagnostics & Management:

  1. Seleccionar la entrada y ejecutar el asesor de ajustes SQL: la entrada (sentencias SQL o un STS) para el asesor de ajustes SQL puede seleccionarse mediante una de las siguientes opciones y enviarse como una tarea de ajuste SQL:
    • Vaya al hub de rendimiento, seleccione uno o varios ID de SQL en el separador Análisis ASH y haga clic en Ajustar SQL.

    • Haga clic en Ajustar SQL en la sección tareas de asesor de ajustes SQL y seleccione sentencias SQL o un STS. Tenga en cuenta que para poder seleccionar sentencias SQL individuales como entrada, las sentencias SQL se deben seleccionar primero en el separador Análisis ASH del hub de rendimiento.

    • Active el ajuste de SQL automático en la base de datos. Tenga En cuenta que Diagnostics & Management no soporta la configuración automática del Asesor de ajustes SQL; sin embargo, si la tarea de ajuste SQL está configurada para ejecutarse automáticamente en la base del datos, la tarea de ajuste SQL automático y las conclusiones y recomendaciones también se muestran en Diagnostics & Management. Para obtener información sobre cómo configurar el asesor de ajustes SQL como tarea automatizada, consulte la sección sobre la gestión de la tarea de ajuste SQL automático en Oracle Database SQL Tuning Guide.

  2. Ver las conclusiones: las conclusiones del asesor de ajustes SQL se muestran en la sección tareas de asesor de ajustes SQL de la página Detalles de base de datos gestionada.
  3. Implantación de recomendaciones: las conclusiones y recomendaciones del asesor de ajustes SQL están disponibles en la página Detalles de tarea de asesor de ajustes SQL y puede revisar esta información y optar por implantar las recomendaciones.

Rol y privilegios necesarios para utilizar el asesor de ajustes SQL

Necesita privilegios administrativos de Oracle Database para realizar las tareas en el flujo de trabajo del asesor de ajustes SQL. Además, se deben asignar los siguientes roles y privilegios:

GRANT SELECT_CATALOG_ROLE <following privileges> TO <admin user>
  • ADVISOR
  • CREATE JOB
  • CREATE SESSION
  • SELECT ANY DICTIONARY
  • INHERIT ANY PRIVILEGES
  • ADMINISTER SQL TUNING SET TO <SQLTUNEUSER>

Para obtener más información sobre los roles y privilegios de Oracle Database, consulte la sección sobre configuración de privilegios y autorización de roles en la Guía de seguridad de Oracle Database.

Ejecutar asesor de ajustes SQL

Primero, debe ejecutar el asesor de ajustes SQL en las sentencias SQL seleccionadas o un STS.

Puede utilizar una de las siguientes opciones para acceder al panel Run SQL Tuning Advisor de la página Managed database details de Managed Database:

  • Haga clic en Hub de rendimiento y, en el separador Análisis ASH, desplácese hacia abajo hasta los ID de SQL que aparecen en la sección ID de SQL por clase de espera (vista por defecto), seleccione una o varias sentencias SQL y haga clic en Ajustar SQL.

    Nota

    El hub de rendimiento para bases de datos gestionadas solo soporta Oracle Database Enterprise Edition y la disponibilidad de las funciones del hub de rendimiento depende del tipo y la versión de Oracle Database, y requiere determinados privilegios adicionales. Para obtener información sobre todas las condiciones que afectan el uso del hub de rendimiento para bases de datos gestionadas, consulte OCI: Prerequisite Conditions for Performance Hub (KB59684) en My Oracle Support.
  • Haga clic en Asesor de ajustes SQL en el panel de la izquierda en Recursos y haga clic en Ajustar SQL en la sección Tareas de asesor de ajustes SQL.

En el panel Ejecutar asesor de ajustes SQL:

  1. Introduzca los siguientes detalles en la sección Definición de tarea:
    1. Nombre: introduzca un nombre para la tarea de ajuste SQL.
    2. Descripción: opcionalmente, introduzca una descripción para la tarea.
  2. Seleccione una de las siguientes opciones en la sección SQL:
    • Sentencias SQL seleccionadas: utilice esta opción para seleccionar y analizar las sentencias SQL seleccionadas en el hub de rendimiento. Tenga en cuenta que esta opción solo está activada si las sentencias SQL se seleccionan primero en el separador Análisis ASH del hub de rendimiento.
    • Juego de ajustes SQL: utilice esta opción para seleccionar un STS como entrada para el asesor de ajustes SQL. Observe que el STS se muestra en esta sección solo si se crean primero en la base de datos. Para obtener información sobre los STS, consulte Captura de cargas de trabajo en juegos de ajustes SQL en Oracle Database SQL Tuning Guide.
  3. Proporcione el ámbito de la tarea en la sección Parámetros de tarea:
    1. Límite de tiempo total (minutos): especifique el tiempo total que debe dedicar el Asesor de Ajustes SQL al analizar la sentencia.
    2. Valor de análisis: seleccione la opción adecuada para definir el ámbito del análisis.
      • Limitado: el asesor de ajustes SQL genera recomendaciones basadas en comprobaciones estadísticas, análisis de ruta de acceso y análisis de estructura SQL. No se generan recomendaciones de perfil SQL.
      • Completo: el asesor de ajustes SQL realiza todos los análisis que lleva a cabo en el ámbito Limitado más el análisis de perfiles SQL.
  4. Seleccione una de las opciones disponibles en la lista desplegable Tipo de credencial de la sección Credenciales para especificar las credenciales de base de datos para conectarse a la base de datos gestionada. Para obtener información sobre los tipos de credenciales, consulte Uso de credenciales para realizar tareas de diagnóstico y gestión.
  5. Haga clic en Ejecutar.
La tarea de ajuste SQL se envía al asesor de ajustes SQL.

Visualización de las conclusiones del asesor de ajustes SQL

Al ejecutar el Asesor de Ajustes SQL, puede ver sus conclusiones y recomendaciones en Diagnostics & Management.

Después de ejecutar el asesor de ajustes SQL en las sentencias SQL seleccionadas o en un STS, la tarea de ajuste SQL se muestra en la sección Tareas del asesor de ajustes SQL. Tenga en cuenta que si el asesor de ajustes SQL está configurado para ejecutarse automáticamente en la base de datos, también se muestran las tareas de ajuste SQL automático. Para cada una de las tareas de ajustes SQL, puede hacer clic en el icono Acciones (Acciones) y hacer clic en la opción Reejecutar tarea de ajustes SQL para volver a ejecutar la tarea de ajustes SQL, si es necesario.

Haga clic en el nombre de la tarea de ajustes SQL para ir a la página Detalles de tarea de asesor de ajustes SQL. Las conclusiones y recomendaciones del asesor de ajustes SQL se muestran en los siguientes separadores de la página Detalles de tarea de asesor de ajustes SQL:

  • Separador Resumen: vea un resumen gráfico de la tarea y las conclusiones que ofrece el asesor de ajustes SQL:
    • Sentencias SQL Distinct examinadas: las sentencias SQL que ha examinado el asesor de ajustes SQL se agrupan en las categorías SQL examinado con conclusiones, SQL saltado debido a errores y SQL examinado sin conclusiones y que se muestran en un gráfico de anillo. Tenga en cuenta que si la sentencia SQL se ha ejecutado varias veces, solo se considera una ejecución (distinta) durante el período de tiempo de análisis.
    • Ventaja de las recomendaciones de perfil SQL: la ventaja de las recomendaciones de perfil SQL en tiempo de base de datos ( en segundos) se muestra en los gráficos de barras. Los gráficos de barras tienen barras antes y después, que indican el tiempo de base de datos real y el tiempo de base de datos mejorado, respectivamente. Si se proporcionan las recomendaciones de perfil SQL, pero no se implantan, se muestra un único gráfico de beneficios potenciales, si las recomendaciones de perfil SQL se implantan parcialmente, se muestran los gráficos de beneficios potenciales e implantados, y si las recomendaciones de perfil SQL se implantan por completo, solo se muestra el gráfico de beneficios implantados.
    • Conclusiones con recomendaciones por tipo: las conclusiones del asesor de ajustes SQL con recomendaciones se clasifican por tipo y se muestran en un gráfico de barras.
  • Separador Conclusiones de SQL: consulte los resultados e implante las recomendaciones del asesor de ajustes SQL. Puede ver la lista de sentencias SQL y la información correspondiente según el análisis realizado por el asesor de ajustes SQL. Esto incluye el beneficio estimado en el rendimiento y las conclusiones con recomendaciones. Puede seleccionar una única sentencia SQL para ver las recomendaciones específicas para cada conclusión, la justificación y el beneficio esperado si se implanta una recomendación. En este separador, puede utilizar las opciones disponibles para implantar todas las recomendaciones de perfil SQL, implantar una única recomendación y comparar las explicaciones de planes.
  • Separador SQL sin conclusiones: consulte las sentencias SQL que se han omitido debido a que no son conclusiones ni recomendaciones, errores o si la tarea ha sufrido un timeout.

Implantación de las recomendaciones del asesor de ajustes SQL

Puede crear trabajos para implantar recomendaciones del Asesor de Ajustes SQL.

Para ello, vaya a la página Detalles de tarea de asesor de ajustes SQL y consulte las conclusiones y recomendaciones del análisis del asesor de ajustes SQL en el separador Resultados de SQL. En este separador, puede crear un trabajo para implantar todas las recomendaciones de perfil SQL o implantar un único perfil SQL, índice o recomendación relacionada con estadísticas, y comparar las explicaciones de planes. También puede ver la reestructuración de SQL, el plan alternativo y otras conclusiones; sin embargo, la opción de implantar la reestructuración de SQL y las recomendaciones de planes alternativos no está disponible. Para obtener información sobre la reestructuración de SQL y planes alternativos, consulte la secciones sobre análisis estructural SQL y análisis de plan alternativo en la Guía de ajuste SQL de Oracle Database.


Separador Conclusiones de SQL

Implantación de todas las recomendaciones de perfil SQL

  1. Vaya a la página Detalles de tarea de asesor de ajustes SQL y haga clic en el separador Conclusiones de SQL.
  2. Haga clic en Implementar todas las recomendaciones de perfil SQL.
  3. En el panel Implantar todas las recomendaciones:
    1. Proporcione la siguiente información para crear un trabajo y aplicar las recomendaciones:
      1. Nombre: introduzca un nombre único para el trabajo.
      2. Descripción: opcionalmente, introduzca una descripción para el trabajo.
    2. Especifique los parámetros de la tarea:
      1. Implantar el nuevo perfil con coincidencia forzada: seleccione esta opción para dirigir todas las sentencias SQL que tengan el mismo texto después de normalizar todos los valores literales en variables de enlace. Tenga en cuenta que si se utiliza una combinación de valores literales y valores de enlace en la sentencia SQL, no se produce ninguna transformación de enlace.
      2. Definir categoría de perfil SQL: seleccione esta opción para especificar la categoría en la que desea crear el perfil SQL e introducir el nombre de la categoría en el campo Crear perfil en categoría.
    3. Especifique los parámetros de trabajo:
      1. Tipo de credencial: seleccione una de las opciones disponibles para especificar las credenciales de base de datos para conectarse a la base de datos gestionada. Para obtener información sobre los tipos de credenciales, consulte Uso de credenciales para realizar tareas de diagnóstico y gestión.
      2. Cubo para salida de trabajo: seleccione el cubo de Oracle Object Storage en el que se almacenará la salida del trabajo. El cubo de Oracle Object Storage puede estar en el mismo compartimento que el trabajo o en otro compartimento, y debe tener los permisos necesarios del servicio Oracle Cloud Infrastructure Object Storage para seleccionar el cubo. Para obtener más información, consulte Permisos adicionales necesarios para utilizar diagnóstico y gestión.
    4. Opcionalmente, haga clic en Mostrar SQL para ver la sentencia SQL que se ejecutará.
    5. Haga clic en Implantar recomendaciones.
Todas las recomendaciones de perfil SQL se implantarán ahora y puede supervisar este trabajo en la sección Trabajos de la base de datos gestionada.

Para implantar una única recomendación de perfil SQL, seleccione una única sentencia SQL, vaya a la sección Implementar una recomendación para el ID SQL: <ID SQL> y haga clic en el icono Acciones (Acciones) de la fila Perfil SQL y haga clic en Implantar recomendación.

Para obtener más información sobre los perfiles SQL, consulte Acerca de los perfiles SQL en la Guía de ajustes SQL de Oracle Database.

Implantación de la recomendación de índice

  1. En el separador Conclusiones de SQL, seleccione una única sentencia SQL, desplácese hacia abajo hasta la sección Implantar una recomendación para el ID de SQL: ID de <SQL> y haga clic en el icono Acciones (Acciones) en la fila Índice y haga clic en Implantar recomendación.
  2. En el panel Implantar recomendación:
    1. Proporcione la siguiente información para crear un trabajo y aplicar las recomendaciones:
      1. Nombre: introduzca un nombre único para el trabajo.
      2. Descripción: opcionalmente, introduzca una descripción para el trabajo.
    2. En la sección Parámetros de tarea, seleccione el tablespace que se utilizará para implementar la recomendación de índice.
    3. Especifique los parámetros de trabajo:
      1. Tipo de credencial: seleccione una de las opciones disponibles para especificar las credenciales de base de datos para conectarse a la base de datos gestionada. Para obtener información sobre los tipos de credenciales, consulte Uso de credenciales para realizar tareas de diagnóstico y gestión.
      2. Cubo para salida de trabajo: seleccione el cubo de Oracle Object Storage en el que se almacenará la salida del trabajo. El cubo de Oracle Object Storage puede estar en el mismo compartimento que el trabajo o en otro compartimento, y debe tener los permisos necesarios del servicio Oracle Cloud Infrastructure Object Storage para seleccionar el cubo. Para obtener más información, consulte Permisos adicionales necesarios para utilizar diagnóstico y gestión.
    4. Opcionalmente, haga clic en Mostrar SQL para ver la sentencia SQL que se ejecutará.
    5. Haga clic en Agregar recomendación.
La recomendación de índice se implantará ahora. Puede supervisar este trabajo en la sección Trabajos de la base de datos gestionada.

Implantación de la recomendación de estadísticas

  1. En el separador Conclusiones de SQL, seleccione una sola sentencia SQL, desplácese hacia abajo hasta la sección Implementar una recomendación para el ID de SQL: <ID de SQL> y haga clic en el icono Acciones (Acciones) en la fila Estadísticas y haga clic en Implementar recomendación.
  2. En el panel Implantar recomendación:
    1. Proporcione la siguiente información para crear un trabajo y aplicar las recomendaciones:
      1. Nombre: introduzca un nombre único para el trabajo.
      2. Descripción: opcionalmente, introduzca una descripción para el trabajo.
    2. En la sección Parámetros de tarea, revise las estadísticas que se están teniendo en cuenta para la implantación.
    3. Especifique los parámetros de trabajo:
      1. Tipo de credencial: seleccione una de las opciones disponibles para especificar las credenciales de base de datos para conectarse a la base de datos gestionada. Para obtener información sobre los tipos de credenciales, consulte Uso de credenciales para realizar tareas de diagnóstico y gestión.
      2. Cubo para salida de trabajo: seleccione el cubo de Oracle Object Storage en el que se almacenará la salida del trabajo. El cubo de Oracle Object Storage puede estar en el mismo compartimento que el trabajo o en otro compartimento, y debe tener los permisos necesarios del servicio Oracle Cloud Infrastructure Object Storage para seleccionar el cubo. Para obtener más información, consulte Permisos adicionales necesarios para utilizar diagnóstico y gestión.
    4. Opcionalmente, haga clic en Mostrar SQL para ver la sentencia SQL que se ejecutará.
    5. Haga clic en Agregar recomendación.
La recomendación de estadísticas se implantará ahora y podrá supervisar este trabajo en la sección Trabajos de la base de datos gestionada.

Comparación de explicaciones del plan

El plan de explicación es una sentencia que muestra los planes de ejecución seleccionados por el optimizador de Oracle para las sentencias SELECT, UPDATE, INSERT y DELETE. El plan de ejecución de una sentencia es la secuencia de operaciones que realiza Oracle para ejecutar la sentencia.

Para ver y comparar los planes de explicación:

  1. En el separador Conclusiones de SQL, seleccione una sola sentencia SQL, desplácese hacia abajo hasta la sección Implementar una recomendación para el ID de SQL: <ID de SQL> y haga clic en el icono Acciones (Acciones) en la fila Índice o perfil SQL y haga clic en Comparar explicación de planes.
  2. En la página Comparar explicaciones de planes:
    • Compare los tiempo de base de datos y los recuentos de E/S en los planes de explicación original con los nuevos en el separador Resultados de prueba de perfil. Esta comparación se proporciona en una vista gráfica y compara métricas como tiempo de CPU, Obtenciones en buffer y lecturas de disco. Tenga en cuenta que el separador Resultados de prueba de perfil no se muestra si no se genera el informe de comparación.
    • Compare los pasos del plan de ejecución original y el nuevo plan de ejecución de la sentencia SQL, en el separador Explicar planes. Esta comparación se proporciona en una vista tabular, sin embargo, puede seleccionar Plan de explicación gráfico en la lista desplegable Ver opción para ver una representación gráfica del plan de explicación. En la vista Plan de explicación gráfico, haga clic en Rotar o utilice el mouse y el panel táctil para desplazarse por el plan de explicación y ver la secuencia de operaciones.
  3. Haga clic en Cerrar para volver a la página Detalles de tarea de asesor de ajustes SQL.