达梦数据库开启sql日志及配置

达梦数据库sql日志开启之后可以抓取数据库中运行的sql语句,并且包含了sql执行的耗时,sql日志还包括参数信息,错误信息等,对于排除数据库执行过的SQL语句或者批量优化SQL语句时此功能尤为重要。

官方文档中对sql日志的描述如下。建议开启sql日志时开启异步SQL,这样对数据库系统运行的影响较小。

操作步骤如下: 

1、创建SQL日志存放目录:

mkdir -p /opt/dmdbms/bin/bin/logcommit

2、检查SVR_LOG参数:

检查SVR_LOG参数是否为1,该参数的相关取值含义如下图

select * from v$parameter where para_name like ‘SVR_LOG%’; 
或
select * from v$dm_ini where para_name = ‘SVR_LOG’; 
或
查询DM数据库服务器的dm.ini文件
grep SVR_LOG dm.ini 

3、修改sqllog.ini文件如下

sqllog.ini 用于 sql 日志的配置 ,当且仅当 INI 参数 SVR_LOG=1 时使用。 如果在服务器启动过程中,修改了sqllog.ini 文件。修改之后的文件,只要调用过程 SP_REFRESH_SVR_LOG_CONFIG() 就会生效。
cd /data/dmdata/OA 

vi sqllog.ini 

BUF_TOTAL_SIZE = 10240 
BUF_SIZE = 1024 
BUF_KEEP_CNT = 6
[SLOG_ALL] FILE_PATH = /opt/dmdbms/bin/bin/logcommit  #创建的sql日志存放目录
PART_STOR = 0 
SWITCH_MODE = 2  #表示SQL日志文件切换的模式,2表示按文件大小切换
SWITCH_LIMIT = 256  #单个文件大小256M
ASYNC_FLUSH = 1  #开启异步SQL日志
FILE_NUM = 6  #总共记录6个日志文件
ITEMS = 0 
SQL_TRACE_MASK = 1   #LOG记录的语句类型掩码,默认为1,可以不修改
MIN_EXEC_TIME = 0 
USER_MODE = 0 
USERS = 

sqllog.ini详细配置如下图

设置sql日志为异步,按照文件大小进行切换,每个256M,6个文件循环写。根据实际情况修改

调用存储过程生效

SP_REFRESH_SVR_LOG_CONFIG(); 

 4、检查SVR_LOG等参数:


select * from v$process; --当开启了sql日志时此视图的trace_name字段会显示实际的SQL日志路径
也可以再次到实际的路径下查看是否产生了SQL日志

注意,以下SQL也可以查询SQL日志的路径,但查到的sql日志的路径(SVR_LOG_FILE_PATH的值)并不正确。即便重启数据库仍然查到的是错误的值

select * from v$parameter where para_name like ‘SVR_LOG%’; --查看SVR_LOG_FILE_PATH的值与之际配置的并不同
select * from v$dm_ini where para_name like ‘SVR_LOG%’; --查看SVR_LOG_FILE_PATH的值与之际配置的并不同

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

保定公民

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值