Docker搭建达梦数据库--基于 X86 架构

06-01 1358阅读

1、部署环境

X86_64 架构的服务器 1 台,安装好docker

拉取镜像

官方最新非授权版本有些函数方法无法使用

docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/dm8_single:dm8_20230808_rev197096_x86_rh6_64

X86默认密码是SYSDBA001

arm镜像版本

docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/linux_arm64_dm:8-arm64

ARM默认密码是SYSDBA

查看镜像

docker images | grep dm8

运行容器

docker run -d \
-p 5236:5236 \
--restart=always \
--name dm8 \
--privileged=true \
-e PAGE_SIZE=16 \
-e LD_LIBRARY_PATH=/opt/dmdbms/bin \
-e EXTENT_SIZE=32 \
-e BLANK_PAD_MODE=1 \
-e LOG_SIZE=1024 \
-e UNICODE_FLAG=1 \
-e LENGTH_IN_CHAR=1 \
-e INSTANCE_NAME=dm8 \
-e CASE_SENSITIVE=0 \ 
-v /data/dm8:/opt/dmdbms/data \
registry.cn-hangzhou.aliyuncs.com/qiluo-images/dm8_single:dm8_20230808_rev197096_x86_rh6_64

本文run命令是大小写不敏感

1、页大小 (PAGE_SIZE)

2、簇大小 (EXTENT_SIZE)

3、大小写敏感 (CASE_SENSITIVE)

4、字符集 (UNICODE_FLAG)

5、VARCHAR 类型以字符为单位 (LENGTH_IN_CHAR)

6、空格填充模式 (BLANK_PAD_MODE)

7、页检查模式(PAGE CHECK) 等部分参数,

8、大小写敏感(CASE_SENSITIVE) 1:大小写敏感;0:大小写不敏感,默认值:0

Docker搭建达梦数据库--基于 X86 架构
(图片来源网络,侵删)

一旦确定无法修改,在初始化实例时确认需求后谨慎设置!!

  1. PAGE_SIZE (页大小)

    说明: 页大小是数据库文件中单个页的大小(以字节为单位)。DM8 数据库的每一页包含若干行数据。

    设置影响: 页大小直接影响数据库的性能和空间利用率。常见的设置有 8KB、16KB、32KB 等。如果设置不合理,可能会导致存储空间浪费或性能问题。

    Docker搭建达梦数据库--基于 X86 架构
    (图片来源网络,侵删)

    设置建议: 根据硬件配置、数据存储量和访问模式来确定。这里设置为 16,即每页大小为 16KB。

  2. EXTENT_SIZE (簇大小)

    说明: 簇大小是数据库在存储时分配空间的单位。每个簇由多个页面(PAGE_SIZE)组成。

    Docker搭建达梦数据库--基于 X86 架构
    (图片来源网络,侵删)

    设置影响: 簇大小影响到数据库的存储效率和文件分配。簇大小过大可能导致空间浪费,过小则可能导致频繁的磁盘操作。

    设置建议: 根据数据表的大小和存储需求来选择,通常为 16、32、64 等倍数。这里设置为 32,表示每个簇包含 32 个页面。

  3. CASE_SENSITIVE (大小写敏感)

    说明: 此参数决定数据库是否区分大小写。若为 1,则区分大小写;若为 0,则不区分大小写。

    设置影响: 如果启用大小写敏感,查询时需要严格区分字符的大小写。如果禁用,abc 和 ABC 会被视为相同。

    设置建议: 根据实际需求来设置。如果数据库涉及多语言或严格的大小写要求,建议启用此选项。

  4. UNICODE_FLAG (字符集)

    说明: 该选项决定数据库使用的字符集。若为 1,表示使用 Unicode 字符集,支持多语言和国际字符。

    设置影响: 启用 Unicode 后,数据库将能够处理多种语言的字符,包括中文、日文、阿拉伯文等。

    设置建议: 若需要支持多语言或复杂字符集,设置为 1,表示使用 Unicode 字符集。大部分现代应用都会启用此选项。

  5. LENGTH_IN_CHAR (VARCHAR 类型以字符为单位)

    说明: 此参数控制 VARCHAR 类型字段在定义时使用的单位是字节还是字符。

    设置影响: 启用此选项后,VARCHAR 列的长度将按字符而非字节计算,这对于多字节字符集(如 Unicode)尤为重要。

    设置建议: 若使用多字节字符集(如 UTF-8),建议启用此选项,以确保 VARCHAR 字段长度的计算符合预期。

  6. BLANK_PAD_MODE (空格填充模式)

    说明: 当 VARCHAR 字段内容不足时,是否用空格填充至指定长度。

    设置影响: 若为 1,则当 VARCHAR 字段内容不足时,自动使用空格填充;若为 0,则不填充。

    设置建议: 若想保留字段长度的一致性或符合某些业务需求,可以启用此选项。

  7. PAGE CHECK (页检查模式)

    说明: 此参数控制是否在读取数据库页时进行完整性检查,以确保数据一致性。

    设置影响: 启用页检查会增加数据库的开销,但能提高数据一致性保障。

    设置建议: 如果对数据的可靠性要求较高,可以启用此选项,但会有一定的性能消耗。通常情况下,生产环境下不会开启,除非有严格的可靠性需求。

  8. LOG_SIZE (日志文件大小)

    说明: 设置数据库日志文件的大小。日志文件用于记录事务日志、错误日志等重要信息。

    设置影响: 增大日志文件大小可以减少日志的写入频率,从而提高性能,但也可能增加恢复时的时间成本。较小的日志文件则更便于管理和控制。

    设置建议: 根据数据库的负载情况来决定日志文件的大小。如果数据库的事务量较大,建议设置较大的日志文件。

  9. INSTANCE_NAME (实例名称)

    说明: 该参数用于指定数据库实例的名称。实例名称是数据库的标识符,通常用于在同一台机器上运行多个数据库实例时区分不同的实例。

    设置影响: 实例名称一般不会影响性能,只是一个标识符。必须确保唯一性。

    设置建议: 设置为有意义且唯一的名称,便于区分和管理。

查看日志

docker logs -f dm8

登录数据库

docker exec -it dm8 bash
./opt/dmdbms/bin/disql SYSDBA/SYSDBA001:5236

集群连接配置

dm:jdbc://DWSCJM?DWSCJM=(192.168.68.4:5236,192.168.68.5:5236,192.168.68.6:5236)&loginMode=1&loginStatus=4&switchInterval=100&switchTimes=100  
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码