Skip to main content
Version: v3&v6

达梦8外置

需要提前配置好达梦数据库再进行 ONES 初装。

前置约束

  1. 本文支持 ONES 初装时指定
  2. ONES >= v6.1.98 或 v6.13.0;该客户使用的插件已经完成达梦适配;用户的数据量较小。
  3. 提供达梦数据库系统管理员用户 SYSDBA 的密码
  4. 初装完成之后,请客户联系达梦厂商根据达梦数据库的服务器CPU/内存配置及数据量,调整达梦默认参数,开启统计信息并定期更新;否则可能出现ONES页面操作缓慢、达梦服务器CPU耗尽等性能故障。

配置达梦数据库

  • 必须使用达梦 v8,推荐BUILD_TIME 在 20240124 到 20250122 之间的版本。

  • 在安装启动达梦数据库时,需要指定数据库大小写敏感(CASE_SENSITIVE=1)、字符集编码为 utf-8 (charset=1)和 VARCHAR 类型长度以字符为单位(LENGTH_IN_CHAR=1)。

  • 需要开启达梦数据库的归档日志(ARCH_LOG)。

  • 需要在 dm.ini 文件配置 LOGMNR_PARSE_LOB=1,如果版本过旧不支持此配置则需要开启闪回(FLASHBACK)。

在 dm.ini 文件配置作相关配置 (支持配置 LOGMNR_PARSE_LOB=1),如 /dmdata/data/DAMENG/dm.ini。

ARCH_INI = 1
RLOG_APPEND_LOGIC = 1
GRANT_SCHEMA=1
COMPATIBLE_MODE=4

LOGMNR_PARSE_LOB=1

如果不支持配置 LOGMNR_PARSE_LOB=1, 则需要开启闪回(FLASHBACK), dm.ini 文件配置如下:

ARCH_INI = 1
RLOG_APPEND_LOGIC = 1
GRANT_SCHEMA=1
COMPATIBLE_MODE=4

ENABLE_FLASHBACK=1
UNDO_RETENTION=7200

调整完 dm.ini 需要重启达梦数据库配置才能生效。

挂载归档日志的路径:

alter database mount;
# dest 为归档日志的路径,可配置为任意有读写权限的路径
alter database add archivelog 'dest=/home/dmdba/dmdata/data/arch, TYPE=local,FILE_SIZE=1024,SPACE_LIMIT=20000';
alter database archivelog;
alter database open;

ONES初装

请先根据初装文档部署ONES,当部署到 配置 ONES 这一步时,根据如下步骤继续部署。

  1. 初始化配置 make init-config
  2. 补充达梦数据库相关配置 vi config/private.yaml
dbDriver: 'dm'
dm8Host: '127.0.0.1' #达梦数据库地址
dm8Port: 5236 #达梦数据库 port
dm8SysDbaPassword: 'onesdev123' #达梦数据库系统管理员密码
wizEditorUseDB: 'dm'
wizMysqlSkipTableCreate: 'true'
internalComponentMysqlEnable: 'false'
onesDMClientToolkitImage: img.ones.pro/dev/dm-tool:v1.0.0
oceanbaseImage: img.ones.pro/library/oceanbase-ce:v4.3.1
dmCdcDbUser: 'root@mysql01' # 固定值,无需调整
dmCdcDbHost: 'oceanbase-service'
camundaImage: img.ones.pro/library/camunda/camunda-bpm-platform:dm-7.15.0 # 或 dm-7.15.0-arm64
  1. 手动拉取镜像放到客户环境
curl -O https://res.ones.pro/script/k3s_offinstall/dm/dm-tool.tar
curl -O https://res.ones.pro/script/k3s_offinstall/dm/mysql-to-dm.tar
curl -O https://res.ones.pro/script/k3s_offinstall/dm/oceanbase-ce.tar
curl -O https://res.ones.pro/script/k3s_offinstall/dm/camunda-bpm-platform.tar

ctr i import mysql-to-dm.tar
ctr i import dm-tool.tar
ctr i import camunda-bpm-platform.tar
ctr i import oceanbase-ce.tar
ctr i tag img.ones.pro/dev/mysql-to-dm:v1.0.4 \
localhost:5000/ones/mysql-to-dm:v1.0.4
ctr i tag img.ones.pro/dev/dm-tool:v1.0.0 \
localhost:5000/ones/dm-tool:v1.0.0
ctr i tag img.ones.pro/library/camunda/camunda-bpm-platform:dm-7.15.0 \
localhost:5000/ones/camunda/camunda-bpm-platform:dm-7.15.0
ctr i tag img.ones.pro/library/oceanbase-ce:v4.3.1 \
localhost:5000/ones/oceanbase-ce:v4.3.1
k3s ctr image push localhost:5000/ones/mysql-to-dm:v1.0.4
k3s ctr image push localhost:5000/ones/dm-tool:v1.0.0
k3s ctr image push localhost:5000/ones/camunda/camunda-bpm-platform:dm-7.15.0
k3s ctr image push localhost:5000/ones/oceanbase-ce:v4.3.1

#如果是ARM环境,上述镜像名后面加上-arm64,重新从img.ones.pro拉取
  1. 继续后续部署 bash script/ones/deploy-ones.sh

重置数据库

如果清除达梦数据库 ONES 数据,用 disql 登录进达梦数据库执行以下 SQL:

drop user "oneswatch" CASCADE;
drop user "ones" CASCADE;
drop user "project" CASCADE;
drop user "wiki" CASCADE;
drop user "camunda" CASCADE;
drop user "plugin_platform" CASCADE;
drop user "open_platform_plugin" CASCADE;
drop user "plugin_built_in_gvmbef2y" CASCADE;
drop user "wizeditor" CASCADE;
drop user "oauth" CASCADE;
drop user "events" CASCADE;
drop user "identity" CASCADE;
drop role ones_role;

DROP TABLESPACE ones_data;
DROP TABLESPACE ones_data_index;
DROP TABLESPACE ones_plugin_data;
DROP TABLESPACE ones_plugin_data_index;