DM8:达梦数据库开启SQL日志sqllog
- 环境介绍
- 1 修改配置文件sqllog.ini
- 2 开启与关闭 DMSQLLOG
- 2.1 开启 sql 日志记录功能
- 2.2 查询 sql 日志记录是否开启:0 关闭,1/2/3开启);
- 2.3 关闭 sql 日志记录功能
- 3 sqllog.ini 详细介绍
- 4 更多达梦数据库使用经验总结
环境介绍
- 在使用数据库过程中,有时候想要查看数据库执行的SQL日志,由于V$SESSIONS 系统视图默认保留10000条,不满足需求,可以配置开启SQLLOG;
SELECT COUNT(*) FROM V$SQL_HISTORY;
--输出结果: 10000
1 修改配置文件sqllog.ini
[dmdba@dmrw-26 home]$ cd /home/dmdba/dmdata5236/DAMENG/
[dmdba@dmrw-26 DAMENG]$ vi 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 日志分区存储,
##表示 SQL 日志进行分区存储的划分条件。
##0 表示不划分;1 表示 USER:根据不同用户分布存储
SWITCH_MODE = 2 ## 日志文件切换模式 2 按文件大小切换
SWITCH_LIMIT = 256 ## 文件大小限制,默认128,建议256 ,单位MB
ASYNC_FLUSH = 1 ## 日志刷盘模式默认1 异步刷盘,0实时刷盘(要考虑性能)
FILE_NUM = 20 ## 打印日志文件个数,默认5个,建议配置20
ITEMS = 0 ## 记录SQL全部内容信息 默认 0
SQL_TRACE_MASK = 1 ## 打印全部类型SQL日志 默认 1
MIN_EXEC_TIME = 0 ## 详细模式下,记录的最小语句执行时间,单位毫秒
USER_MODE = 0 ## SQL 日志按用户过滤时的过滤模式,取值0:关闭用户过滤
USERS = ## 打开 SVR_LOG_USER_MODE 时指定的用户列表。格式为:用户名:用户名:用户名
[SLOG_ERROR]
SQL_TRACE_MASK = 23
FILE_PATH = ../log
[SLOG_DDL]
SQL_TRACE_MASK = 3
[SLOG_LONG_SQL]
SQL_TRACE_MASK = 25
MIN_EXEC_TIME = 60000
2 开启与关闭 DMSQLLOG
- 登陆达梦数据库管理工具或 disql 执行命令
2.1 开启 sql 日志记录功能
- 开启后注意观察数据库log目录的dmsql开头的日志文件,是否达到256MB后正常切换,达到20个日志文件后自动循环覆盖,若没有循环覆盖,磁盘会很快备占用完;若有问题请检查配置文件。
call SP_SET_PARA_VALUE(1,'SVR_LOG',1);
2.2 查询 sql 日志记录是否开启:0 关闭,1/2/3开启);
select SF_GET_PARA_VALUE(1,'SVR_LOG')union ALL
select SF_GET_PARA_VALUE(2,'SVR_LOG');
2.3 关闭 sql 日志记录功能
call SP_SET_PARA_VALUE(1,'SVR_LOG',0);
3 sqllog.ini 详细介绍
- 引用DM8 系统管理员手册内容
- 2.1.1.5 sqllog.ini
- sqllog.ini用于SQL日志的配置,当且仅当INI参数SVR_LOG=1时使用。如果在服务器启动过程中,修改了sqllog.ini文件。修改之后的文件,只要调用过程SP_REFRESH_SVR_LOG_CONFIG() 就会生效。sqllog.ini的详细配置请参考表2.29。
表 2.29 sqllog.ini 的配置项
4 更多达梦数据库使用经验总结
更多达梦数据库使用经验总结 - - 点击跳转