DM8数据库Docker镜像部署最佳实践

发布于:2025-07-23 ⋅ 阅读:(17) ⋅ 点赞:(0)

一、Docker加载DM8镜像

1.下载DM8镜像,由于官网暂未提供docker镜像下载,可通过网盘下载:https://pan.quark.cn/s/fe38ba821a2a
在这里插入图片描述
2.打开命令行工具cd进镜像下载目录,运行:docker load -i dm8_20241022_x86_rh6_64_single.tar加载镜像
在这里插入图片描述
3.命令行工具运行:docker images,查看镜像是否加载成功
在这里插入图片描述

二、Docker创建DM8容器

1.命令行工具运行:docker run -d --name dm8 -p 5236:5236 dm8_single:dm8_20241022_rev244896_x86_rh6_64,启动容器(dm8_single:dm8_20241022_rev244896_x86_rh6_64 = 镜像name:镜像tag)
在这里插入图片描述
2.docker查看数据目录、日志目录、配置文件目录路径,其中配置文件在数据目录,由于展开不利于截图,自行查找dm.ini文件
在这里插入图片描述
3.挂载目录避免数据丢失:在宿主机新建DM>data、DM>log文件夹,由于配置文件在数据目录这里就不进行创建
在这里插入图片描述
4.运行docker stop dm8 && docker rm dm8删除原本的临时容器,使用下面命令重启容器

/*****
-p:主机端口:容器端口
-d:启动的镜像名称。
--name:设置容器名称。
--restart=always:设置docker启动时,容器跟随自启。
-e SYSDBA_PWD="SYSDBA123":设置密码为SYSDBA123,镜像默认密码:SYSDBA001,默认账户:SYSDBA
-v /d/WSL/Docker/DM/data:/opt/dmdbms/data:挂载容器存储文件到宿主,避免因不小心卸载容器或者容器损坏导致数据丢失不可找回风险,,如果是linux系统宿主机不需要加盘符,直接使用/就代表宿主机的根目录
-v /d/WSL/Docker/DM/log:/opt/dmdbms/log:挂载日志目录,便于查找日志,如果是linux系统宿主机不需要加盘符,直接使用/就代表宿主机的根目录
*****/

docker run -d --name dm8 --restart=always -p 5236:5236 -v /d/WSL/Docker/DM/data:/opt/dmdbms/data -v /d/WSL/Docker/DM/log:/opt/dmdbms/log -e SYSDBA_PWD="SYSDBA123"  dm8_single:dm8_20241022_rev244896_x86_rh6_64

5.测试登录
在这里插入图片描述

6.dminit命令行工具参数,可通过-e设置,如:-e SYSDBA_PWD="SYSDBA123"设置密码

