• 实战:Linux下静默安装DM达梦数据库


    官方文档参考:安装前准备 | 达梦技术文档

    静默安装DM达梦数据库,提前编写好安装脚本、下载好软件、配置好服务器的内核参数信息。

    一、安装前的准备

    1.操作系统环境检测

    1. #查看服务器操作系统版本和型号
    2. cat /etc/system-release 
    3. cat /etc/os-release
    4. #查询服务器cpu架构
    5. lscpu
    6. uanme -a
    7. #检查系统内存与存储空间
    8. free -m
    9. df -h
    10. #关闭防火墙和selinux
    11. systemctl stop firewalld
    12. sed -i 's/enforcing/disabled/' /etc/selinux/config
    13. setenforce 0
    14. #建议关闭桌面启动
    15. systemctl set-default multi-user.target

    2.操作系统优化

            内核参数调整、打开文件数限制、关闭大页。

    1. #配置数据盘
    2. pvcreate /dev/vdb
    3. vgcreate data /dev/vdb
    4. lvcreate -n data -l +100%free data
    5. mkfs.ext4 /dev/mapper/data-data
    6. mkdir /data
    7. echo "/dev/mapper/data-data /data ext4 defaults 0 0 " >> /etc/fstab
    8. mount -a
    9. df -h
    10. #配置hostname
    11. hostnamectl set-hostname dmdb
    12. echo "192.168.1.2 dmdb">>/etc/hosts
    13. #服务器内核参数配置
    14. cat >> /etc/sysctl.conf <<EOF
    15. fs.aio-max-nr = 1048576
    16. fs.file-max = 6815744
    17. kernel.shmmni = 4096
    18. kernel.sem = 250 32000 100 128
    19. net.ipv4.ip_local_port_range = 9000 65500
    20. net.core.rmem_default = 262144
    21. net.core.rmem_max = 4194304
    22. net.core.wmem_default = 262144
    23. net.core.wmem_max = 1048576
    24. vm.swappiness = 0
    25. vm.dirty_background_ratio = 3
    26. vm.dirty_ratio = 80
    27. vm.overcommit_memory=0
    28. vm.dirty_expire_centisecs = 500
    29. vm.dirty_writeback_centisecs = 100
    30. EOF
    31. sysctl -p
    32. #修改系统最大进程数和最大文件打开数
    33. cat >> /etc/security/limits.conf <<EOF
    34. dmdba soft nice 65536
    35. dmdba hard nice 65536
    36. dmdba soft as unlimited
    37. dmdba hard as unlimited
    38. dmdba soft fsize unlimited
    39. dmdba hard fsize unlimited
    40. dmdba soft nproc 65536
    41. dmdba hard nproc 65536
    42. dmdba soft nofile 65536
    43. dmdba hard nofile 65536
    44. dmdba soft core unlimited
    45. dmdba hard core unlimited
    46. dmdba soft data unlimited
    47. dmdba hard data unlimited
    48. EOF
    49. #修改进程数据限制
    50. vi /etc/security/limits.d/nproc.conf
    51. * soft nproc 65536
    52. * soft nproc 65536
    53. #关闭Num.麒麟、欧拉等系统配置关闭内存大页特性
    54. sed -i 's/quiet/quiet transparent_hugepage=never numa=off/' /etc/default/grub
    55. grub2-mkconfig -o /boot/grub2/grub.cfg

    3.创建安装用户、组、目录

    1. groupadd -g 12349 dinstall
    2. groupadd -g 12350 dmdba
    3. useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
    4. usermod -g dinstall -G dmdba,dinstall dmdba
    5. echo asdaASDQW12341@Aq | passwd --stdin dmdba
    6. mkdir -p /data/dm /data/dminstall /data/dmbak /data/dmarch /data/dmdata
    7. chown dmdba.dinstall -R /data/dm /data/dminstall /data/dmbak /data/dmarch /data/dmdata
    8. chmod -R 755 /data/dm /data/dminstall /data/dmbak /data/dmarch /data/dmdata

    4.配置环境变量

    1. su - dmdba
    2. cat <<EOF>>/home/dmdba/.bash_profile
    3. umask 022
    4. export TMP=/tmp
    5. export TMPDIR=\$TMP
    6. export DM_HOME="/data/dm"
    7. export LD_LIBRARY_PATH="\$LD_LIBRARY_PATH:\$DM_HOME/bin"
    8. export PATH=/usr/sbin:\$DM_HOME/bin:\$PATH
    9. export PATH=\$DM_HOME/bin:\$PATH
    10. export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ '
    11. alias ds='disql sysdba'
    12. EOF

    二、数据库安装

    1.下载指定安装介质

    #基于上面查到操作系统类型和cpu架构进行安装截至下载,下载地址https://www.dameng.com/list_103.html

    2.挂载介质

    1. #使用root用户挂载介质
    2. unzip dm8_20240408_x86_rh7_64.zip
    3. mount -o loop dm8_20240408_x86_rh7_64.iso /data/dminstall
    4. #配置授权
    5. chown -R dmdba:dinstall /data/dminstall
    6. cd /data/dminstall
    7. chmod 755 ./DMInstall.bin

    3.配置静默安装文件

    1. #xml配置文件如下
    2. "1.0"?>
    3. <DATABASE>
    4. <LANGUAGE>zhLANGUAGE>
    5. <TIME_ZONE>+08:00TIME_ZONE>
    6. <KEY>KEY>
    7. <INSTALL_TYPE>0INSTALL_TYPE>
    8. <INSTALL_PATH>/data/dmINSTALL_PATH>
    9. <INIT_DB>YINIT_DB>
    10. <DB_PARAMS>
    11. <INI_FILE>INI_FILE>
    12. <PATH>/data/dmdataPATH>
    13. <CTL_PATHS>
    14. <CTL_PATH >CTL_PATH>
    15. CTL_PATHS>
    16. <LOG_PATHS>
    17. <LOG_PATH>LOG_PATH>
    18. LOG_PATHS>
    19. <EXTENT_SIZE>16EXTENT_SIZE>
    20. <PAGE_SIZE>32PAGE_SIZE>
    21. <LOG_SIZE>2048LOG_SIZE>
    22. <CASE_SENSITIVE>NCASE_SENSITIVE>
    23. <CHARSET>1CHARSET>
    24. <SEC_PRIV_MODE>0SEC_PRIV_MODE>
    25. <LENGTH_IN_CHAR>LENGTH_IN_CHAR>
    26. <SYSDBA_PWD>DmTEst_1234@SYSDBA_PWD>
    27. <SYSAUDITOR_PWD>DmTEst_1234@SYSAUDITOR_PWD>
    28. <DB_NAME>DMDBDB_NAME>
    29. <INSTANCE_NAME>DMDBINSTANCE_NAME>
    30. <PORT_NUM>5236PORT_NUM>
    31. <TIME_ZONE>TIME_ZONE>
    32. <PAGE_CHECK>PAGE_CHECK>
    33. <EXTERNAL_CIPHER_NAME>EXTERNAL_CIPHER_NAME>
    34. <EXTERNAL_HASH_NAME>EXTERNAL_HASH_NAME>
    35. <EXTERNAL_CRYPTO_NAME>EXTERNAL_CRYPTO_NAME>
    36. <RLOG_ENC_FLAG>RLOG_ENC_FLAG>
    37. <USBKEY_PIN>USBKEY_PIN>
    38. <ENCRYPT_NAME>ENCRYPT_NAME>
    39. <BLANK_PAD_MODE>BLANK_PAD_MODE>
    40. <SYSTEM_MIRROR_PATH>SYSTEM_MIRROR_PATH>
    41. <MAIN_MIRROR_PATH>MAIN_MIRROR_PATH>
    42. <ROLL_MIRROR_PATH>ROLL_MIRROR_PATH>
    43. <MAL_FLAG>MAL_FLAG>
    44. <ARCH_FLAG>ARCH_FLAG>
    45. <MPP_FLAG>MPP_FLAG>
    46. <CONTROL>CONTROL>
    47. <AUTO_OVERWRITE>AUTO_OVERWRITE>
    48. <USE_NEW_HASH>USE_NEW_HASH>
    49. <DCP_MODE>DCP_MODE>
    50. <DCP_PORT_NUM>DCP_PORT_NUM>
    51. <ELOG_PATH>ELOG_PATH>
    52. <AP_PORT_NUM>AP_PORT_NUM>
    53. DB_PARAMS>
    54. <CREATE_DB_SERVICE>NCREATE_DB_SERVICE>
    55. <STARTUP_DB_SERVICE>NSTARTUP_DB_SERVICE>
    56. DATABASE>

    4.安装数据库软件、执行脚本

    1. #进行安装
    2. export LANG=zh_CN.UTF-8
    3. cd /data/dminstall/
    4. ./DMInstall.bin -q /home/dmdba/auto_install.xml
    5. #安装输出如下
    6. 解压安装程序.........
    7. 2024-07-06 11:02:43
    8. [INFO] 安装达梦数据库...
    9. 2024-07-06 11:02:43
    10. [INFO] 安装 基础 模块...
    11. 2024-07-06 11:02:45
    12. [INFO] 安装 服务器 模块...
    13. 2024-07-06 11:02:46
    14. [INFO] 安装 客户端 模块...
    15. 2024-07-06 11:02:54
    16. [INFO] 安装 驱动 模块...
    17. 2024-07-06 11:02:54
    18. [INFO] 安装 手册 模块...
    19. 2024-07-06 11:02:54
    20. [INFO] 安装 服务 模块...
    21. 2024-07-06 11:02:55
    22. [INFO] 移动日志文件。
    23. 2024-07-06 11:02:56
    24. [INFO] 安装达梦数据库完成。
    25. 请以root系统用户执行命令:
    26. /data/dm/script/root/root_installer.sh
    27. 2024-07-06 11:03:00
    28. [INFO] 开始初始化数据库...
    29. 2024-07-06 11:03:05
    30. [INFO] 初始化数据库完成。
    31. #备注:静默安装完成后,终端提示“请以 root 系统用户执行命令”。由于使用非 root 系统用户进行安装,所以部分安装步骤没有相应的系统权限,需要用户手动执行相关命令。
    32. #用户可根据提示完成相关操作
    33. /data/dm/script/root/root_installer.sh
    34. #数据库安装完毕后需要手动注册实例,root用户执行
    35. /data/dm/script/root/dm_service_installer.sh -t dmserver -dm_ini /data/dmdata/DMDB/dm.ini -p DMDB
    36. #启动数据库实例(dmdba用户)
    37. /data/dm/bin/DmServiceDMDB start
    38. /data/dm/bin/DmServiceDMDB status
    39. #验证登录
    40. disql
    41. #输入账户密码 默认账户sysdba 密码DmTEst_1234@
    42. #卸载
    43. cd /data/dm
    44. ./uninstall.sh

    5.手工建库

    1. #dm8可以手动新建实例,具体命令如下(dmdba用户)
    2. /data/dm/bin/dminit PATH=/data/dmdata/DMDB/ INSTANCE_NAME=DMDB PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048
    3. #编辑配置文件后,注册服务(root 用户)
    4. /data/dm/script/root/dm_service_installer.sh -t dmserver -p DMDB -dm_ini /data/dmdata/DMDB/DAMENG/dm.ini

    三、参数优化调

    1. 实例参数优化可通过手动方式和自动方式进行调整。
    2. 为增强参数优化的适用性,降低参数修改的过程风险,
    3. 建议使用达梦数据库提供的 AutoParaAdj.sql 脚本进行实例参数优化
    4. 脚本下载地址https://eco.dameng.com/eco-file-server/file/eco/download/20240402142929MAC9G6L98Z39KKXJLG
    5. 脚本详细内容和具体使用步骤见:参数自动优化脚本工具-DM8.zip

    四、备份配置

    1.linux定时任务脚本备份

    1. #配置允许本地免密登录
    2. SQL>SP_SET_PARA_VALUE(2,'ENABLE_LOCAL_OSAUTH',1);
    3. SQL>COMMIT;
    4. #停库
    5. /data/dm/bin/DmServiceDMDB stop
    6. #配置归档
    7. vi /data/dmdata/DMDB/dm.ini
    8. ARCH_INI = 1
    9. vi /data/dmdata/DMDB/dmarch.ini
    10. [ARCHIVE_LOCAL1]
    11. ARCH_TYPE = LOCAL
    12. ARCH_DEST = /data/dmarch/
    13. ARCH_FILE_SIZE = 1024
    14. ARCH_SPACE_LIMIT = 40960
    15. #启动数据库
    16. /data/dm/bin/DmServiceDMDB start
    17. #需要再次授权
    18. usermod -g dinstall -G dmdba,dinstall dmdba
    19. #配置定时备份脚本
    20. #!/bin/bash
    21. DATABASE_NAME="DMDB" # 替换为您的数据库实例名
    22. BACKUP_DIR="/data/dmbak" # 备份文件保存的目录,确保该目录存在且有写权限
    23. DATE=$(date +%Y%m%d%H%M)
    24. BACKUP_FILE="$BACKUP_DIR/db_backup_$DATE.bak"
    25. ARCH_FILE="$BACKUP_DIR/arch_backup_$DATE.bak"
    26. echo "开始备份数据库到 $BACKUP_FILE"
    27. /data/dm/bin/disql / as sysdba <<EOF
    28. select sf_bakset_backup_dir_add('disk','/data/dmbak');
    29. call sp_db_bakset_remove_batch('disk',NOW()-5);
    30. BACKUP DATABASE BACKUPSET '$BACKUP_FILE' MAXPIECESIZE 300 COMPRESSED LEVEL 3 PARALLEL 4;
    31. backup archive log all backupset '$ARCH_FILE';
    32. EXIT;
    33. EOF
    34. if [ $? -eq 0 ]; then
    35. echo "数据库备份成功"
    36. else
    37. echo "备份失败"
    38. fi

    2.数据库自身配置备份任务

    1. #直接调用数据库任务
    2. SQL>call SP_INIT_JOB_SYS(1);
    3. SQL>call SP_CREATE_JOB('bakall_delall',1,0,'',0,0,'',0,'每天 23:00 全量备份、删除 7 天前的全量备份');
    4. SQL>call SP_JOB_CONFIG_START('bakall_delall');
    5. SQL>call SP_ADD_JOB_STEP('bakall_delall', 'bakall', 6, '01020000/opt/dmdbms/data/DAMENG/bak', 3, 1, 0, 0, NULL, 0);
    6. SQL>call SP_ADD_JOB_STEP('bakall_delall', 'delall', 0, 'SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''/opt/dmdbms/data/DAMENG/bak'');
    7. SQL>call SP_DB_BAKSET_REMOVE_BATCH(''DISK'',SYSDATE-7);'1100NULL0);
    8. SQL>call SP_ADD_JOB_SCHEDULE('bakall_delall', 'bakall_delall_time01', 1, 1, 1, 0, 0, '23:00:00', NULL, '2019-01-01 01:01:01', NULL, '');
    9. SQL>call SP_JOB_CONFIG_COMMIT('bakall_delall');

  • 相关阅读:
    基于Java毕业设计在线课堂辅助系统源码+系统+mysql+lw文档+部署软件
    分享一个Java毕业设计项目——叮当书城项目
    怎么把电脑图片转文字?只需这几步就可以截图转文字
    使用 cmux smux 对 TCP 进行复用
    利用浩客无代码开发API集成客服系统,提升用户服务质量
    EMA:基于跨空间学习的高效多尺度注意力模块
    解决zip文件中文乱码问题
    深度学习训练营实现minist手写数字识别
    NAACL2022:(代码实践)好的视觉引导促进更好的特征提取,多模态命名实体识别(附源代码下载)...
    液压比例阀放大器比例控制器比例阀放大板
  • 原文地址:https://blog.csdn.net/Rookie_CEO/article/details/140390487