注册
对DM8的dm.ini文件、sqllog文件和Dmlog工具使用的浅析
培训园地/ 文章详情 /

对DM8的dm.ini文件、sqllog文件和Dmlog工具使用的浅析

DOUdou11 2023/08/10 1359 0 0

对DM8的dm.ini文件、sqllog文件和Dmlog工具使用的浅析

一、配置dm.ini文件

dm.ini 是 DM 数据库启动所必须的配置文件,通过配置dm.ini文件可以设置 DM 数据库服务器的各种功能和也可能进行性能的选择。在创建数据库时设置的页大小和簇大小,一旦创建实例,则不能被改变。

1、参数的属性

可以通过动态性能视图V$PARAMETER的TYPE字段查看。
A、静态(IN_FILE):只能修改 ini 文件,修改后重启DB才能生效,为系统级参数,生效后会影响所有的会话
B、动态(SYS和SESSION): ini 文件和内存同时可修改,修改后即时生效,动态参数又分为会话级和系统级,会话级参数被修改后,新参数值只会影响新创建的会话,统级参数修改后,将会影响所有的会话
C、手动(READ ONLY):在运行过程中不能被修改,必须手动修改 dm.ini 参数文件,然后重启才能生效

2、修改参数的方式

A、通过客户端的console
1.png
2.png
B、直接编辑参数配置文件dm.ini
3.png
C、通过SQL语句修改参数
ALTER SYSTEM SET '<参数名称>'=<参数值> [DEFERRED] [MEMORY|BOTH|SPFILE];
--DEFERRED: 只适用于动态参数。指定DEFERRED时,参数值延迟生效,对当前session不生效,只对新创建的会话生效;缺省为立即生效,即对当前会话和新创建的会话都生效
D、通过系统函数查看和修改参数
查看数值类型:
SF_GET_PARA_VALUE(scope int, paraname varchar(256))
例如:
4.png
查看浮点类型:
SF_GET_PARA_DOUBLE_VALUE(scope int, paraname varchar(8187))
例如:
5.png
查看字符串类型:
SF_GET_PARA_STRING_VALUE(scope int, paraname varchar(8187))
例如:
6.png
修改整型:
SP_SET_PARA_VALUE(scope int, paraname varchar(256), value int64)
7.png
修改浮点类型:
SP_SET_PARA_DOUBLE_VALUE(scope int, paraname varchar(8187), value double)
修改字符串:
SP_SET_PARA_STRING_VALUE(scope int, paraname varchar(8187), value double)
-- SCOPE 参数为 1 表示获取INI 文件中配置参数的值,为 2 表示获取内存中配置参数的值

二、配置归档文件

服务器运行在归档模式下,联机日志文件中的内容将会被保存至硬盘,形成归档日志文件,如果是非归档模式,就不会形成归档日志,采用归档模式对系统的性能会产生一定影响,但对系统的安全性有更大的积极意义,当出现故障时其丢失数据的可能性更小。

1、归档配置的方式

A、数据库服务未启动时,修改配置文件,编辑一个dmarch.ini文件,内容如下,同时需要将dm.ini文件中的参数ARCH_INI修改为1。
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = \DM8\data
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 2048
B、数据库服务运行时,执行以下操作步骤配置归档
ALTER DATABASE MOUNT;
ALTER DATABASE ADD ARCHIVELOG
‘DEST=/app/dm/arch,TYPE=local,FILE_SIZE=1024, SPACE_LIMIT = 2048';
ALTER DATABASE OPEN;
C、开启和关闭归档模式
ALTER DATABASE ARCHIVELOG | NOARCHIVELOG;
但是开始和关闭之前也需要先将数据库由 OPEN 状态设置为 MOUNT 状态,配置完毕后再从 MOUNT 状态改回 OPEN 状态。

三、配置sqllog日志

在达梦中可把sql日志设置为同步与异步两种,跟踪日志主要用于分析错误和分析性能问题,基于跟踪日志可以对系统运行状态有一个分析,比如,可以挑出系统现在执行速度较慢的 SQL 语句,进而对其进行优化,为避免对性能产生影响,采用异步记,SQL日志sqllog.ini 用于 sql 日志的配置 ,当且仅当 INI中 参数 SVR_LOG=1 时使用。
A、创建sql日志存放的目录
mkdir app/logcommit
B、在dm.ini文件中将 SVR_LOG 参数修改为1
C、配置sqllog.ini文件
BUF_TOTAL_SIZE = 10240
BUF_SIZE = 1024
BUF_KEEP_CNT = 6
[SLOG_ALL]
FILE_PATH = /dm/logcommit
PART_STOR = 0
SWITCH_MODE = 2 --表示SQL日志文件切换的模式: 0:不切换 1:按文件中记录数量切换 2:按文件大小切换 3:按时间间隔切换
SWITCH_LIMIT = 256
ASYNC_FLUSH = 1 --是否打开异步SQL日志功能
FILE_NUM = 6 --总共记录多少个日志文件,当日志文件达到这个设定值以后,再生成新的文件时,会删除最早的那个日志文件
ITEMS = 0
SQL_TRACE_MASK = 1 --LOG记录的语句类型掩码,是一个格式化的字符串
MIN_EXEC_TIME = 3
USER_MODE = 0
USERS =
8.png

四、使用DMLOG8.13工具

1、查看java的安装情况

9.png

2、创建表

该工具实现的原理为:读取SQL日志到后台达梦数据库log_commit表中 ,在数据库中进行查询统计后输出excel文件结果
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" ON "SYSDBA"."LOG_COMMIT"("EXETIME" ASC) STORAGE(ON "MAIN", CLUSTERBTR);
10.png

3、将DMLOG8.13上传至服务器并解压

11.png
A、配置dmlog.properties文件
12.png
13.png
B、执行jar包命令
14.png
15.png
16.png
D、查看
17.png
18.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服