暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

2. 国产数据库达梦之DM8命令行安装

DBA随笔记 2024-11-20
385

一、安装前准备

本次选择使用VMware安装 rhel-server-7.9-x86作为操作系统,信息如下

    hostname    ip             CPU      os            database 
    rheldm     192.168.1.100   x86_64   rhel7.9         DM8

    新建 dmdba 用户

      ## 创建用户所在的组
      groupadd dinstall -g 2001
      ## 创建用户
      useradd -G dinstall -m -d home/dmdba -s bin/bash -u 2001 dmdba


      ## 修改用户密码
      passwd dmdba
      或者
      echo "dameng" |passwd --stdin dmdba

      修改文件打开最大数

      在 Linux、Solaris、AIX 和 HP-UNIX 等系统中,操作系统默认会对程序使用资源进行限制。如果不取消对应的限制,则数据库的性能将会受到影响。

      永久修改和临时修改。

      • 重启服务器后永久生效。

      使用 root 用户打开 /etc/security/limits.conf
       文件进行修改,命令如下:

        vi etc/security/limits.conf


        dmdba soft nice 0
        dmdba hard nice 0
        dmdba soft as unlimited
        dmdba hard as unlimited
        dmdba soft fsize unlimited
        dmdba hard fsize unlimited
        dmdba soft nproc 65536
        dmdba hard nproc 65536
        dmdba soft nofile 65536
        dmdba hard nofile 65536
        dmdba soft core unlimited
        dmdba hard core unlimited
        dmdba soft data unlimited
        dmdba hard data unlimited

        目录规划

        1.可根据实际需求规划安装目录,本示例使用默认配置 DM 数据库安装在 home/dmdba 文件夹下。

        2.规划创建实例保存目录、归档保存目录、备份保存目录。

          ##实例保存目录
          mkdir -p dmdata/data
          ##归档保存目录
          mkdir -p dmdata/arch
          ##备份保存目录
          mkdir -p dmdata/dmbak

          使用 root 用户建立文件夹,待 dmdba 用户建立完成后需将文件所有者更改为 dmdba 用户,否则无法安装到该目录下

          修改目录权限

          将新建的路径目录权限的用户修改为 dmdba,用户组修改为 dinstall

            chown -R dmdba:dinstall dmdata/data
            chown -R dmdba:dinstall dmdata/arch
            chown -R dmdba:dinstall dmdata/dmbak


            chmod -R 755 dmdata/data
            chmod -R 755 dmdata/arch
            chmod -R 755 dmdata/dmbak

            DM 数据库在 Linux 环境下支持命令行安装图形化安装,本篇介绍命令行安装

            二、挂载镜像

            切换到 root 用户,将 DM 数据库的 iso 安装包保存在任意位置,例如 opt 目录下,执行如下命令挂载镜像:

              cd  /opt
              unzip -q opt/dm8_20240920_x86_rh7_64.zip
              mount -o loop dm8_20240920_x86_rh7_64.iso opt


              三、命令行安装

              切换至 dmdba 用户下,在 opt 目录下使用命令行安装数据库程序,依次执行以下命令安装 DM 数据库。

                [root@rheldm soft]# su - dmdba
                Last login: Wed Nov 20 15:44:13 CST 2024 on pts/0
                [dmdba@rheldm ~]$
                [dmdba@rheldm ~]$
                [dmdba@rheldm ~]$
                [dmdba@rheldm ~]$ cd opt
                [dmdba@rheldm opt]$ ./DMInstall.bin -i
                安装语言:
                [1]: 简体中文
                [2]: English
                请选择安装语言 [1]:1
                解压安装程序..........
                硬件架构校验通过!
                欢迎使用达梦数据库安装程序


                是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n


                是否设置时区? (Y/y:是 N/n:否) [Y/y]:y
                设置时区:
                [ 1]: (GTM-12:00) 日界线西
                [ 2]: (GTM-11:00) 萨摩亚群岛
                [ 3]: (GTM-10:00) 夏威夷
                [ 4]: (GTM-09:00) 阿拉斯加
                [ 5]: (GTM-08:00) 太平洋时间(美国和加拿大)
                [ 6]: (GTM-07:00) 亚利桑那
                [ 7]: (GTM-06:00) 中部时间(美国和加拿大)
                [ 8]: (GTM-05:00) 东部部时间(美国和加拿大)
                [ 9]: (GTM-04:00) 大西洋时间(美国和加拿大)
                [10]: (GTM-03:00) 巴西利亚
                [11]: (GTM-02:00) 中大西洋
                [12]: (GTM-01:00) 亚速尔群岛
                [13]: (GTM) 格林威治标准时间
                [14]: (GTM+01:00) 萨拉热窝
                [15]: (GTM+02:00) 开罗
                [16]: (GTM+03:00) 莫斯科
                [17]: (GTM+04:00) 阿布扎比
                [18]: (GTM+05:00) 伊斯兰堡
                [19]: (GTM+06:00) 达卡
                [20]: (GTM+07:00) 曼谷,河内
                [21]: (GTM+08:00) 中国标准时间
                [22]: (GTM+09:00) 首尔
                [23]: (GTM+10:00) 关岛
                [24]: (GTM+11:00) 所罗门群岛
                [25]: (GTM+12:00) 斐济
                [26]: (GTM+13:00) 努库阿勒法
                [27]: (GTM+14:00) 基里巴斯
                请选择时区 [21]:21


                安装类型:
                1 典型安装
                2 服务器
                3 客户端
                4 自定义
                请选择安装类型的数字序号 [1 典型安装]:1
                所需空间: 1983M


                请选择安装目录 [/home/dmdba/dmdbms]:/dm8
                目录(/dm8)下不为空,请选择其他目录。
                请选择安装目录 [/home/dmdba/dmdbms]:
                可用空间: 86G
                是否确认安装路径(/home/dmdba/dmdbms)? (Y/y:是 N/n:否) [Y/y]:y


                安装前小结
                安装位置: /home/dmdba/dmdbms
                所需空间: 1983M
                可用空间: 86G
                版本信息:
                有效日期:
                安装类型: 典型安装
                是否确认安装? (Y/y:是 N/n:否):y
                2024-11-20 15:56:50
                [INFO] 安装 基础 模块...
                2024-11-20 15:56:50
                [INFO] 安装达梦数据库...
                2024-11-20 15:56:55
                [INFO] 安装 服务器 模块...
                2024-11-20 15:56:55
                [INFO] 安装 客户端 模块...
                2024-11-20 15:56:57
                [INFO] 安装 驱动 模块...
                2024-11-20 15:56:59
                [INFO] 安装 手册 模块...
                2024-11-20 15:56:59
                [INFO] 安装 服务 模块...
                2024-11-20 15:56:59
                [INFO] 移动日志文件。
                2024-11-20 15:56:59
                [INFO] 安装达梦数据库完成。


                请以root系统用户执行命令:
                /home/dmdba/dmdbms/script/root/root_installer.sh


                安装结束


                [dmdba@rheldm opt]$


                root 用户执行

                  [root@rheldm ~]# /home/dmdba/dmdbms/script/root/root_installer.sh
                  移动 /home/dmdba/dmdbms/bin/dm_svc.conf 到/etc目录
                  创建DmAPService服务
                  Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
                  创建服务(DmAPService)完成
                  启动DmAPService服务
                  [root@rheldm ~]#


                  达梦数据库软件安装完成。

                  命令行配置实例

                    [dmdba@rheldm bin]$ pwd
                    /home/dmdba/dmdbms/bin
                    [dmdba@rheldm bin]$ ./dminit help
                    initdb V8
                    db version: 0x7000c
                    file dm.key not found, use default license!
                    License will expire on 2025-09-19
                    version: 03134284294-20240919-243448-20119 Pack1
                    格式: ./dminit KEYWORD=value


                    例程: ./dminit PATH=/public/dmdb/dmData PAGE_SIZE=16


                    关键字 说明(默认值)
                    --------------------------------------------------------------------------------
                    INI_FILE 初始化文件dm.ini存放的路径
                    PATH 初始数据库存放的路径
                    CTL_PATH 控制文件路径
                    LOG_PATH 日志文件路径
                    EXTENT_SIZE 数据文件使用的簇大小(16),可选值:16, 32, 64,单位:页
                    PAGE_SIZE 数据页大小(8),可选值:4, 8, 16, 32,单位:K
                    LOG_SIZE 日志文件大小(2048),单位为:M,范围为:256M ~ 8G
                    CASE_SENSITIVE 大小敏感(Y),可选值:Y/N,1/0
                    CHARSET/UNICODE_FLAG 字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR]
                    SEC_PRIV_MODE 权限管理模式(0),可选值:0[TRADITION],1[BMJ],2[EVAL],3[BAIST]
                    SYSDBA_PWD 设置SYSDBA密码(SYSDBA)
                    SYSAUDITOR_PWD 设置SYSAUDITOR密码(SYSAUDITOR)
                    DB_NAME 数据库名(DAMENG)
                    INSTANCE_NAME 实例名(DMSERVER)
                    PORT_NUM 监听端口号(5236)
                    BUFFER 系统缓存大小(8000),单位M
                    TIME_ZONE 设置时区(+08:00)
                    PAGE_CHECK 页检查模式(3),可选值:0/1/2/3
                    PAGE_HASH_NAME 设置页检查HASH算法
                    EXTERNAL_CIPHER_NAME 设置默认加密算法
                    EXTERNAL_HASH_NAME 设置默认HASH算法
                    EXTERNAL_CRYPTO_NAME 设置根密钥加密引擎
                    RLOG_ENCRYPT_NAME 设置日志文件加密算法,若未设置,则不加密
                    RLOG_POSTFIX_NAME 设置日志文件后缀名,长度不超过10。默认为log,例如DAMENG01.log
                    USBKEY_PIN 设置USBKEY PIN
                    PAGE_ENC_SLICE_SIZE 设置页加密分片大小,可选值:0、512、4096,单位:Byte
                    ENCRYPT_NAME 设置全库加密算法
                    BLANK_PAD_MODE 设置空格填充模式(0),可选值:0/1
                    SYSTEM_MIRROR_PATH SYSTEM数据文件镜像路径
                    MAIN_MIRROR_PATH MAIN数据文件镜像
                    ROLL_MIRROR_PATH 回滚文件镜像路径
                    MAL_FLAG 初始化时设置dm.ini中的MAL_INI(0)
                    ARCH_FLAG 初始化时设置dm.ini中的ARCH_INI(0)
                    MPP_FLAG Mpp系统内的库初始化时设置dm.ini中的mpp_ini(0)
                    CONTROL 初始化配置文件(配置文件格式见系统管理员手册)
                    AUTO_OVERWRITE 是否覆盖所有同名文件(0) 0:不覆盖 1:部分覆盖 2:完全覆盖
                    USE_NEW_HASH 是否使用改进的字符类型HASH算法(1)
                    ELOG_PATH 指定初始化过程中生成的日志文件所在路径
                    AP_PORT_NUM 分布式环境下协同工作的监听端口
                    HUGE_WITH_DELTA 是否仅支持创建事务型HUGE表(1) 1:是 0:否
                    RLOG_GEN_FOR_HUGE 是否生成HUGE表REDO日志(1) 1:是 0:否
                    PSEG_MGR_FLAG 是否仅使用管理段记录事务信息(0) 1:是 0:否
                    CHAR_FIX_STORAGE CHAR是否按定长存储(N),可选值:Y/N,1/0
                    SQL_LOG_FORBID 是否禁止打开SQL日志(N),可选值:Y/N,1/0
                    DPC_MODE 指定DPC集群中的实例角色(0) 0:无 1:MP 2:BP 3:SP,取值1/2/3时也可以用MP/BP/SP代替
                    USE_DB_NAME 路径是否拼接DB_NAME(1) 1:是 0:否
                    MAIN_DBF_PATH MAIN数据文件存放路径
                    SYSTEM_DBF_PATH SYSTEM数据文件存放路径
                    ROLL_DBF_PATH ROLL数据文件存放路径
                    TEMP_DBF_PATH TEMP数据文件存放路径
                    ENC_TYPE 数据库内部加解密使用的加密接口类型(1), 可选值: 1: 优先使用EVP类型 0: 不启用EVP类型
                    HELP 打印帮助信息
                    [dmdba@rheldm ~]$


                    示例:

                      [dmdba@rheldm bin]$ /home/dmdba/dmdbms/bin/dminit path=/dm8 extent_size=32 page_size=32 charset=1 case_sensitive=1 log_size=2048 DB_NAME=DAMENG INSTANCE_NAME=DMSERVER PORT_NUM=5236 SYSDBA_PWD=DAMENG001

                      dminit 方式创建数据库不会自动注册数据库服务(DM 数据库配置助手方式默认自动注册数据库服务),所以不能以服务方式启动数据库,如果要以服务方式启动,则需要注册数据库服务。 

                      注册数据库服务

                      使用 root 用户进入数据库安装目录的 /script/root 下注册服务

                        [root@rheldm ~]# /home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /dm8/DAMENG/dm.ini -p DMSERVER
                        Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service to /usr/lib/systemd/system/DmServiceDMSERVER.service.
                        创建服务(DmServiceDMSERVER)完成
                        [root@rheldm ~]#
                        [root@rheldm ~]# systemctl enable DmServiceDMSERVER.service
                        [root@rheldm ~]# systemctl start DmServiceDMSERVER.service
                        [root@rheldm ~]# systemctl status DmServiceDMSERVER.service


                        root启停数据库

                          ## 查看当前数据库服务状态
                          [root@rheldm ~]# systemctl status DmServiceDMSERVER.service
                          ## 关闭数据库
                          [root@rheldm ~]# systemctl stop DmServiceDMSERVER.service
                          ## 打开数据库
                          [root@rheldm ~]# systemctl start DmServiceDMSERVER.service
                          ## 重启数据库
                          [root@rheldm ~]# systemctl restart DmServiceDMSERVER.service

                          DMDBA用户启停数据库

                            [dmdba@rheldm bin]$ vim ~/.bash_profile
                            [dmdba@rheldm bin]$ cat ~/.bash_profile
                            # .bash_profile


                            # Get the aliases and functions
                            if [ -f ~/.bashrc ]; then
                            . ~/.bashrc
                            fi


                            # User specific environment and startup programs


                            PATH=$PATH:$HOME/.local/bin:$HOME/bin


                            export LANG=zh_CN.UTF8
                            export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/dmdba/dmdbms/bin"
                            export DM_HOME="/home/dmdba/dmdbms"
                            export PATH=$DM_HOME/bin:$PATH:$HOME/bin
                            [dmdba@rheldm bin]$


                            ## 查看当前数据库服务状态
                            [dmdba@rheldm bin]$ DmServiceDMSERVER status
                            DmServiceDMSERVER (pid 59950) is running.
                            ## 打开数据库
                            [dmdba@rheldm bin]$ DmServiceDMSERVER start
                            ## 关闭数据库
                            [dmdba@rheldm bin]$ DmServiceDMSERVER stop
                            ## 重启数据库
                            [dmdba@rheldm bin]$ DmServiceDMSERVER restart


                            连接访问数据库

                            使用 disql 命令连接达梦数据库:

                              [dmdba@rheldm bin]$ disql SYSDBA/DAMENG001
                              服务器[LOCALHOST:5236]:处于普通打开状态
                              登录使用时间 : 2.540(ms)
                              disql V8
                              SQL>
                              select name from V$database;
                              select instance_name from v$instance;
                              select b.tablespace_name, b.file_name, b.bytes/1024/1024 size_m from dba_data_files b union all select 'RLOG', a.path, a.rlog_size/1024/1024 from v$rlogfile a;

                              至此安装工作结束,可以正常连接使用了。


                              参考链接:https://eco.dameng.com/document/dm/zh-cn/start/dm-install-linux.html


                              文章转载自DBA随笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                              评论