SQL AUDIT 信息是根据租户和服务器单独记录的,由于审计数据量较大,为节省审计数据占用的存储空间,需要定期清理审计信息。FLUSH SQL AUDIT 命令可以实现租户级跨服务器的 SQL AUDIT 清理功能。
有关动态性能视图 gv$sql_audit 与 v$sql_audit,详见《OceanBase 数据库 参考指南》中的 性能视图 章节。
清理 SQL AUDIT 的命令如下:
obclient> ALTER SYSTEM FLUSH SQL AUDIT [tenant_list] [GLOBAL]
其中,tenant_list 和GLOBAL为可选字段。
如果在
tenant_list中指定租户,则只删除指定租户的 SQL AUDIT。否则默认会删除所有租户的相关 SQL AUDIT。如果指定了 GLOBAL,会删除所有 OBServer 上该租户的 SQL AUDIT。否则仅删除本机中相关租户的 SQL AUDIT。
注意
当某一条记录正在被访问,而 FLUSH 命令也恰巧要淘汰这一条记录,淘汰操作会等待,直到访问结束。下次再次访问 gv$sql_audit 或 v$sql_audit 时,对应的记录不存在。