Supervisión y análisis de estadísticas del optimizador
Puede supervisar las estadísticas del optimizador para una base de datos gestionada, analizar las tareas y los asesores de Estadísticas del optimizador e implantar las recomendaciones de los asesores de Estadísticas del optimizador en Database Management Diagnostics & Management.
Para ir a la sección Estadísticas del optimizador, vaya a la página Detalles de base de datos gestionada y haga clic en Estadísticas del optimizador en el panel izquierdo en Recursos.
Acerca de las estadísticas del optimizador
Las estadísticas del optimizador son una recopilación de datos que describen los detalles sobre la base de datos y sus objetos. Las estadísticas proporcionan una imagen estadísticamente correcta del almacenamiento y la distribución de datos, que el optimizador utiliza al evaluar las rutas de acceso. El optimizador utiliza estadísticas para obtener una estimación del número de filas (y el número de bytes) recuperadas de una tabla, partición o índice. El optimizador estima el costo del acceso, determina el costo de los posibles planes y, a continuación, selecciona el plan de ejecución con el costo más bajo.
Las estadísticas del optimizador incluyen:
-
Estadísticas de tabla: incluye el número de filas, el número de bloques y la longitud media de fila.
-
Estadísticas de columna: incluye el número de valores distintos y nulos en una columna y la distribución de los datos.
-
Estadísticas de índice: incluye el número de bloques de hoja, los niveles de índice y el factor de clusters de índice.
-
Estadísticas del sistema: incluye el rendimiento y el uso de CPU y E/S.
Si desea obtener más información sobre:
-
Las estadísticas del optimizador, consulte Introducción a las estadísticas del optimizador en Oracle Database SQL Tuning Guide.
-
Los tipos de estadísticas del optimizador, consulte Acerca de los tipos de estadísticas del optimizador en Oracle Database SQL Tuning Guide.
Acerca de la recopilación de estadísticas del optimizador
En Oracle Database, la recopilación de estadísticas del optimizador es la recopilación de estadísticas del optimizador para objetos de base de datos, incluidos objetos fijos. Por defecto, Oracle Database utiliza la recopilación automática de estadísticas del optimizador. En este caso, la base de datos ejecuta automáticamente DBMS_STATS
para recopilar estadísticas del optimizador para todos los objetos de esquema para los que faltan estadísticas o están desactualizadas. El proceso elimina muchas tareas manuales asociadas a la gestión del optimizador y reduce de forma significativa los riesgos de generar planes de ejecución deficientes debido a la falta de estadísticas o estadísticas desactualizadas. También puede recopilar estadísticas manualmente mediante el paquete DBMS_STATS
.
Oracle Database 19c introduce la recopilación automática de estadísticas del optimizador de alta frecuencia. Esta tarea ligera recopila periódicamente estadísticas de objetos desactualizados y el intervalo por defecto es de 15 minutos. A diferencia del trabajo de recopilación automática de estadísticas, la tarea de alta frecuencia no realiza acciones como la depuración de estadísticas de objetos no existentes o la llamada al asesor de estadísticas del optimizador.
Para obtener información sobre:
-
La configuración de opciones para la recopilación de estadísticas del optimizador, consulte Configuración de opciones para la recopilación de estadísticas del optimizador en Oracle Database SQL Tuning Guide.
-
La recopilación de estadísticas del optimizador, consulte Recopilación de estadísticas del optimizador en Oracle Database SQL Tuning Guide.
Acerca del asesor de estadísticas del optimizador
El asesor de estadísticas del optimizador es un software de diagnóstico incorporado que ejecuta tareas para analizar cómo se recopilan las estadísticas del optimizador actualmente, la eficacia de los trabajos de recopilación de estadísticas existentes y la calidad de las estadísticas recopiladas. El asesor de estadísticas del optimizador mantiene reglas que incorporan las mejores prácticas de Oracle basadas en el juego de funciones actual. De esta forma, el asesor siempre proporciona las recomendaciones más actualizadas para la recopilación de estadísticas.
Para obtener más información sobre el asesor de estadísticas del optimizador, consulte Acerca del asesor de estadísticas del optimizador en Oracle Database SQL Tuning Guide.
Supervisión del resumen de estadísticas del optimizador
Puede supervisar un resumen de las estadísticas de objetos de la base de datos gestionada y las tareas y subtareas realizadas para recopilar estadísticas del optimizador.
Los siguientes mosaicos se muestran en el separador Resumen de la sección Estadísticas del optimizador y proporcionan una visión general de las estadísticas del optimizador:
-
Estadísticas de objeto: muestra las estadísticas actuales recopiladas para los objetos de la base de datos gestionada. Este gráfico circular proporciona información sobre el número de objetos para los que se han recopilado estadísticas recientes, estadísticas desactualizadas o para los que no se han recopilado estadísticas.
-
Tareas de recopilación de estadísticas: muestra el estado y el número de tareas de recopilación de estadísticas del optimizador o el estado y el número de objetos de base de datos para los que se recopilan estadísticas cada día, durante los últimos siete días. Cada barra del gráfico indica el número de tareas que se ejecutan en un día concreto o el número de objetos para los que se recopilaron estadísticas en un día concreto, y el color indica el estado. Este gráfico de barras proporciona por defecto una visión general del número de tareas automáticas de recopilación de estadísticas del optimizador desglosadas por estado. Seleccione la opción Estado de objeto en la lista desplegable Ver por para ver el número de objetos para los que se han recopilado estadísticas. Además, puede seleccionar una opción en la lista desplegable Tipo para ver el número de tareas u objetos según el mecanismo utilizado para recopilar estadísticas, por ejemplo, automática, manual o ambas.
-
Lista de tareas de recopilación de estadísticas: muestra la lista de tareas de recopilación de estadísticas del optimizador durante los últimos siete días, junto con la siguiente información para cada tarea:
-
Nombre de tarea: nombre de la tarea de recopilación de estadísticas del optimizador.
-
Estado: estado de la tarea de recopilación de estadísticas del optimizador.
-
Ámbito: ámbito de la tarea de recopilación de estadísticas del optimizador, como Base de datos, Esquema, Índice o Tabla.
-
Tipo: tipo de tarea de recopilación de estadísticas del optimizador, es decir, automática o manual.
-
Destino: destino en el que se ha ejecutado la tarea de recopilación de estadísticas del optimizador.
-
Objetos: número total de objetos de base de datos explorados y número de objetos de base de datos para los que se ha completado la tarea de recopilación de estadísticas del optimizador.
-
Duración: duración de la tarea de recopilación de estadísticas del optimizador.
-
Hora de inicio: hora de inicio de la tarea de recopilación de estadísticas del optimizador.
Puede utilizar las listas desplegables y los campos situados encima de la lista de tareas de recopilación de estadísticas del optimizador para filtrar las tareas por un tipo o estado específico o para buscar una tarea específica. También puede hacer clic en una barra de estado de tarea concreta del gráfico de barras Tareas de recopilación de estadísticas para ver la lista de tareas de recopilación de estadísticas del optimizador que se ejecutan en ese día concreto. Tenga en cuenta que esta capacidad no está disponible si se muestra el estado del objeto en el gráfico de barras Tareas de recopilación de estadísticas.
-
Ver detalles de tareas de recopilación de estadísticas del optimizador
Haga clic en el nombre de la tarea en la lista de tareas de recopilación de estadísticas para ir a la página Detalles de tareas de recopilación de estadísticas. Tenga en cuenta que debe tener los siguientes privilegios para ver los detalles de la tarea de recopilación de estadísticas del optimizador:
ANALYZE ANY
ANALYZE ANY DICTIONARY
Los siguientes mosaicos se muestran en la página Detalles de tareas de recopilación de estadísticas:
- Información de tareas de recopilación de estadísticas: muestra la información relacionada con la tarea de recopilación de estadísticas del optimizador.
- Estado de subtareas de recopilación de estadísticas: muestra el estado de las subtareas realizadas como parte de la tarea de recopilación de estadísticas del optimizador en un gráfico circular.
- Estado de subtareas de recopilación de estadísticas por tipo de objeto: muestra un desglose del estado de las subtareas por tipo de objeto de base de datos en un gráfico de barras. Cada barra del gráfico indica un tipo de objeto de base de datos y el color indica el estado de la subtarea.
- Subtareas de recopilación de estadísticas: muestra una lista de tareas secundarias que se ejecutan como parte de la tarea de recopilación de estadísticas del optimizador.
Análisis de tareas del asesor de estadísticas del optimizador e implantación de recomendaciones
Puede supervisar y analizar las tareas del asesor de estadísticas del optimizador e implantar sus recomendaciones.
Para las bases de datos autónomas, el asesor de estadísticas del optimizador está desactivado por defecto y el separador Asesor no muestra datos.
Para verificar si el Asesor de Estadísticas del Optimizador está activado para las bases de datos autónomas, ejecute la siguiente consulta:
select dbms_stats.get_prefs('AUTO_STATS_ADVISOR_TASK') from dual;
Para activar el asesor de estadísticas del optimizador para bases de datos autónomas, ejecute la siguiente consulta:
exec dbms_stats.set_global_prefs('AUTO_STATS_ADVISOR_TASK','TRUE');
Los siguientes mosaicos se muestran en el separador Asesor de la sección Estadísticas del optimizador y proporcionan una visión general de las tareas del asesor de estadísticas del optimizador:
-
Resumen de tareas: muestra el estado de las tareas del asesor de estadísticas del optimizador ejecutadas en los últimos siete días.
-
Tareas de asesor: muestra el estado y el número de tareas del asesor de estadísticas del optimizador ejecutadas cada día, en los últimos siete días. Cada barra del gráfico indica el número de tareas ejecutadas en un día concreto, y el color indica el estado. Este gráfico de barras proporciona por defecto una visión general del número de tareas automáticas del asesor de estadísticas del optimizador desglosadas por estado. Seleccione una opción de la lista desplegable Tipo para ver las tareas del asesor de estadísticas del optimizador según el mecanismo utilizado para recopilarlas, por ejemplo, automática, manual o ambas.
-
Lista de tareas del asesor: muestra la lista de tareas del asesor de estadísticas del optimizador durante los últimos siete días, junto con la siguiente información para cada tarea:
-
Nombre de ejecución: nombre de la ejecución de la tarea del asesor de estadísticas del optimizador.
-
Nombre de tarea: nombre de la tarea del asesor de estadísticas del optimizador.
-
Estado: estado de la tarea del asesor de estadísticas del optimizador.
-
Tipo: tipo de tarea del asesor de estadísticas del optimizador, es decir, automática o manual.
-
Búsquedas: conclusiones de la tarea del asesor de estadísticas del optimizador.
-
Duración: duración de la tarea del asesor de estadísticas del optimizador.
-
Hora de inicio: hora de inicio de la tarea del asesor de estadísticas del optimizador.
-
Mensaje: mensaje, si lo hay.
-
Puede utilizar las listas desplegables y los campos situados encima de la lista de tareas del asesor de estadísticas del optimizador para filtrar las tareas por un tipo o estado específico, o buscar una ejecución o tarea específica. También puede hacer clic en una barra de estado de tarea concreta del gráfico de barras Tareas de asesor para ver la lista de tareas del asesor de estadísticas del optimizador ejecutadas en ese día concreto.
Implantación de recomendaciones del asesor de estadísticas del optimizador
Haga clic en el nombre de ejecución de la tarea del asesor de estadísticas del optimizador en la lista de tareas del asesor para ir a la página Detalles de asesor de estadísticas del optimizador.
Los siguientes mosaicos se muestran en la página Detalles de asesor de estadísticas del optimizador:
-
Información de asesor de estadísticas del optimizador: muestra la información relacionada con la tarea del asesor de estadísticas del optimizador.
-
Conclusiones de asesor de estadísticas del optimizador: muestra las conclusiones de la tarea del asesor de estadísticas del optimizador junto con la siguiente información:
-
Regla: estándar proporcionado por Oracle mediante el cual el asesor de estadísticas del optimizador realiza sus comprobaciones.
-
Conclusión: conclusiones proporcionadas por el asesor de estadísticas del optimizador.
-
Recomendación: recomendaciones proporcionadas por el asesor de estadísticas del optimizador.
-
Razón: razón de la recomendación proporcionada por el asesor de estadísticas del optimizador.
-
Detalles: haga clic en el icono Acciones (
) para ver más detalles sobre la conclusión y un ejemplo del script que puede utilizarse para implantar la recomendación.
-
Después de revisar las conclusiones de la página Detalles de asesor de estadísticas del optimizador, puede crear un trabajo para implantar todas las recomendaciones.
Si el usuario de la base de datos no tiene los privilegios necesarios, es posible que las conclusiones no se muestren en la página Detalles del asesor de estadísticas del optimizador y que el botón Implantar todas las recomendaciones no esté disponible aunque haya conclusiones para la tarea. Se recomienda definir la credencial de diagnóstico avanzado en un usuario con los privilegios necesarios. Para obtener información, consulte Set Preferred Credentials in Diagnostics & Management.
Para implantar las recomendaciones del asesor de estadísticas del optimizador:
- Haga clic en Implantar todas las recomendaciones en la sección Conclusiones de asesor de estadísticas del optimizador.
- En el panel Implantar todas las recomendaciones:
- Proporcione la siguiente información para crear un trabajo y aplicar las recomendaciones:
- Nombre del trabajo: revise el nombre del trabajo que se ha rellenado automáticamente y modifíquelo si es necesario.
- Descripción del trabajo: revise la descripción del trabajo que se ha rellenado automáticamente y modifíquela si es necesario.
- Especifique los parámetros de trabajo:
- 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.
Nota
El usuario especificado debe tener los siguientes privilegios para ejecutar el trabajo para implantar recomendaciones:ANALYZE ANY
ANALYZE ANY DICTIONARY
- Nombre de cubo: 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.
- 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.
- Opcionalmente, haga clic en Mostrar SQL para ver la sentencia SQL que se ejecutará.
- Haga clic en Implantar todas las recomendaciones.
- Proporcione la siguiente información para crear un trabajo y aplicar las recomendaciones:
Se implantarán todas las recomendaciones del asesor de estadísticas del optimizador. Puede supervisar este trabajo en la sección Trabajos de la página Detalles de base de datos gestionada.