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

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

静默安装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;
EOFif [ $? -eq 0 ]; thenecho "数据库备份成功"
elseecho "备份失败"
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');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/46782.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【系统架构设计师】十一、系统架构设计(层次架构风格|MVC|面向服务的架构风格|ESB)

目录 五、层次架构风格 5.1 两层C/S架构 5.2 三层C/S架构 5.3 三层B/S架构 5.4 MVC架构 5.5 MVP架构 5.6 MVVM架构 六、面向服务的架构风格 6.1 SOA特征 6.2 Web Service 6.2.1 关键技术 6.2.2 WEB Service 6.3 企业服务总线ESB 相关推荐 历年真题练习 五、层次…

【MAUI】生命周期

.NET Multi-platform App UI (.NET MAUI) 应用通常有四种执行状态&#xff1a;“未运行”、“运行中”、“已停用”和“已停止”。 当应用从未运行状态转换为运行状态、从运行状态转换为已停用状态、从已停用状态转换为已停止状态、从已停止状态转换为运行状态&#xff0c;以及…

Java并发编程之如何正确的停止线程

在Java线程状态转换中&#xff0c;我们知道&#xff0c;线程最终的命运是Terminated&#xff0c;当然&#xff0c;也有永不停止一直干活的线程&#xff08;除非断电&#xff09;。线程的停止&#xff0c;正常来说是线程运行到结束&#xff0c;但也有程序出错或是用户关闭程序等…