参数名 参数描述 注意事项
INI_FILE 指定初始化配置文件路径 需确保文件路径正确且可读写
PATH 数据库文件存放路径 路径需为空目录或允许覆盖
CTL_PATH 控制文件路径 建议与数据文件分开存储以提高安全性
LOG_PATH 日志文件路径 需确保有足够空间存储日志
EXTENT_SIZE 数据文件扩展大小(MB) 默认16MB,建议根据数据量调整
PAGE_SIZE 页大小(KB),可选4/8/16/32 一旦设定不可更改,需根据应用场景选择
LOG_SIZE 日志文件大小(MB) 需满足事务量需求,过小会导致频繁切换
CASE_SENSITIVE 标识符大小写敏感(Y/N) 默认为Y,与兼容性相关,需谨慎选择
CHARSET/UNICODE_FLAG 字符集(0/1),0-GBK,1-UTF8 需与应用程序字符集一致
SEC_PRIV_MODE 安全权限模式(0/1/2) 0-传统模式,1-自主访问控制,2-强制访问控制
SYSDBA_PWD SYSDBA用户密码 建议设置复杂密码
SYSAUDITOR_PWD SYSAUDITOR用户密码 审计管理员密码,安全场景下必设
DB_NAME 数据库名 需唯一且符合命名规范
INSTANCE_NAME 实例名 单机环境下通常与DB_NAME一致
PORT_NUM 数据库服务监听端口 需确保端口未被占用
BUFFER 系统缓冲区大小(MB) 影响性能,建议为可用内存的50-70%
TIME_ZONE 时区设置(如+08:00) 需与服务器时区一致
PAGE_CHECK/PAGE_HASH_NAME 页校验算法 影响性能与安全性,建议开启
EXTERNAL_CIPHER/HASH/CRYPTO_NAME 外部加密/哈希/加密算法名称 需确保算法库可用
RLOG_ENCRYPT_NAME 日志加密算法 安全场景建议启用
RLOG_POSTFIX_NAME 日志文件后缀 默认.log,无特殊需求不建议修改
USBKEY_PIN USBKEY PIN码 使用USBKEY认证时必填
PAGE_ENC_SLICE_SIZE 页加密分片大小 影响加密性能,默认4096字节
ENCRYPT_NAME 数据库加密算法 需与安全策略一致,启用后不可更改
BLANK_PAD_MODE 空格填充模式(0/1) 影响字符串比较,兼容Oracle需设为1
SYSTEM/MAIN/ROLL_MIRROR_PATH 系统/主/回滚文件镜像路径 提高可靠性,建议配置
MAL/ARCH/MPP_FLAG 启用MAL(消息代理)/归档/MPP(大规模并行)标志(Y/N) 分布式或高可用场景需开启
CONTROL 控制文件副本数 建议≥2以提高容错
AUTO_OVERWRITE 自动覆盖已有文件(Y/N) 谨慎使用,会导致数据丢失
USE_NEW_HASH 使用新哈希算法(Y/N) 影响兼容性,默认N
ELOG_PATH 错误日志路径 需定期清理
AP_PORT_NUM 辅助端口号 集群环境可能需要
HUGE_WITH_DELTA 是否使用HUGE表Delta存储(Y/N) 列存储表优化选项
RLOG_GEN_FOR_HUGE 为HUGE表生成日志(Y/N) 影响性能与可恢复性
PSEG_MGR_FLAG 管理永久段空间(Y/N) 默认Y,不建议修改
CHAR_FIX_STORAGE CHAR类型定长存储(Y/N) 影响存储效率
SQL_LOG_FORBID 禁止SQL日志(Y/N) 调试场景临时关闭
DPC_MODE 分布式PC模式(0/1/2) 集群环境配置
SYSSSSO/SYSDBO_PWD SYSSSSO(安全管理员)/SYSDBO(运维管理员)密码 三权分立模式下必设
PRIV_FLAG 权限标志位(十六进制) 高级安全设置,需参考手册
MAIN/SYSTEM/ROLL/TEMP_DB 主/系统/回滚/临时数据文件路径 建议分开存储以提高性能
F_PATH
USE_DB_NAME 是否使用DB_NAME作为实例名(Y/N) 默认N,兼容性选项
ENABLE_MAC 启用强制访问控制(Y/N) 安全等保场景需开启
RANDOM_CRYPTO 使用随机加密(Y/N) 增强安全性,但可能影响性能
AUTO_ADJ_PARA/MEM/CPUS 自动调整参数/内存/CPU(Y/N) 建议首次安装时启用
HELP 显示帮助信息 无实际参数作用

三、验证目录是否挂载成功

1.验证日志目录是否挂载成功:查看宿主机log目录,包含下面图片log文件。说明挂载成功
在这里插入图片描述
2.验证数据目录是否挂载成功:数据库连接dm成功后,运行下面sql 创建数据
在这里插入图片描述
3.验证数据目录是否挂载成功:运行docker stop dm8 && docker rm dm8删除容器,重新使用之前的命令运行容器
在这里插入图片描述
4.验证数据目录是否挂载成功:连接数据库,重新查询之前创建的表,数据存在说明数据目录挂载成功
在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到