前言
开启sql日志记录,可协助排查定位数据库问题。生产开启会有一定的性能消耗,建议打开 SQL 日志异步刷盘功能
1.配置sqllog.ini文件
sqllog.ini 用于 SQL 日志的配置,当且仅当 INI 参数 SVR_LOG=1 时使用。
运行中的数据库实例,可通过命令,查看sqllog.ini所在的路径:
ps -ef|grep dmserver
2.配置sqllog.ini
vi /dmdata/data/DAMENG/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 = /dmdata/sqllog #SQL 日志文件所在的文件夹路径。缺省生成在 DM 安装目录的 log 子目录下面
PART_STOR = 0 #默认即可,具体参数含义,查看连接
SWITCH_MODE = 2 #默认即可
SWITCH_LIMIT = 512 #每个日志文件512M
ASYNC_FLUSH = 1 #开启异步记录
FILE_NUM =20 #需根据实际空间划分。代表总共记录多少个日志文件,当日志文件达到这个设定值以后,再生成新的文件时,会删除最早的那个日志文件。取值范围 2~1024。
ITEMS = 0 #默认即可
SQL_TRACE_MASK = 1 #默认即可
MIN_EXEC_TIME = 0 #默认即可
USER_MODE = 0 #默认即可
USERS = #默认即可
3.打开sql日志记录,并生效操作
方式1:编辑 dm.ini
SVR_LOG=1
登录数据库,执行语句:
SP_REFRESH_SVR_LOG_CONFIG(); --刷新生效
方式2:语句修改
登录数据库,执行语句:
SP_SET_PARA_VALUE(1,'SVR_LOG',0);--先关闭
SP_SET_PARA_VALUE(1,'SVR_LOG',1);--再打开
SP_REFRESH_SVR_LOG_CONFIG(); --刷新生效