Uso del rastreo SQL en Autonomous AI Database en una infraestructura de Exadata dedicada
Puede utilizar el rastreo SQL con Autonomous AI Database on Dedicated Exadata Infrastructure para ayudarle a identificar el origen de una carga de trabajo excesiva de la base de datos, como una sentencia SQL de carga alta en la aplicación.
Acerca del Rastreo SQL
Cuando una operación de aplicación tarda más de lo esperado, obtener un rastreo de todas las sentencias SQL ejecutadas como parte de esta operación con detalles como el tiempo empleado por esa sentencia SQL en las fases de análisis, ejecución y recuperación le ayudará a identificar y resolver la causa de la incidencia de rendimiento. Para ello, puede utilizar el rastreo SQL en una base de datos de IA autónoma.
- Comience con la configuración de la base de datos para guardar archivos de rastreo SQL. Consulte Configuración del rastreo SQL en la base de datos de IA autónoma para obtener más información.
- A continuación, active el rastreo SQL. Consulte Activación del rastreo SQL en la base de datos de IA autónoma.
Note:
La activación del rastreo SQL puede reducir el rendimiento de la aplicación para la sesión mientras la recopilación de rastreo está activada. Este impacto en el rendimiento se espera debido a la sobrecarga que supone recopilar y guardar datos de rastreo. - Para dejar de recopilar los datos de rastreo SQL, debe desactivar el rastreo SQL. Consulte Desactivación del rastreo SQL.
- Al desactivar el rastreo SQL, los datos de rastreo recopilados mientras se ejecuta la sesión con el rastreo activado se escriben en la vista
SESSION_CLOUD_TRACEde la sesión y en un archivo de rastreo del cubo, que se configura al configurar el rastreo SQL. Tiene dos opciones para ver los datos de rastreo:- Vea y analice los datos de rastreo SQL en el archivo de rastreo guardado en el almacén de objetos en la nube. Consulte Visualización del archivo de rastreo guardado en el almacén de objetos en la nube en una base de datos de IA autónoma para obtener más información.
- Vea y analice los datos de rastreo SQL guardados en la vista
SESSION_CLOUD_TRACE. Consulte Visualización de datos de rastreo en la vista SESSION_CLOUD_TRACE de base de datos de IA autónoma para obtener más información.
Configuración del rastreo SQL en la base de datos de IA autónoma
Activación del rastreo SQL en la base de datos de IA autónoma
Note:
La activación del rastreo SQL puede reducir el rendimiento de la aplicación para la sesión mientras la recopilación de rastreo está activada. Este impacto en el rendimiento se espera debido a la sobrecarga que supone recopilar y guardar datos de rastreo.Para activar el rastreo SQL para una sesión de base de datos, realice lo siguiente:
Desactivar Rastreo SQL
Ver el archivo de rastreo guardado en el almacén de objetos en la nube en la base de datos de IA autónoma
DEFAULT_LOGGING_BUCKET.
La utilidad Rastreo SQL escribe los datos de rastreo recopilados en la sesión en el almacén de objetos en la nube con el siguiente formato:
default_logging_bucket/sqltrace/clientID/moduleName/sqltrace_numID1_numID2.trc
Los componentes del nombre de archivo son:
-
default_logging_bucket: es el valor de la propiedad de base de datos
DEFAULT_LOGGING_BUCKET. Consulte Configuración del rastreo SQL en la base de datos de IA autónoma para obtener más información. -
clientID: identificador de cliente. Consulte Activación del rastreo SQL en la base de datos de IA autónoma para obtener más información. -
moduleName: es el nombre del módulo. Consulte Activación del rastreo SQL en la base de datos de IA autónoma para obtener más información. -
numID1_numID2: son dos identificadores que proporciona la utilidad Rastreo SQL. Los valores numéricosnumID1ynumID2distinguen de forma única cada nombre de archivo de rastreo de otras sesiones mediante el rastreo y la creación de archivos de rastreo en el mismo cubo de Cloud Object Storage.Cuando el servicio de base de datos soporta el paralelismo y una sesión ejecuta una consulta paralela, la utilidad Rastreo SQL puede producir varios archivos de rastreo con valores
numID1ynumID2diferentes.
Note:
Cuando el rastreo SQL se activa y desactiva varias veces en la misma sesión, cada iteración de rastreo genera un archivo de rastreo independiente en el almacén de objetos en la nube. Para evitar sobrescribir los rastreos anteriores generados en la sesión, los archivos generados posteriormente siguen la misma convención de nombre y agregan un sufijo numérico al nombre del archivo de rastreo. Este sufijo numérico empieza por el número 1 y se incrementa en 1 por cada iteración de rastreo posterior.Por ejemplo, a continuación se muestra un ejemplo de nombre de archivo de rastreo generado al definir el identificador de cliente en "sql_test" y el nombre de módulo en "modname":
sqltrace/sqlt_test/modname/sqltrace_5415_56432.trc
Puede ejecutar TKPROF para convertir el archivo de rastreo en un archivo de salida legible.
Visualización de datos de rastreo en la vista SESSION_CLOUD_TRACE en Autonomous AI Database
SESSION_CLOUD_TRACE de la sesión en la que se ha activado el rastreo.
SESSION_CLOUD_TRACE. La vista SESSION_CLOUD_TRACE incluye dos columnas: ROW_NUMBER y TRACE.DESC SESSION_CLOUD_TRACE
Name Null? Type
---------- ----- ------------------------------
ROW_NUMBER NUMBER
TRACE VARCHAR2(32767)ROW_NUMBER especifica el orden de los datos de rastreo encontrados en la columna TRACE. Cada línea de salida de rastreo escrita en un archivo de rastreo se convierte en una fila de la tabla y está disponible en la columna TRACE.
Después de desactivar el rastreo SQL para la sesión, puede ejecutar consultas en la vista SESSION_CLOUD_TRACE.
SELECT trace FROM SESSION_CLOUD_TRACE ORDERBY row_number;Los datos de SESSION_CLOUD_TRACE se mantienen durante la sesión. Después de cerrar la sesión, los datos ya no estarán disponibles.
Si la función Rastreo SQL se activa y desactiva varias veces en la misma sesión, en SESSION_CLOUD_TRACE se muestran los datos de rastreo de todas las iteraciones de forma acumulada. Por lo tanto, al volver a activar el rastreo en una sesión después de desactivar previamente el rastreo, no se eliminan los datos de rastreo producidos por la iteración anterior.