Skip to content

达梦数据库安装

磁盘挂载等内容不做说明,建议使用单独硬盘安装达梦数据库。
本次示例基于银河麒麟Kylin Linux Advanced Server V10 sp1,已挂载磁盘/dev/sdb,挂载类型lvm,挂载点/data,达梦安装目录/data/dmdbms,用户haiyi作为安装用户

  1. 上传并挂载安装文件

    1. 上传达梦安装包,此处以dm8_20241018_x86_kylin10_64.iso为例。

    2. 创建文件夹用于挂载iso文件

      bash
      mkdir /media/dm8
      mount -o loop /home/haiyi/dm8/dm8_20241018_x86_kylin10_64.iso /media/dm8
      chown -R haiyi:haiyi /media/dm8
  2. 检查并修改系统配置

    达梦中推荐配置的各参数如下,运行ulimit -a命令进行查询:

    1. data seg size

      data seg size (kbytes, -d) 建议用户设置为1048576(即1GB)以上或unlimited(无限制),此参数过小将导 致数据库启动失败。

    2. file size

      file size(blocks, -f) 建议用户设置为unlimited(无限制),此参数过小将导致数据库安装或初始化失败。

    3. open files

      open files(-n) 建议用户设置为65536以上或unlimited(无限制)。 编辑/etc/security/limits.conf文件增加以下两行重新登陆SSH会话后生效,参考

      conf
      * soft nofile 65536
      * hard nofile 65536
      1. virtual memory

      virtual memory (kbytes, -v) 建议用户设置为1048576(即1GB)以上或unlimited(无限制),此参数过小将导 致数据库启动失败。 如果用户需要为当前安装用户更改 ulimit 的资源限制,请修改文件 /etc/security/limits.conf。

      1. 检查Swap空间

      安装前需确保Swap空间已挂载,可使用grep SwapTotal /proc/meminfofree -g命令检查

      1. 检查/tmp空间

      安装前确保/tmp至少有2Gb以上空间,使用命令df -h /tmp命令检查,空间不足使用以下命令指定安装时临时目录

      bash
      mkdir -p /mount_point/ dir_name 
      DM_INSTALL_TMPDIR=/mount_point/dir_name 
      export DM_INSTALL_TMPDIR
  3. 安装数据库软件

    1. 执行安装命令
      bash
      cd /media/dm8
      chmod 755 ./DMInstall.bin
      ./DMInstall.bin -i
      开始安装选项配置
      bash
      安装语言: 
      [1]: 简体中文
      [2]: English
      请选择安装语言 [1]: 1
      输入许可证位置(可选)
      bash
      是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:y
      请输入Key文件的路径地址 [dm.key]:/home/haiyi/dm8/dm8_x86_sec_20250325.key
      设置时区
      bash
      是否设置时区? (Y/y:是 N/n:否) [Y/y]:y
      请选择时区 [21]:21
      选择安装类型(典型安装包括客户端与服务端,仅安装服务端即可)
      bash
      安装类型:
      1 典型安装
      2 服务器
      3 客户端
      4 自定义
      请选择安装类型的数字序号 [1 典型安装]:2
      指定数据库安装位置
      bash
      请选择安装目录 [/home/haiyi/dmdbms]:/data/dmdbms
      是否确认安装路径(/data/dmdbms)? (Y/y:是 N/n:否)  [Y/y]:y
      确认安装
      bash
      是否确认安装? (Y/y:是 N/n:否):y
      root用户下执行安装后脚本
      bash
      sh /data/dmdbms/script/root/root_installer.sh
  4. 创建数据实例与服务进程

    1. (推荐)使用dminit命令初始化数据库

      (完整参数参考《DM8_Linux服务脚本使用手册.pdf》)

      bash
      /data/dmdbms/bin/dminit

      完成输入参数如下

      bash
      [haiyi@dm8-129 bin]$ ./dminit
      initdb V8
      db version: 0x7000c
      License will expire on 2025-03-25
      # 参数名:PATH  ,初始数据库存放的路径
      input system dir: /data/dmdbms
      # 参数名:DB_NAME   ,数据库名
      input db name: DAMENG
      # 参数名:PORT_NUM  ,监听端口号
      input port num: 5236
      # 参数名:PAGE_SIZE   ,数据页大小
      input page size(4, 8, 16, 32): 8
      # 参数名:EXTENT_SIZE  ,数据文件使用的簇大小
      input extent size(16, 32, 64): 16
      # 参数名:SEC_PRIV_MODE ,权限管理模式
      input sec priv mode(0, 1, 2, 3): 0
      # 参数名:ENV_LABEL  ,设置是否启用环境标记功能
      input global env label flag? ([Y]es, [N]o): 0
      # 参数名:ENABLE_MAC ,是否打开强制访问控制功能
      input enable_mac? ([Y]es, [N]o): 0
      # 参数名:TIME_ZONE   ,初始化时区
      input time zone(-12:59,+14:00): +8:00
      # 参数名:CASE_SENSITIVE ,标识符大小写敏感,此处不使用默认值设置为不敏感
      string case sensitive? ([Y]es, [N]o): n
      # 参数名:CHARSET ,字符集选项
      which charset to use? (0[GB18030], 1[UTF-8], 2[EUC-KR]): 0
      #开启全库加密
      enable database encrypt? ([Y]es, [N]o): n
      # 参数名:PAGE_ENC_SLICE_SIZE ,设置页加密分片大小
      input slice size(0, 512, 4096): 4096
      # 参数名:PAGE_CHECK ,页检查模式
      page check mode? (0/1/2/3): 3
      # 参数名:SYSTEM_MIRROR_PATH  ,SYSTEM 数据文件镜像路径
      system mirror path:
      # 参数名:MAIN_MIRROR_PATH   ,MAIN 数据文件镜像 
      main mirror path:
      # 参数名:ROLL_MIRROR_PATH   ,回滚文件镜像路径
      roll mirror path:
      # 参数名:ELOG_PATH    ,指定初始化过程中生成的日志文件所在路径
      input elog path: 
      # 参数名:HUGE_WITH_DELTA   ,是否仅支持创建事务型HUGE 表
      only create huge table with delta? (0/1): 1
      # 参数名:RLOG_GEN_FOR_HUGE   ,是否生成HUGE 表REDO 日志
      rlog generate for huge? (0/1): 1
      # 参数名:PSEG_MGR_FLAG   ,是否仅使用管理段记录事务信息
      pseg_mgr_flag (0/1): 0
      # 参数名:AUTO_OVERWRITE ,是否覆盖所有同名文件
      auto_overwrite mode? (0/1/2): 2
      # 参数名:CHAR_FIX_STORAGE ,CHAR 是否按定长存储
      CHARACTER type fixed storage ? ([Y]es/1, [N]o/0): n
      # 参数名:SQL_LOG_FORBID, 是否禁止打开SQL 日志
      SQL log forbid ? ([Y]es/1, [N]o/0): n
      # 参数名:USE_DB_NAME ,路径是否拼接DB_NAME
      input use_db_name: ([Y]es/1, [N]o/0): 1
      Normal of FAST
      Normal of DEFAULT
      Normal of RECYCLE
      Normal of KEEP
      Normal of ROLL
      
      log file path: /data/dmdbms/DAMENG/DAMENG01.log
      
      
      log file path: /data/dmdbms/DAMENG/DAMENG02.log
      
      write to dir [/data/dmdbms/DAMENG].
      create dm database success. 2024-11-27 22:29:45

      同时可以在dminit命令后跟上参数完成初始化如:/data/dmdbms/bin/dminit PATH=/public/dmdb/dmData PAGE_SIZE=16,参数名参考上方示例中的参数名

    2. (可选)使用初始化配置文件初始化数据库

      创建dminit.ini文件(完整参数参考《DM8_Linux服务脚本使用手册.pdf》)

      bash
      [DAMENG] 
      # 初始数据库存放的相对路径
      system_path = /data/dmdbms/ 
      # 指定MAIN.DBF文件相对路径。
      main = /data/dmdbms/DAMENG/dsc/main.dbf 
      # 指定MAIN.DBF文件大小
      main_size = 2509 
      # 指定SYSTEM.DBF文件相对路径
      system = /data/dmdbms/DAMENG/dsc/system.dbf 
      # 指定SYSTEM.DBF文件大小,取值范围为32~65534,单位MB
      system_size = 2509 
      # 指定ROLL.DBF文件相对路径
      roll = /data/dmdbms/DAMENG/dsc/roll.dbf 
      # 指定ROLL.DBF文件大小,取值范围为32~65534,单位MB
      roll_size = 2509 
      # 指定dm.ctl文件大小
      ctl_path = /data/dmdbms/DAMENG/dsc/dm.ctl 
      # 日志文件大小
      log_size = 1024 
      # 日志文件地址
      log_path = /data/dmdbms/DAMENG/log/log01.log 
      log_path = /data/dmdbms/DAMENG/log/log02.log 
      # 是否覆盖建库目录下所有同名文件,0:不覆盖,1:部分覆盖,2:完全覆盖
      auto_overwrite =2

      执行初始化命令

      bash
      /data/dmdbms/bin/dminit CONTROL=/data/dmdbms/dminit.ini
    3. 注册服务并启动数据库

      1. root用户下注册数据库服务
        bash
        /data/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /data/dmdbms/DAMENG/dm.ini -p DAMENG
      2. 启动数据
        bash
        systemctl enable --now DmServiceDAMENG
        systemctl status DmServiceDAMENG
      3. 增加防火墙放行策略
        bash
        firewall-cmd --zone=public --add-port=5236/tcp --permanent
        firewall-cmd --reload

    至此达梦数据库安装并初始化完成,数据库管理用户SYSDBA账号默认密码SYSDBA