前言
开启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.iniBUF_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 #每个日志文件512MASYNC_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.iniSVR_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(); --刷新生效