云计算百科
云计算领域专业知识百科平台

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

1、部署环境 X86_64 架构的服务器 1 台,安装好docker 拉取镜像 官方最新非授权版本有些函数方法无法使用

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

查看镜像

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

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

  • PAGE_SIZE (页大小) 说明: 页大小是数据库文件中单个页的大小(以字节为单位)。DM8 数据库的每一页包含若干行数据。 设置影响: 页大小直接影响数据库的性能和空间利用率。常见的设置有 8KB、16KB、32KB 等。如果设置不合理,可能会导致存储空间浪费或性能问题。 设置建议: 根据硬件配置、数据存储量和访问模式来确定。这里设置为 16,即每页大小为 16KB。
  • EXTENT_SIZE (簇大小) 说明: 簇大小是数据库在存储时分配空间的单位。每个簇由多个页面(PAGE_SIZE)组成。 设置影响: 簇大小影响到数据库的存储效率和文件分配。簇大小过大可能导致空间浪费,过小则可能导致频繁的磁盘操作。 设置建议: 根据数据表的大小和存储需求来选择,通常为 16、32、64 等倍数。这里设置为 32,表示每个簇包含 32 个页面。
  • CASE_SENSITIVE (大小写敏感) 说明: 此参数决定数据库是否区分大小写。若为 1,则区分大小写;若为 0,则不区分大小写。 设置影响: 如果启用大小写敏感,查询时需要严格区分字符的大小写。如果禁用,abc 和 ABC 会被视为相同。 设置建议: 根据实际需求来设置。如果数据库涉及多语言或严格的大小写要求,建议启用此选项。
  • UNICODE_FLAG (字符集) 说明: 该选项决定数据库使用的字符集。若为 1,表示使用 Unicode 字符集,支持多语言和国际字符。 设置影响: 启用 Unicode 后,数据库将能够处理多种语言的字符,包括中文、日文、阿拉伯文等。 设置建议: 若需要支持多语言或复杂字符集,设置为 1,表示使用 Unicode 字符集。大部分现代应用都会启用此选项。
  • LENGTH_IN_CHAR (VARCHAR 类型以字符为单位) 说明: 此参数控制 VARCHAR 类型字段在定义时使用的单位是字节还是字符。 设置影响: 启用此选项后,VARCHAR 列的长度将按字符而非字节计算,这对于多字节字符集(如 Unicode)尤为重要。 设置建议: 若使用多字节字符集(如 UTF-8),建议启用此选项,以确保 VARCHAR 字段长度的计算符合预期。
  • BLANK_PAD_MODE (空格填充模式) 说明: 当 VARCHAR 字段内容不足时,是否用空格填充至指定长度。 设置影响: 若为 1,则当 VARCHAR 字段内容不足时,自动使用空格填充;若为 0,则不填充。 设置建议: 若想保留字段长度的一致性或符合某些业务需求,可以启用此选项。
  • PAGE CHECK (页检查模式) 说明: 此参数控制是否在读取数据库页时进行完整性检查,以确保数据一致性。 设置影响: 启用页检查会增加数据库的开销,但能提高数据一致性保障。 设置建议: 如果对数据的可靠性要求较高,可以启用此选项,但会有一定的性能消耗。通常情况下,生产环境下不会开启,除非有严格的可靠性需求。
  • LOG_SIZE (日志文件大小) 说明: 设置数据库日志文件的大小。日志文件用于记录事务日志、错误日志等重要信息。 设置影响: 增大日志文件大小可以减少日志的写入频率,从而提高性能,但也可能增加恢复时的时间成本。较小的日志文件则更便于管理和控制。 设置建议: 根据数据库的负载情况来决定日志文件的大小。如果数据库的事务量较大,建议设置较大的日志文件。
  • 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

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » Docker搭建达梦数据库--基于 X86 架构
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!