dmsql日志分析工具部署与使用DM8/DM7
- [1 环境介绍](#1 环境介绍)
- [2 JAVA 环境变量配置](#2 JAVA 环境变量配置)
-
- [2.1 Os Kylin 10 JAVA 环境变量配置](#2.1 Os Kylin 10 JAVA 环境变量配置)
- [2.2 Windos7 JAVA环境变量配置](#2.2 Windos7 JAVA环境变量配置)
- [3 数据库配置](#3 数据库配置)
-
- [3.1 数据库初始化参数](#3.1 数据库初始化参数)
- [3.2 数据库创建表](#3.2 数据库创建表)
- [4 配置DMLOG日志分析工具](#4 配置DMLOG日志分析工具)
-
- [4.1 Kylin v10 配置DMLOG日志分析工具](#4.1 Kylin v10 配置DMLOG日志分析工具)
- [4.2 执行日志分析](#4.2 执行日志分析)
- [4.3 Windows7 配置DMLOG日志分析工具](#4.3 Windows7 配置DMLOG日志分析工具)
- [4.4 执行日志分析](#4.4 执行日志分析)
1 环境介绍
- cpu x86
- Os Kylin 10 , windos7
- dm8.1-3-162-2024.07.03-234060-20108-ENT
- 需要先配置smsql日志 sqllog
- dmsql 日志配置 - - 点击跳转
- dmsql日志分析工具 - - 点击下载
2 JAVA 环境变量配置
2.1 Os Kylin 10 JAVA 环境变量配置
- 系统若没自带的 jdk 则使用数据库自带的 jdk
- jdk 版本要求 1.8
sql
vi /home/dmdba/.bash_profile
export JAVA_HOME=/opt/dmdba/dmdbms240712/jdk
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
- 环境变量生效
shell
source /home/dmdba/.bash_profile
2.2 Windos7 JAVA环境变量配置
3 数据库配置
3.1 数据库初始化参数
- 页大小 32
- 簇大小 32
- 其他参数默认
3.2 数据库创建表
sql
CREATE TABLE "SYSDBA"."LOG_COMMIT"
(
"STARTTIME" DATETIME(6),
"SESS" VARCHAR(500),
"SQLSTR" TEXT,
"EXETIME" FLOAT,
"SQLSTR_SUB" VARCHAR(8000),
"EUER" VARCHAR(100),
"OPTYPE" VARCHAR(30)) STORAGE(USING LONG ROW, ON "MAIN", CLUSTERBTR) ;
CREATE INDEX "IDX_EXETIME_RESULT_2021_10_12_11_22_52" ON "SYSDBA"."LOG_COMMIT"("EXETIME" ASC) STORAGE(ON "MAIN", CLUSTERBTR) ;
4 配置DMLOG日志分析工具
4.1 Kylin v10 配置DMLOG日志分析工具
- 分析生成结果 web 页面可以正常打开
xml
#分析非MPP产生的日志为0,MPP产生的日志为1
ismpp=0
#数据库IP地址
ip=192.168.100.51
#数据库端口号
port=5236
#数据库用户名
username=SYSDBA
#数据库密码
password=SYSDBA
#根据已存在的数据生成结果为1,根据LOG日志新生成数据为0
use_result=0
#SQL日志的文件夹绝对路径,并保证文件夹中只有SQL日志文件,路径请用两个反杠,
#例如:
#windows D:\\360Downloads\\log
#linux /opt/dmdba/dmsql
sqlpath=/opt/dmdba/dmsql
#您想分析多少毫秒以上的SQL语句
time=0
#您想分析执行多少次以上的SQL语句
frequency=0
#此参数已废弃,excel中增加一列替换参数后的sql
is_replace=1
#参数队列的长度,默认4000,当出现找不到有效参数时可以适当加大此参数
queue_length=40000
#散点图中最大执行时间ms LEAST(exetime,2000)
max_exetime=10000
#echarts散点图中最小执行时间ms(DML、SEL、UPD、INS、DEL,不包含DDL、CAL)
min_exetime=100
#取值范围(0~100),echart散点图中取小于min_exetime多少百分比的数据
e_percent=10
#是否生成excel的统计结果
if_excel=1
#日志表的表名
tab_name=log_commit
#此处填入待拆分的TRXID,将把该事务的日志单独写入文件中,如果非空则只做事务拆分,不做其他分析
trx_id=
#待分析事务的日志文件名,此处为空则分析整个文件夹中的所有文件
file_name=
#windows 执行命令 结果集文件会生成在命令执行目录
#java -jar C:\Users\GS\Desktop\tool\DMLOG8.17\Dmlog_DM_8.17.jar
#linux 执行命令 结果集文件会生成在命令执行目录
#java -jar Dmlog_DM_8.17.jar
4.2 执行日志分析
shell
cd /opt/dmdba/DMLOG8.17;
java -jar Dmlog_DM_8.17.jar
- 执行结果是 RESULT_创建时间
- html / xls 可以参考
- xls
- ms 是执行时间 由高到低排序
- times 是执行次数 由高到低排序
4.3 Windows7 配置DMLOG日志分析工具
- 分析生成结果 web 页面无法打开
- 可以参考excel 结果
xml
#分析非MPP产生的日志为0,MPP产生的日志为1
ismpp=0
#数据库IP地址
ip=192.168.100.51
#数据库端口号
port=5236
#数据库用户名
username=SYSDBA
#数据库密码
password=SYSDBA
#根据已存在的数据生成结果为1,根据LOG日志新生成数据为0
use_result=0
#SQL日志的文件夹绝对路径,并保证文件夹中只有SQL日志文件,路径请用两个反杠,
#例如:
#windows D:\\360Downloads\\log
#linux /opt/dmdba/dmsql
sqlpath=C:\\Users\\GS\\Downloads\\dmlsql
#您想分析多少毫秒以上的SQL语句
time=0
#您想分析执行多少次以上的SQL语句
frequency=0
#此参数已废弃,excel中增加一列替换参数后的sql
is_replace=1
#参数队列的长度,默认4000,当出现找不到有效参数时可以适当加大此参数
queue_length=40000
#散点图中最大执行时间ms LEAST(exetime,2000)
max_exetime=10000
#echarts散点图中最小执行时间ms(DML、SEL、UPD、INS、DEL,不包含DDL、CAL)
min_exetime=100
#取值范围(0~100),echart散点图中取小于min_exetime多少百分比的数据
e_percent=10
#是否生成excel的统计结果
if_excel=1
#日志表的表名
tab_name=log_commit
#此处填入待拆分的TRXID,将把该事务的日志单独写入文件中,如果非空则只做事务拆分,不做其他分析
trx_id=
#待分析事务的日志文件名,此处为空则分析整个文件夹中的所有文件
file_name=
#windows 执行命令 结果集文件会生成在命令执行目录
#java -jar C:\Users\GS\Desktop\tool\DMLOG8.17\Dmlog_DM_8.17.jar
#linux 执行命令 结果集文件会生成在命令执行目录
#java -jar Dmlog_DM_8.17.jar
4.4 执行日志分析
sql
C:\Users\GS>java -jar C:\Users\GS\Desktop\tool\DMLOG8.17\Dmlog_DM_8.17.jar
- 执行结果是 RESULT_创建时间
- ms 是执行时间 由高到低排序
- times 是执行次数 由高到低排序