sqllog.ini用于SQL的日志配置,当且仅当INI参数SVR_LOG=1时使用,且 INI 参数 SVR_LOG_NAME 必须和 sqllog.ini 中的 SVR_LOG_NAME 名称一样,sqllog.ini 配置块才会生效
编辑dm.ini文件,修改SVR_LOG=1,默认为0
动态参数,使用过程SP_SET_PARA_VALUE(1,’SVR_LOG’,1);修改
SVR_LOG_NAME默认值SLOG_ALL
编辑sqllog.ini文件,执行SP_REFRESH_SVR_LOG_ConFIG()使生效。
sqllog.ini参数:
1、SQL_TRACE_MASK
缺省值:1 动态,系统级参数。
LOG 记录的语句类型掩码,是一个格式化的字符串,表示一个 32 位整数上哪一位将被置为 1, 置为 1 的位则表示该类型的语句要记录,格式为:位号:位号:位号。例如:3:5:7 表示第 3, 第 5,第 7 位上的值被置为 1。每一位的含义见下面说明(2~17 前提是:SQL 标记位 24、25、 26、28 也要置):
1 全部记录(全部记录包含 22-30) 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 记录事务相关事件 30 记录 XA 事务
2、FILE_NUM
缺省值:5 动态,系统级
总共记录多少个日志文件,当日志文件达到这个 设定值以后,再生成新的文件时,会删除最早的 那个日志文件,日志文件的命令格式为 dmsql_ 实例名_日期_时间.log。 当这个参数配置成 0 时,只会生成两个日志相互 切换着记录。有效值范围(0~1024)
3、SWITCH_MODE
缺省值:2 手动
表示 SQL 日志文件切换的模式:
0:不切换 1:按文件中记录数量切换 2:按文件大小切换 3:按时间间隔切换
4、SWITCH_LIMIT
缺省值:128 动态,系统级
不同切换模式 SWITCH_MODE 下,意义不同:
按数量切换时,一个日志文件中的 SQL 记录条数达到多少条之后系统会自动将日志切换 到另一个文件中。一个日志文件中的 SQL 记录条数达到多少条之后系统会自动将日志切换到另一个文件中。有效值范围(1000~ 10000000)
按文件大小切换时,一个日志文件达到该大小后,系统自动将日志切换到另一个文件中, 单位为 M。有效值范围(1~ 2000)
按时间间隔切换时,每个指定的时间间隔,按文件新建时间进行文件切换,单位为分钟。有效值范围(1~ 30000)
5、ASYNC_FLUSH
缺省值:1 动态系统级
是否打开异步 SQL 日志功能。0:表示关闭;1: 表示打开
6、MIN_EXEC_TIME
缺省值:0 动态系统级
详细模式下,记录的最小语句执行时间,单位为毫秒。执行时间小于该值的语句不记录在日志文件中。有效值范围(0~ 4294967294)
7、FILE_PATH
缺省值:..LOG 动态系统级
日志所在的文件加路径
8、BUF_TOTAL_SIZE
缺省值:10240 动态,系统级
SQL 日志 BUFFER 占用空间的上限,单位为 KB, 取值范围(1024~1024000
9、BUF_SIZE
缺省值:1024 动态,系统级
一块 SQL 日志 BUFFER 的空间大小,单位为 KB, 取值范围(50~409600)
10、BUF_KEEP_CNT
缺省值:6 动态,系统级
系统保留的 SQL 日志缓存的个数,有效值范围 (1~ 100)
11、PART_STOR
缺省值:0 手动
SQL 日志分区存储,表示 SQL 日志进行分区存储的划分条件。
0 表示不划分;
1 表示USER:根据不同用户分布存储
12、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 运行结果,包括运行用时和 影响行数
13、USER_MODE
缺省值:0 手动
SQL 日志按用户过滤时的过滤模式,取值
0:关闭用户过滤
1:白名单模式,只记录列出的用户操作的 SQL 日志
2:黑名单模式,列出的用户不记录 SQL 日志
14、USERS
缺省值:空串 手动
打开 SVR_LOG_USER_MODE 时指定的用户列 表。格式为:用户名:用户名:用户名
默认的sqllog.ini文件
BUF_TOTAL_SIZE = 10240 #SQLs Log Buffer Total Size(K)(1024~1024000) BUF_SIZE = 1024 #SQLs Log Buffer Size(K)(50~409600) BUF_KEEP_CNT = 6 #SQLs Log buffer keeped count(1~100) [SLOG_ALL] FILE_PATH = ../log #默认日志路径 PART_STOR = 0 #SQL日志不分区 SWITCH_MODE = 2 #按文件大小切换 SWITCH_LIMIT = 128 #每个日志文件大小128M ASYNC_FLUSH = 1 #打开异步日志 FILE_NUM = 5 #文件保留数5 ITEMS = 0 #记录所有列 SQL_TRACE_MASK = 1 #全部记录 MIN_EXEC_TIME = 0 #记录的最小语句执行时间 USER_MODE = 0 #关闭用户过滤 USERS =
修改SWITCH_MODE =0(按文件大小切换) SWITCH_LIMIT=128(日志文件大小128M) 保留10个日志文件,超过查出最旧的日志文件,日志文件路径为/dmdata/log
#执行过程使sqllog参数生效
SQL> SP_REFRESH_SVR_LOG_ConFIG();
日志文件在指定的/dmdata/log目录下以dmsql开头
查看日志
达梦数据库 - 新一代大型通用关系型数据库 | 达梦云适配中心达梦数据库产品体验站,DM8在线试玩,达梦数据库全系列产品免费下载,官方权威的快速上手文档和产品手册,最活跃的达梦技术社区,面向全行业ISV厂商免费的云适配服务。https://eco.dameng.com



