dbms_sql.delete_trace_by_sqlid

您可以使用dbms_sql.delete_trace存储过程根据具体的SQL语句来删除不需要SQL Trace跟踪的模板化SQL语句。也可以使用dbms_sql.delete_trace_by_sqlid存储过程根据SQL ID来删除不需要SQL Trace跟踪的模板化SQL语句。

语法

dbms_sql.delete_trace_by_sqlid('<schema>', '<sql_id>')

参数说明

参数

说明

schema

Schema名称。

sql_id

SQL ID。

注意事项

  • 当在主节点执行该存储过程时,该操作会被持久化,mysql.sql_sharing表中对应的记录会被删除,并同步至只读节点。

  • 当在只读节点执行该存储过程时,该操作不会被持久化,且仅在该只读节点生效。通过集群地址访问数据库时,模板化后的SQL语句会自动路由至主节点。

示例

通过SQL ID删除不需要SQL Trace跟踪的SQL语句。示例如下:

call dbms_sql.delete_trace_by_sqlid('test', '82t4dswtqjg02');
call dbms_sql.delete_trace_by_sqlid('test', polar_sql_id('select * from t where c1 > 1 and c1 < 10'));
call dbms_sql.delete_trace_by_sqlid('test', 'select * from t where c1 > 1 and c1 < 10');

示例中的三条SQL语句执行效果相同。