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

2025-07-29 07:47:05      世界杯排名球队

对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

B、直接编辑参数配置文件dm.ini

C、通过SQL语句修改参数

ALTER SYSTEM SET '<参数名称>'=<参数值> [DEFERRED] [MEMORY|BOTH|SPFILE];

--DEFERRED: 只适用于动态参数。指定DEFERRED时,参数值延迟生效,对当前session不生效,只对新创建的会话生效;缺省为立即生效,即对当前会话和新创建的会话都生效

D、通过系统函数查看和修改参数

查看数值类型:

SF_GET_PARA_VALUE(scope int, paraname varchar(256))

例如:

查看浮点类型:

SF_GET_PARA_DOUBLE_VALUE(scope int, paraname varchar(8187))

例如:

查看字符串类型:

SF_GET_PARA_STRING_VALUE(scope int, paraname varchar(8187))

例如:

修改整型:

SP_SET_PARA_VALUE(scope int, paraname varchar(256), value int64)

修改浮点类型:

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 =

四、使用DMLOG8.13工具

1、查看java的安装情况

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);

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

A、配置dmlog.properties文件

B、执行jar包命令

D、查看

手机连接电脑用什么app,连接手机与电脑:必备APP精选
揭秘Vue与美拍的差异:技术核心揭秘,开发者如何选择?