new mars3d.graphic.FixedRoute({的position长度超过一百条浏览器会卡死的解决方案

问题场景描述&#xff1a; FixedRoute的position数据已经很精细时&#xff0c;会导致卡死的问题 解决方案&#xff1a; 1. 数据已经很精细时&#xff0c;可以不用autoSurfaceHeight来计算&#xff0c;如果非要用&#xff0c;可以加个minDistance: 200参数。 fixedRoute.auto…

ChatGPT 深度解析:技术驱动的智能对话

在当今科技飞速发展的时代&#xff0c;ChatGPT 无疑成为了最耀眼的明星之一。它以其令人惊叹的智能对话能力&#xff0c;引发了全球范围内的广泛关注和热议。 ChatGPT 背后的技术堪称精妙绝伦。它基于深度学习算法&#xff0c;通过对海量数据的学习和分析&#xff0c;从而能够理…

BasicSR项目(通用图像超分、修复、增强工具库)介绍

项目地址&#xff1a;https://github.com/XPixelGroup/BasicSR 文档地址&#xff1a;https://github.com/XPixelGroup/BasicSR-docs/releases BasicSR 是一个开源项目&#xff0c;旨在提供一个方便易用的图像、视频的超分、复原、增强的工具箱。BasicSR 代码库从2018年4月20日…

【Memcached】Memcached的工作原理

目录 ​编辑 第2章&#xff1a;Memcached工作原理 2.1 数据存储与访问 2.2 分布式架构 2.3 数据过期机制 第2章&#xff1a;Memcached工作原理 2.1 数据存储与访问 Memcached是一种键值存储系统&#xff0c;其中数据以键值对的形式存储。键是用于定位数据的唯一标识符&am…

MySQL架构详解

MySQL是一个广泛使用的开源关系数据库管理系统&#xff0c;以其可靠性、性能和易用性而闻名。了解MySQL的架构对于优化数据库性能、设计高效的数据库系统以及进行有效的数据库管理至关重要。本文将详细介绍MySQL的架构&#xff0c;包括其主要组件和功能。 1. 连接器&#xff0…

libyaml库的交叉编译

目录 1.Ubuntu环境中安装libyaml库 2.交叉编译 3.success 1.Ubuntu环境中安装libyaml库 官方地址&#xff1a;https://pyyaml.org/wiki/LibYAML 下载路径&#xff1a;http://pyyaml.org/download/libyaml/yaml-0.2.5.tar.gz 2.交叉编译 官方的下载路径为/usr/local下&am…

【unity实战】使用unity制作一个红点系统

前言 注意&#xff0c;本文是本人的学习笔记记录&#xff0c;这里先记录基本的代码&#xff0c;后面用到了再回来进行实现和整理 素材 https://assetstore.unity.com/packages/2d/gui/icons/2d-simple-ui-pack-218050 框架&#xff1a; RedPointSystem.cs using System.…

PHP全功能微信投票迷你平台系统小程序源码

&#x1f525;让决策变得超简单&#xff01;&#x1f389; &#x1f680;【一键创建&#xff0c;秒速启动】 嘿小伙伴们&#xff0c;你还在为组织投票而手忙脚乱吗&#xff1f;来试试这款全功能投票迷你微信小程序吧&#xff01;只需轻轻一点&#xff0c;无论是班级选举、社团…

Java创建对象除了new还有别的什么方式?

通过反射创建对象&#xff1a;通过 Java 的反射机制可以在运行时动态地创建对象。可以使用 Class 类的 newInstance() 方法或者通过 Constructor 类来创建对象 public class MyClass { public MyClass() { // Constructor } } public class Main { public…

初学者指南:如何搭建和配置 Nginx 服务器

初学者指南&#xff1a;如何搭建和配置 Nginx 服务器 Nginx 是一个高性能的 HTTP 和反向代理服务器&#xff0c;也是一个 IMAP/POP3/SMTP 代理服务器。本文将详细介绍如何在 Linux 上安装、配置和管理 Nginx 服务器。 一、安装 Nginx Nginx 可以安装在多种操作系统上&#x…

c# 依赖注入-服务的生命周期

在 C# 中&#xff0c;依赖注入服务的生命周期指的是在应用程序中管理和控制依赖项注入服务对象的生命周期的方式。常见的生命周期包括瞬态&#xff08;transient&#xff09;、作用域&#xff08;scoped&#xff09;和单例&#xff08;singleton&#xff09;三种。 瞬态&#…

【postgresql】pg_dump备份数据库

pg_dump 介绍 pg_dump 是一个用于备份 PostgreSQL 数据库的实用工具。它可以将数据库的内容导出为一个 SQL 脚本文件或其他格式的文件&#xff0c;以便在需要时进行恢复或迁移。 基本用法 pg_dump [选项] [数据库名] 命令选项 -h 或 --host&#xff1a;指定数据库服务器的主…

2024年大数据高频面试题(上篇)

文章目录 HDFS读流程和写流程HDFS读数据流程NameNode和Secondary NameNode工作机制FsimageEdits文件Seen_txidnamenode工作机制HA NameNode如何工作ZKFCHealthMonitorActiveStandbyElectorJouranlNode集群DataNode工作机制DataNode数据损坏压缩MapReduce工作流程MapTask工作流R…

Visual Studio远程调试工具

路径&#xff1a;Visual Studio安装路径/Common7/IDE/Remote Debugger/平台/msvsmon.exe。 平台有x86、x64&#xff0c;x64即可调试x86进程也可调试x64进程。 将平台路径下的所有文件拷贝至其他PC&#xff0c;运行msvsmon.exe。 工具栏选择“工具&#xff08;T&#xff09;”…

Ubuntu18.04安装ROS

1.添加ROS软件源 sudo sh -c echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.listcurl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc输入指令&#xff1a;curl -s https:…

密码学原理精解【6】

文章目录 置换密码密码体制加解密过程置换置换运算定义置换运算的例子集合与置换置换规则两行表示法轮换表示法置换运算的结果置换的性质注意事项 分组加解密 理论基础1. 准备工作2. 置换过程3. 置换密码的具体实现方式4. 安全性分析5. 置换密码的应用代换密码代换密码的工作原…

Python中EMD的安装教程

第一步&#xff1a;首先安装两个包 pip install pyemd pip install EMD-signal第二步&#xff1a;然后&#xff0c;进行改名 安装完之后&#xff0c;找到包所在的位置&#xff0c;然后要将原来pyemd的文件夹名称改为PyEMD&#xff1a;