Todos los productos
Search
Centro de documentos

PolarDB:dbms_sql.delete_trace

Última actualización: Sep 09, 2026

dbms_sql.delete_trace elimina una instrucción SQL del seguimiento de SQL Trace cuando loose_sql_trace_type está establecido en DEMAND.

Sintaxis

dbms_sql.delete_trace('<schema>', '<query>')

Parámetros

Parámetro

Descripción

schema

El nombre del esquema.

query

La instrucción SQL que se está ejecutando.

Funcionamiento

Cuando llama a dbms_sql.delete_trace, se ejecutan las siguientes acciones:

  1. Convierte las constantes literales de la instrucción SQL en comodines (?), lo que genera una plantilla de SQL.

  2. Elimina todas las filas de mysql.sql_sharing que coinciden con la plantilla.

  3. Evita que SQL Trace registre cualquier instrucción SQL futura que coincida con la plantilla.

Notas de uso

Nodo primario frente a nodos de solo lectura

El procedimiento almacenado se comporta de manera distinta según el nodo donde se ejecute:

  • Nodo primario: la eliminación es permanente. Las filas coincidentes se eliminan de mysql.sql_sharing en el nodo primario y el cambio se sincroniza con todos los nodos de solo lectura.

  • Nodos de solo lectura: la eliminación solo aplica al nodo donde se ejecuta y no se conserva. Si accede a una base de datos mediante un endpoint de clúster, las instrucciones SQL basadas en plantillas se enrutan automáticamente al nodo primario.

Ejemplo

Elimine una instrucción SQL del seguimiento de SQL Trace:

CALL dbms_sql.delete_trace('test', 'select * from t where c1 > 1 and c1 < 10');

Si la llamada se completa correctamente, no se devuelve ninguna salida.

El procedimiento almacenado crea la siguiente plantilla a partir de la instrucción y elimina todas las filas coincidentes de mysql.sql_sharing:

SELECT * FROM `t` WHERE `c1` > ? AND `c1` < ?