1、在达梦实例位置下创建sqllog.ini文件
BUF_TOTAL_SIZE = 10240 #SQL 日志 BUFFER 占用空间的上限,单位为 KB,取值范围(1024~1024000)
BUF_SIZE = 1024 #一块 SQL 日志 BUFFER 的空间大小,单位为 KB,取值范围(50~409600)
BUF_KEEP_CNT = 6 #系统保留的 SQL 日志缓存的个数, 有效值范围
(1~ 100)
[SLOG_ALL]
FILE_PATH = ..\log #日志文件所在的文件夹路径
PART_STOR = 0 #系统保留的 SQL 日志缓存的个数, 有效值范围(1~ 100)
SWITCH_MODE = 2 #表示 SQL 日志文件切换的模式:
0:不切换
1:按文件中记录数量切换
2:按文件大小切换
3:按时间间隔切换
SWITCH_LIMIT = 100 #文件大小100M
ASYNC_FLUSH = 1 #是否打开异步 SQL 日志功能。 0:表示关闭; 1:表示打开
FILE_NUM = 100 #生成的SQLLOG个数
ITEMS = 0 #配置 SQL 日志记录中的那些列要被记录。该参数是一个格式化的字符串,表示一个记录中的那些项目要被记录,格式为:列号:列号:列号。列如: 3:5:7 表示第 3,第 5,第 7 列要被记录。
#0 表示记录所有的列
#1 TIME 执行的时间
#2 SEQNO 服务器的站点号
#3 SESS 操作的 SESS 地址
#4 USER 执行的用户
#5 TRXID 事务 ID
#6 STMT 语句地址
#7 APPNAME 客户端工具
#8 IP 客户端 IP
#9 STMT_TYPE 语句类型
#10 INFO 记录内容
#11 RESULT 运行结果,包括运行用时和
影响行数(可能没有)
SQL_TRACE_MASK = 1 #1 全部记录(全部记录并不包含原始语句)
#2 全部 DML 类型语句
#3 全部 DDL 类型语句
#4 UPDATE 类型语句(更新)
#5 DELETE 类型语句(删除)
#6 INSERT 类型语句(插入)
#7 SELECT 类型语句(查询)
#8 COMMIT 类型语句(提交)
#9 ROLLBACK 类型语句(回滚)
#10 CALL 类型语句(过程调用)
#11 BACKUP 类型语句(备分)
#12 RESTORE 类型语句(恢复)
#13 创建对象操作(CREATE DDL)
#14 修改对象操作(ALTER DDL)
#15 删除对象操作(DROP DDL)
#16 授权操作(GRANT DDL)
#17 回收操作(REVOKE DDL)
#22 绑定参数
#23 存在错误的语句(语法错误,语义分析错误等)
#24 是否需要记录执行语句
#25 是否需要打印计划和语句执行的时间
#26 是否需要记录执行语句的时间
#27 原始语句(服务器从客户端收到的未加分析的语句)
#28 是否记录参数信息,包括参数的序号、数据类型和值
#29 是否记录事务相关事件
MIN_EXEC_TIME = 0 #详细模式下,记录的最小语句执行时间,单位为毫秒。执行时间小于该值的语句不记录在日志文件中。有效值范围(0~ 4294967294)
USER_MODE = 0 #SQL 日志按用户过滤时的过滤模式,取值
#0:关闭用户过滤
#1:白名单模式,只记录列出的用户操作的SQL 日志
#2:黑名单模式,列出的用户不记录 SQL 日志
USERS = #打开 SVR_LOG_USER_MODE 时指定的用户列表。格式为:用户名:用户名:用户名
使用DBA用户登录执行以下SQL语句
SP_REFRESH_SVR_LOG_CONFIG(); #使sqllog.ini生效
开启SQL日志
SP_SET_PARA_VALUE(1, 'SVR_LOG', 1);
关闭SQL日志
SP_SET_PARA_VALUE(1, 'SVR_LOG', 0);
如果未设置上限大小,请注意关闭。这个日志会记录数据库执行的所有sql情况。注意磁盘空间