Paquete DBMS_USERDIAG
El paquete DBMS_USERDIAG proporciona subprogramas para activar y desactivar el rastreo SQL para una sentencia SQL, sesión, identificador de cliente o servicio de aplicación, módulo y acción específicos. También puede recopilar valores de variables ligadas, información de eventos de espera y estadísticas del plan de ejecución para obtener diagnósticos más detallados.
SESSION_SQL_TRACE_ENABLE Procedimiento
Utilice el procedimiento DBMS_USERDIAG.SESSION_SQL_TRACE_ENABLE para activar el rastreo SQL para la sesión actual o para las sesiones que coincidan con los atributos de rastreo especificados.
Sintaxis
DBMS_USERDIAG.SESSION_SQL_TRACE_ENABLE (
level IN BINARY_INTEGER DEFAULT 1,
sid IN BINARY_INTEGER DEFAULT 0,
ser IN BINARY_INTEGER DEFAULT 0,
instance_name IN VARCHAR2 DEFAULT NULL,
binds IN BINARY_INTEGER DEFAULT 0,
waits IN BINARY_INTEGER DEFAULT 0,
client_id IN VARCHAR2 DEFAULT NULL,
service IN VARCHAR2 DEFAULT NULL,
module IN VARCHAR2 DEFAULT NULL,
action IN VARCHAR2 DEFAULT NULL,
plan_stat IN VARCHAR2 DEFAULT NULL,
sql_id IN VARCHAR2 DEFAULT NULL
);Parámetros
| Parámetro | Descripción |
|---|---|
level |
Especifica el nivel de rastreo SQL. El nivel 1 recopila datos de rastreo básicos. El nivel 4 incluye información de variables ligadas y el nivel 8 incluye información de eventos de espera. Los valores se pueden combinar. Este parámetro es opcional y el valor por defecto es 1. |
sid |
Especifica el identificador de sesión de la sesión de destino. El valor predeterminado, 0, identifica la sesión actual. |
ser |
Especifica el número de serie de la sesión de destino. El valor predeterminado, 0, identifica la sesión actual. Utilice sid y ser juntos para identificar otra sesión. |
instance_name |
Especifica la instancia de base de datos que contiene la sesión de destino. |
binds |
Especifica si se debe incluir información de variable de enlace. Un valor distinto de cero incluye información de variable de enlace y agrega rastreo de nivel 4. El valor por defecto es 0. |
waits |
Especifica si se debe incluir la información del evento de espera. Un valor distinto de cero incluye información de evento de espera y agrega rastreo de nivel 8. El valor por defecto es 0. |
client_id |
Especifica el identificador de cliente utilizado para hacer coincidir sesiones entre instancias de base de datos. |
service |
Especifica el servicio de base de datos utilizado para hacer coincidir las sesiones. |
module |
Especifica el módulo de aplicación utilizado con service para hacer coincidir las sesiones. |
action |
Especifica la acción de aplicación que se utiliza con service y module para hacer coincidir las sesiones. |
plan_stat |
Especifica la opción de estadísticas del plan de ejecución. Los valores válidos son NEVER, FIRST_EXECUTION, ALL_EXECUTIONS y ADAPTIVE. El valor por defecto es FIRST_EXECUTION. |
sql_id |
Especifica el ID de SQL. Cuando se especifica, el rastreo se limita a la sentencia SQL con ese ID SQL. |
Ejemplo
En el siguiente ejemplo se activa el rastreo SQL para una sentencia SQL específica e incluye información de eventos de espera y variables de enlace:
BEGIN
DBMS_USERDIAG.SESSION_SQL_TRACE_ENABLE(
sql_id => '5yka4rvxpbjc6',
binds => 1,
waits => 1,
plan_stat => 'ADAPTIVE');
END;
/En el siguiente ejemplo, se activa el rastreo SQL para una sesión diferente mediante su ID de sesión y número de serie:
BEGIN
DBMS_USERDIAG.SESSION_SQL_TRACE_ENABLE(
sid => 39,
ser => 15593,
binds => 1,
waits => 1);
END;
/Notas de uso
- Debe estar conectado como usuario
ADMINo tener el privilegioEXECUTEen el paqueteDBMS_USERDIAGpara ejecutar este procedimiento. - El rastreo SQL está desactivado por defecto. Active un método de rastreo para una regla de rastreo, ejecute la carga de trabajo y desactive el rastreo mediante los mismos atributos de identificación.
- Especifique un método de rastreo para una regla de rastreo. Puede identificar destinos de rastreo por ID de SQL, sesión, identificador de cliente, servicio, módulo y acción.
- Los niveles de rastreo más altos, incluidos el rastreo de eventos de espera y variables de enlace, pueden generar archivos de rastreo grandes y afectar al rendimiento de la aplicación.
- Un usuario local no puede rastrear una sesión que pertenece a un usuario común.
DBMS_USERDIAG.ENABLE_SQL_TRACE_EVENTestá en desuso. En su lugar, utiliceSESSION_SQL_TRACE_ENABLEySESSION_SQL_TRACE_DISABLE.
Consulte SESSION_SQL_TRACE_DISABLE Procedure para obtener más información.
SESSION_SQL_TRACE_DISABLE Procedimiento
Utilice el procedimiento DBMS_USERDIAG.SESSION_SQL_TRACE_DISABLE para desactivar el rastreo SQL para la sesión actual o para las sesiones que coincidan con los atributos de rastreo especificados.
Desactive el rastreo después de que termine la carga de trabajo. Cuando el rastreo está desactivado, la base de datos carga los datos de rastreo recopilados en el cubo de Cloud Object Storage configurado para el rastreo SQL. Puede revisar los datos de rastreo en el archivo de rastreo generado o en la vista SESSION_CLOUD_TRACE.
Sintaxis
DBMS_USERDIAG.SESSION_SQL_TRACE_DISABLE (
level IN BINARY_INTEGER DEFAULT 1,
sid IN BINARY_INTEGER DEFAULT 0,
ser IN BINARY_INTEGER DEFAULT 0,
instance_name IN VARCHAR2 DEFAULT NULL,
binds IN BINARY_INTEGER DEFAULT 0,
waits IN BINARY_INTEGER DEFAULT 0,
client_id IN VARCHAR2 DEFAULT NULL,
service IN VARCHAR2 DEFAULT NULL,
module IN VARCHAR2 DEFAULT NULL,
action IN VARCHAR2 DEFAULT NULL,
plan_stat IN VARCHAR2 DEFAULT NULL,
sql_id IN VARCHAR2 DEFAULT NULL
);Parámetros
| Parámetro | Descripción |
|---|---|
level |
Especifica el nivel de rastreo SQL. El nivel 1 recopila datos de rastreo básicos. El nivel 4 incluye información de variables ligadas y el nivel 8 incluye información de eventos de espera. Los valores se pueden combinar. Este parámetro es opcional y el valor por defecto es 1. |
sid |
Especifica el identificador de sesión de la sesión de destino. El valor por defecto, 0, identifica la sesión actual. |
ser |
Especifica el número de serie de la sesión de destino. El valor predeterminado, 0, identifica la sesión actual. Utilice sid y ser juntos para identificar otra sesión. |
instance_name |
Especifica la instancia de base de datos que contiene la sesión de destino. |
binds |
Especifica si se debe incluir información de variable de enlace. Un valor distinto de cero incluye información de variable de enlace y agrega rastreo de nivel 4. El valor por defecto es 0. |
waits |
Especifica si se debe incluir la información del evento de espera. Un valor distinto de cero incluye información de evento de espera y agrega rastreo de nivel 8. El valor por defecto es 0. |
client_id |
Especifica el identificador de cliente utilizado para hacer coincidir sesiones entre instancias de base de datos. |
service |
Especifica el servicio de base de datos utilizado para hacer coincidir las sesiones. |
module |
Especifica el módulo de aplicación utilizado con service para hacer coincidir las sesiones. |
action |
Especifica la acción de aplicación que se utiliza con service y module para hacer coincidir las sesiones. |
plan_stat |
Especifica la opción de estadísticas del plan de ejecución. Los valores válidos son NEVER, FIRST_EXECUTION, ALL_EXECUTIONS y ADAPTIVE. El valor por defecto es FIRST_EXECUTION. |
sql_id |
Especifica el ID de SQL. Cuando se especifica, el rastreo se limita a la sentencia SQL con ese ID SQL. |
Especifique los mismos atributos de identificación que utilizó al activar el rastreo.
Ejemplo
En el siguiente ejemplo se desactiva el rastreo SQL para la sentencia SQL identificada por 5yka4rvxpbjc6:
BEGIN
DBMS_USERDIAG.SESSION_SQL_TRACE_DISABLE(
sql_id => '5yka4rvxpbjc6');
END;
/En el siguiente ejemplo se desactiva el rastreo SQL para la sesión identificada por el ID de sesión 39 y el número de serie 15593:
BEGIN
DBMS_USERDIAG.SESSION_SQL_TRACE_DISABLE(
sid => 39,
ser => 15593);
END;
/Notas de uso
- Utilice los mismos atributos de identificación en
SESSION_SQL_TRACE_DISABLEque ha utilizado enSESSION_SQL_TRACE_ENABLE. - Si la sesión de destino se cierra antes de desactivar el rastreo, la base de datos carga el archivo de rastreo cuando se cierra la sesión.
- Los datos de rastreo pueden contener datos de aplicación. Proteja el cubo y las credenciales de Cloud Object Storage según corresponda.
- Los datos de rastreo están disponibles en la vista
SESSION_CLOUD_TRACEdurante la sesión en la que se ha activado el rastreo. Una vez finalizada la sesión, los datos ya no están disponibles en la vista.
Consulte SESSION_SQL_TRACE_ENABLE Procedure para obtener más información.