记录 SQL 命令(reg_command)
📄字数 591
👁️阅读量 加载中...
引入版本
v11.0.0
功能描述
用于控制是否将 SQL 命令记录到 COMMAND 日志中。
参数属性
| 属性 | 属性值 |
|---|---|
| 参数类型 | BOOLEAN |
| 默认值 | FALSE |
| 取值范围 | TRUE,FALSE |
| 影响范围 | 系统级 |
| 修改方式 | 在线修改,立即生效 |
使用场景说明
reg_command = true,所有 SQL 请求都会以 UTF8(UTF8_GENERAL_CI) 字符集编码格式记载至系统命令日志(COMMAND.LOG),其中长度超过 16 KB 的 SQL 会被截断。
个别场景下的命令记载行为不受 reg_command 控制。
| - | reg_ddl = true | reg_ddl = false |
|---|---|---|
| reg_command = true | 记载所有 SQL(DDL 会重复记载)。 | 记载所有 SQL |
| reg_command = false | 只记载 DDL | 不记载任何 SQL |
注意
- 数据库系统日志文件大小由 errlog_size 控制。
- 高内存消耗 SQL 请求(线程内存消耗大于 128MB)在 debug_flag = 2 时会被记载,此行为不受 reg_command 参数约束。
- 支持访问系统表 SYSDBA.SYS_COMMAND_LOG (或 SYSDBA.SYS_ALL_COMMAND_LOG)查看本地(或集群所有节点)的命令日志信息。
示例
sql
-- 开启 SQL 记载。
SQL> SET reg_command ON;
-- 查看 reg_command。
SQL> SHOW reg_command;