私有化部署达梦数据库参数要求
一、 版本要求
适配的最新的达梦数据库版本为:8.x.4.60
二、账号规范
新创建的SYSDBA账号的密码复杂度要符合要求:长度至少8位,密码由数字、字母大小写、特殊字符组成
三、参数规范
1.初始化达梦数据库实例时候设置大小写不敏感
● windows下取消取消勾选字符串比较大小写敏感
● linux下初始化参数配置为 CASE_SENSITIVE=N
确认方式:
SELECT PARA_VALUE FROM v$option WHERE PARA_NAME=’GLOBAL_STR_CASE_SENSITIVE’;
2.初始化达梦数据库实例时候设置VARCHAR类型以字符为单位存储
● windows下勾选VARCHAR类型以字符为单位
● linux下初始化参数配置为 LENGTH_IN_CHAR=Y
确认方式:
SELECT PARA_VALUE FROM V$DM_INI WHERE PARA_NAME= ‘LENGTH_IN_CHAR’;
3.字符集编码设置
● 保持默认的GB18030,不要设置UTF-8
确认方式:
SELECT SF_GET_UNICODE_FLAG();
- 修改兼容参数为兼容 MySQL 数据库 COMPATIBLE_MODE=4
在dm.ini文件中修改COMPATIBLE_MODE参数,是一个静态参数,重启数据库即可生效
·修改后可以兼容mysql中select查询的字段中可以不在group by字段中的语法
select ID, NAME from ACTHI_PROCINST_EXT where DELETED != 1 group by ID_;
修改后可以兼容mysql中select查询的ORDER BY项可以不在DISTINCT查询项中的语法
SELECT DISTINCT ls.f_subsystem_code, ls.f_subsystem_version, l.f_product_code
FROM t_license l, t_license_subsystem ls
WHERE ls.f_license_id = l.f_id
AND l.f_deleted = 0
AND ls.f_deleted = 0
AND l.f_status != 2
AND l.f_active_status = 1
AND l.f_tenant_id = 609761820897280
ORDER BY l.f_product_code, ls.f_subsystem_version + 0, l.f_create_time DESC
确认方式:
结果必须为4
SELECT PARA_VALUE FROM V$DM_INI WHERE PARA_NAME= ‘COMPATIBLE_MODE’;
- 修改ENABLE_BLOB_CMP_FLAG=1
在dm.ini文件中修改ENABLE_BLOB_CMP_FLAG参数为1,该参数是一个动态参数,可以第一次部署的时候初始化,也可以后期动态修改,动态修改命令:SP_SET_PARA_VALUE(1,’ENABLE_BLOB_CMP_FLAG’,1);
该字段含义:是否支持大字段类型的比较。0:不支持;1: 支持,此时 DISTINCT、ORDER BY、 分析函数和集函数支持对大字段进行处理。默认值:0
确认方式:
SELECT PARA_VALUE FROM V$DM_INI WHERE PARA_NAME= ‘ENABLE_BLOB_CMP_FLAG’;
- 修改WM_CONCAT_LOB=0
在dm.ini文件中修改ENABLE_BLOB_CMP_FLAG参数为0,该参数主要控制WM_CONCAT的返回值类型。
确认方式:
select para_value from v$dm_ini where para_name LIKE ‘%WM_CONCAT_LOB%’;
- 修改ORDER_BY_NULLS_FLAG=2
在dm.ini文件中修改ORDER_BY_NULLS_FLAG=2,默认值是0,表中数据不管正序倒序,0的话就是null始终在最前边
确认方式:
select para_value from v$dm_ini where para_name = ‘ORDER_BY_NULLS_FLAG’;
- 修改CALC_AS_DECIMAL=1
在dm.ini文件中修改修改CALC_AS_DECIMAL=1,默认值是0,该参数控制整数相除显示是否显示小数点,1为显示
确认方式:
select para_value from v$dm_ini where para_name = ‘CALC_AS_DECIMAL’;
- PK_WITH_CLUSTER 配置改成0
确认方式:
SELECT * FROM V$PARAMETER WHERE name like ‘%PK_WITH_CLUSTER%’
- 连接数修改
由于业务侧为微服务架构,服务数量较多,需要修改数据库的连接数,由默认值200更改成5000
修改方式如下
修改连接数,使用命名修改,然后重启服务
SP_SET_PARA_VALUE(2,’MAX_SESSIONS’,5000);
重启数据库
使用dmdba用户操作
su dmdba
切换目录
cd /home/dmdba/dmdbms/bin
执行重启
./DmServiceDM restart
查看是否更改成功
SELECT PARA_VALUE FROM v$dm_ini WHERE PARA_NAME=’MAX_SESSIONS’;
以上参数设置,其中 1、2、3 、10这三个参数为达梦数据库初始化的时候设置,初始化之后不能修改,如果要修改,则需要删除实例,重新初始化;4、5,6,7 ,8、9三个参数为实例初始化之后,修改配置文件,不用重新初始化实例。

