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:
- El asesor de ajustes SQL, consulte Acerca del asesor de ajustes SQL en Oracle Database SQL Tuning Guide.
-
El STS y cómo crear uno, consulte Captura de cargas de trabajo en juegos de ajustes SQL en Oracle Database SQL Tuning Guide.
En Database Management Diagnostics & Management, puede utilizar un asesor de ajustes SQL para analizar las sentencias SQL en una base de datos gestionada.
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:
- 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.
-
- 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.
- 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:
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 () 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.

Implantación de todas las recomendaciones de perfil SQL
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 () 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
Implantación de la recomendación de estadísticas
Comparación de explicaciones del plan
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: