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

avatar
作者
筋斗云
阅读量:0

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

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

一、安装前的准备

1.操作系统环境检测

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

2.操作系统优化

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

#配置数据盘 pvcreate /dev/vdb vgcreate data /dev/vdb lvcreate -n data -l +100%free data mkfs.ext4 /dev/mapper/data-data mkdir /data echo "/dev/mapper/data-data /data ext4 defaults 0 0 " >> /etc/fstab mount -a df -h  #配置hostname  hostnamectl set-hostname dmdb echo "192.168.1.2 dmdb">>/etc/hosts  #服务器内核参数配置 cat >> /etc/sysctl.conf <<EOF fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 vm.swappiness = 0 vm.dirty_background_ratio = 3 vm.dirty_ratio = 80 vm.overcommit_memory=0 vm.dirty_expire_centisecs = 500 vm.dirty_writeback_centisecs = 100 EOF sysctl -p  #修改系统最大进程数和最大文件打开数 cat >> /etc/security/limits.conf <<EOF dmdba soft nice 65536 dmdba hard nice 65536 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 EOF  #修改进程数据限制 vi /etc/security/limits.d/nproc.conf * soft nproc 65536 * soft nproc 65536  #关闭Num.麒麟、欧拉等系统配置关闭内存大页特性 sed -i 's/quiet/quiet transparent_hugepage=never numa=off/' /etc/default/grub grub2-mkconfig -o /boot/grub2/grub.cfg

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

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

4.配置环境变量

su - dmdba cat <<EOF>>/home/dmdba/.bash_profile umask 022 export TMP=/tmp export TMPDIR=\$TMP export DM_HOME="/data/dm" export LD_LIBRARY_PATH="\$LD_LIBRARY_PATH:\$DM_HOME/bin" export PATH=/usr/sbin:\$DM_HOME/bin:\$PATH export PATH=\$DM_HOME/bin:\$PATH export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ ' alias ds='disql sysdba' EOF

二、数据库安装

1.下载指定安装介质

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

2.挂载介质

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

3.配置静默安装文件

#xml配置文件如下 <?xml version="1.0"?> <DATABASE> <LANGUAGE>zh</LANGUAGE> <TIME_ZONE>+08:00</TIME_ZONE> <KEY></KEY> <INSTALL_TYPE>0</INSTALL_TYPE> <!软件安装路径--> <INSTALL_PATH>/data/dm</INSTALL_PATH> <INIT_DB>Y</INIT_DB> <DB_PARAMS> <INI_FILE></INI_FILE> <!数据库安装路径--> <PATH>/data/dmdata</PATH> <CTL_PATHS> <CTL_PATH ></CTL_PATH>         </CTL_PATHS> <LOG_PATHS> <LOG_PATH></LOG_PATH> </LOG_PATHS> <EXTENT_SIZE>16</EXTENT_SIZE> <PAGE_SIZE>32</PAGE_SIZE> <LOG_SIZE>2048</LOG_SIZE> <CASE_SENSITIVE>N</CASE_SENSITIVE> <!--字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR]--> <CHARSET>1</CHARSET> <SEC_PRIV_MODE>0</SEC_PRIV_MODE> <LENGTH_IN_CHAR></LENGTH_IN_CHAR> <!数据库sysdba密码--> <SYSDBA_PWD>DmTEst_1234@</SYSDBA_PWD> <SYSAUDITOR_PWD>DmTEst_1234@</SYSAUDITOR_PWD> <!数据库名、实例名、端口--> <DB_NAME>DMDB</DB_NAME> <INSTANCE_NAME>DMDB</INSTANCE_NAME> <PORT_NUM>5236</PORT_NUM> <TIME_ZONE></TIME_ZONE> <PAGE_CHECK></PAGE_CHECK> <EXTERNAL_CIPHER_NAME></EXTERNAL_CIPHER_NAME> <EXTERNAL_HASH_NAME></EXTERNAL_HASH_NAME> <EXTERNAL_CRYPTO_NAME></EXTERNAL_CRYPTO_NAME> <RLOG_ENC_FLAG></RLOG_ENC_FLAG> <USBKEY_PIN></USBKEY_PIN> <ENCRYPT_NAME></ENCRYPT_NAME> <BLANK_PAD_MODE></BLANK_PAD_MODE> <SYSTEM_MIRROR_PATH></SYSTEM_MIRROR_PATH> <MAIN_MIRROR_PATH></MAIN_MIRROR_PATH> <ROLL_MIRROR_PATH></ROLL_MIRROR_PATH> <MAL_FLAG></MAL_FLAG> <ARCH_FLAG></ARCH_FLAG> <MPP_FLAG></MPP_FLAG> <CONTROL></CONTROL> <AUTO_OVERWRITE></AUTO_OVERWRITE> <USE_NEW_HASH></USE_NEW_HASH> <DCP_MODE></DCP_MODE> <DCP_PORT_NUM></DCP_PORT_NUM> <ELOG_PATH></ELOG_PATH> <AP_PORT_NUM></AP_PORT_NUM> </DB_PARAMS> <CREATE_DB_SERVICE>N</CREATE_DB_SERVICE> <STARTUP_DB_SERVICE>N</STARTUP_DB_SERVICE> </DATABASE>

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

#进行安装 export LANG=zh_CN.UTF-8 cd /data/dminstall/ ./DMInstall.bin -q /home/dmdba/auto_install.xml #安装输出如下 解压安装程序.........  2024-07-06 11:02:43  [INFO] 安装达梦数据库... 2024-07-06 11:02:43  [INFO] 安装 基础 模块... 2024-07-06 11:02:45  [INFO] 安装 服务器 模块... 2024-07-06 11:02:46  [INFO] 安装 客户端 模块... 2024-07-06 11:02:54  [INFO] 安装 驱动 模块... 2024-07-06 11:02:54  [INFO] 安装 手册 模块... 2024-07-06 11:02:54  [INFO] 安装 服务 模块... 2024-07-06 11:02:55  [INFO] 移动日志文件。 2024-07-06 11:02:56  [INFO] 安装达梦数据库完成。 请以root系统用户执行命令: /data/dm/script/root/root_installer.sh 2024-07-06 11:03:00  [INFO] 开始初始化数据库... 2024-07-06 11:03:05  [INFO] 初始化数据库完成。 #备注:静默安装完成后,终端提示“请以 root 系统用户执行命令”。由于使用非 root 系统用户进行安装,所以部分安装步骤没有相应的系统权限,需要用户手动执行相关命令。 #用户可根据提示完成相关操作 /data/dm/script/root/root_installer.sh  #数据库安装完毕后需要手动注册实例,root用户执行 /data/dm/script/root/dm_service_installer.sh -t dmserver -dm_ini /data/dmdata/DMDB/dm.ini -p DMDB  #启动数据库实例(dmdba用户) /data/dm/bin/DmServiceDMDB start /data/dm/bin/DmServiceDMDB status  #验证登录 disql  #输入账户密码 默认账户sysdba 密码DmTEst_1234@ #卸载 cd /data/dm ./uninstall.sh

5.手工建库

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

三、参数优化调

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

四、备份配置

1.linux定时任务脚本备份

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

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

#直接调用数据库任务 SQL>call SP_INIT_JOB_SYS(1); SQL>call SP_CREATE_JOB('bakall_delall',1,0,'',0,0,'',0,'每天 23:00 全量备份、删除 7 天前的全量备份'); SQL>call SP_JOB_CONFIG_START('bakall_delall'); SQL>call SP_ADD_JOB_STEP('bakall_delall', 'bakall', 6, '01020000/opt/dmdbms/data/DAMENG/bak', 3, 1, 0, 0, NULL, 0); SQL>call SP_ADD_JOB_STEP('bakall_delall', 'delall', 0, 'SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''/opt/dmdbms/data/DAMENG/bak''); SQL>call SP_DB_BAKSET_REMOVE_BATCH(''DISK'',SYSDATE-7);', 1, 1, 0, 0, NULL, 0); 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, ''); SQL>call SP_JOB_CONFIG_COMMIT('bakall_delall');

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!