记录 SQL 命令(reg_command)
📄字数 691
👁️阅读量 加载中...
引入版本
v11.0.0
功能描述
用于控制是否将 SQL 命令记录到 COMMAND 日志中,支持节点级的控制粒度。
参数属性
属性 | 属性值 |
---|---|
参数类型 | BOOLEAN |
默认值 | FALSE |
取值范围 | TRUE,FALSE |
影响范围 | 系统级 |
修改方式 | 在线修改,立即生效 |
使用场景说明
- reg_command = true,所有 SQL 请求都会以 UTF8(UTF8_GENERAL_CI) 字符集编码格式记载至系统命令日志(COMMAND.LOG),其中长度超过 16 KB 的 SQL 会被截断。
- 系统命令日志文件大小由
errlog_size
限制,超过此限制的日志文件会被归档。 - 可访问系统表查看本地或所有节点的命令日志内容。
系统表 | 作用描述 |
---|---|
SYSDBA.SYS_COMMAND_LOG | 访问连接节点的命令日志。 |
SYSDBA.SYS_ALL_COMMAND_LOG | 访问集群所有节点的命令日志。 |
4.个别场景下的命令记载行为不受 reg_command 控制。
- | reg_ddl = true | 高内存消耗 SQL 请求(> 128 MB) |
---|---|---|
reg_command = true | 记载所有 SQL 请求( DDL 请求会重复记载)。 | 记载所有 SQL 请求( 高内存消耗 SQL 会重复记载)。 |
reg_command = false | 只记载 DDL 请求(需开启reg_ddl ) |
示例
查看是否记录SQL命令。
sqlSQL> show reg_command; +-------------+ | REG_COMMAND | +-------------+ | F | +-------------+ (1 row)
开启记录SQL命令。
sqlSQL> set reg_command on; Execute successful. -- 或 SQL> set reg_command to true; Execute successful.