您可以使用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语句执行效果相同。