首批通过分布式安全可靠测评,为关键业务系统打造
SQL 执行报错而不能计入 SQL_AUDIT 的情况说明
更新时间:2026-05-14 07:41
通常,执行成功的 SQL 都会计入 SQL_AUDIT 中,而执行报错的 SQL 则需要依据其执行报错的阶段来决定是否计入 SQL_AUDIT 中。
在 OceanBase 数据库中,SQL 请求的执行流程如图所示。

如果 SQL 在进入 Executor 阶段前发生报错,则该 SQL 的执行信息依然计入 SQL_AUDIT 中,比如:
- SQL 中有语法错误,Parser 阶段报错。
- SQL 中的表或者列不存在,Resolver 阶段报错。
如果 SQL 在 Executor 阶段发生报错,则该 SQL 的执行信息会被统计并写入 SQL_AUDIT 中,比如:
- Insert 时发生主键冲突错误。
- SQL 执行时发生超时。
适用版本
OceanBase 数据库所有版本