大家好,这里是 Lucifer三思而后行,专注于提升数据库运维效率。
目录
- 前言
- 脚本下载
- 达梦数据库下载
- 系统安装
- 一键安装
- 安装前准备
- 安装命令
- 往期精彩文章推荐
前言
最近在学习 zCloud 平台,其中有纳管达梦数据库的功能,于是打算安装一套达梦 DM8 数据库进行测试。想起之前和朋友(达梦原厂大佬)一起编写过的达梦一键安装脚本,打算直接用脚本来安装一个,这个脚本后来经过朋友的不断优化,已经是非常成熟的安装工具(官方原厂认证)。
本文主要介绍如何使用脚本快速部署一套达梦单机数据库,脚本还支持一键部署(脚本免费下载使用):
- 数据守护[dw]
- DMDSC集群
- dsc集群[dsc]
- dsc集群(ASM镜像)[dscm]
基本安装场景全都囊括了,打遍天下无敌手,上手容易,用就完事了。
脚本下载
达梦一键安装脚本是托管于 Gitee 代码平台,可以看到作者更新十分活跃,累计提交 768
次,上次更新 2 天前 👍🏻:
脚本下载地址: DMShellInstall
直接点击克隆下载,选择 <下载ZIP>
进行下载即可:
下载解压之后的脚本目录结构如下:
$ tree -N
.
├── LICENSE
├── README.md
├── soft
│ ├── DMShellInstall
│ ├── create_lvm.sh
│ └── create_parted.sh
├── 一主三备手动切换.log
├── 一主两备自动切换.log
├── 三节点单链路单盘DSC集群(ASM镜像).log
├── 两节点多链路聚合DSC集群(ASM镜像).log
├── 一主一备一异备自动切换.log
└── 一主两备一异备手动切换.log
2 directories, 11 files
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
这里最重要的就是脚本文件:DMShellInstall
,使用这个脚本就可以一键安装达梦数据库了。
达梦数据库下载
数据库软件安装包可以访问达梦官网的下载中心进行下载: 下载中心
这里选择所需平台进行下载即可。
系统安装
系统安装不多赘述,我选择的是 RHEL7.9
进行安装,这里提供一下安装过程,仅供参考。
选择语言:
选择上海时区:
系统分区(达梦数据库对 swap 分区没什么要求,建议禁用,所以这里随便分一点就行):
最小化安装即可:
配置静态网络:
配置主机名:
设置 root 密码:
系统安装完成后,还需要手动挂载一下操作系统的 ISO 镜像源,用于脚本自动配置软件源:
挂载 ISO 镜像源:
[root@dm8 ~]# mount /dev/sr0 /mnt/
mount: /dev/sr0 is write-protected, mounting read-only
[root@dm8 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 8.9M 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/rhel-root 97G 1.3G 96G 2% /
/dev/sda1 1014M 137M 878M 14% /boot
tmpfs 799M 0 799M 0% /run/user/0
/dev/sr0 4.3G 4.3G 0 100% /mnt
## 创建安装介质存放目录
[root@dm8 ~]# mkdir /soft
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
以上都准备完成后,操作系统部分已配置完成。
一键安装
安装前准备
使用达梦一键安装脚本前:
- 安装好干净的 Linux 操作系统(redhat/linux/centos/麒麟)
- 配置好网络(规划 IP 地址)
- 配置好存储(规划存储)
- 挂载操作系统 ISO 镜像源,用于脚本自动配置软件源
- 上传达梦一键安装脚本
- 阅读脚本安装说明:
./DMShellInstall -h
- 解压达梦安装包,将 ISO 移动到与脚本一个目录下,并指定参数
-di iso镜像名称
这里我们已经安装好操作系统部分,查看脚本使用参数:
[root@dm8 ~]# cd /soft/
[root@dm8 soft]# chmod +x DMShellInstall
[root@dm8 soft]# ./DMShellInstall -h
███████ ████ ████ ████████ ██ ██ ██ ██ ██ ██ ██
░██░░░░██ ░██░██ ██░██ ██░░░░░░ ░██ ░██ ░██░██ ░██ ░██ ░██
░██ ░██░██░░██ ██ ░██░██ ░██ █████ ░██ ░██░██ ███████ ██████ ██████ ██████ ░██ ░██
░██ ░██░██ ░░███ ░██░█████████░██████ ██░░░██ ░██ ░██░██░░██░░░██ ██░░░░ ░░░██░ ░░░░░░██ ░██ ░██
░██ ░██░██ ░░█ ░██░░░░░░░░██░██░░░██░███████ ░██ ░██░██ ░██ ░██░░█████ ░██ ███████ ░██ ░██
░██ ██ ░██ ░ ░██ ░██░██ ░██░██░░░░ ░██ ░██░██ ░██ ░██ ░░░░░██ ░██ ██░░░░██ ░██ ░██
░███████ ░██ ░██ ████████ ░██ ░██░░██████ ███ ███░██ ███ ░██ ██████ ░░██ ░░████████ ███ ███
░░░░░░░ ░░ ░░ ░░░░░░░░ ░░ ░░ ░░░░░░ ░░░ ░░░ ░░ ░░░ ░░ ░░░░░░ ░░ ░░░░░░░░ ░░░ ░░░
用途: 一键部署达梦数据库[单机/数据守护/DMDSC集群]
用法: DMShellInstall [选项] 选项值 { COMMAND | help }
单机(Single):
-di 达梦数据库安装镜像名称
-kp 达梦数据库密钥路径
-hn 主机名
-dp 系统用户dmdba密码,默认值:[Dameng@123]
-d 数据库软件安装目录,默认值:[/dm]
-dd 数据库文件目录,默认值:[/dmdata]
-ad 数据库归档目录,默认值:[/dmarch]
-bd 数据库备份目录,默认值:[/dmbak]
-cd 数据库CORE目录,默认值:[/dmbak/dmcore]
-dn 数据库名称,默认值:[DAMENG]
-in 数据库实例名称,默认值:[DMSERVER]
-es 数据文件簇大小,默认值:[32]
-ps 数据页大小,默认值:[32]
-cs 字符串大小写敏感,默认值:[Y]
-c 数据库字符集,默认值:[1]
-cm 是否兼容其他数据库模式,取值:0~7,默认值:[0]
-bpm 设置结尾空格填充模式,当等于1时,默认兼容ORACLE,即[-cm 2],默认值:[0]
-ls 日志文件大小,单位M,默认值:[1024]
-er 是否开启归档模式,默认值:[Y]
-sl 归档空间大小,单位M,默认值:[102400]
-pn 监听端口号,默认值:[5236]
-sp 数据库SYSDBA用户密码,默认值:[SYSDBA]
-bm 数据库备份模式,模式[1]:每天全备,模式[2]:周六全备,周日到周五增备[2],默认值:[2]
-mp 优化数据库时物理内存占比,默认值:[80]
-om 并发量较高的OLTP数据库参数 [1],并发量不高的一般业务和OLAP类的数据库参数参数值 [0],默认值:[0]
-m 仅配置操作系统,默认值:[N]
-ud 仅安装达梦数据库软件,默认值:[N]
-oid 仅初始化数据库,默认值:[N]
-opd 自动优化数据库,默认值:[Y]
-oopd 仅优化数据库,默认值:[N]
-iso 部署集群或时间服务器,需要挂载ISO镜像,脚本自动配置 YUM 源,默认值:[Y]
-ti 时间服务器IP地址[需要配置YUM源]
数据守护(DataWatch):
-osp 服务器ssh端口,默认值:[22]
-rp root 用户密码
-hn 主机名前缀,配置每个节点主机名为dw01,dw02...,例如:-hn dw
-dpi DW 实[即]时主备公网IP,以逗号隔开,例如:-dpi 10.211.55.101,10.211.55.102
-api DW 异步主备公网IP,以逗号隔开,例如:-api 10.211.55.103
-dmi DW 所有节点私网IP,以逗号隔开,例如:-dmi 1.1.1.1,1.1.1.2
-dmoi 监视器主机IP,例如:-dmoi 10.211.55.104
-dgn 数据守护组名,默认值:[GRP1]
-mpn 私网监听端口号,取值:1024~65535,默认值:[5336]
-mdpn 守护进程端口号,取值:1024~65535,默认值:[5436]
-midpn 实例监听守护进程端口号,取值:1024~65535,默认值:[5536]
-at 数据守护归档模式,取值:0、1,其中REALTIME[0],TIMELY[1],默认值:[0]
-awa 数据守护性能模式,取值:0、1,其中高性能模式[0],事务一致性模式[1],默认值:[1]
DSC集群(DMDSC):
-osp 服务器ssh端口,默认值是:[22]
-rp root 用户密码
-hn 主机名前缀,配置每个节点主机名为dsc01,dsc02...,例如:-hn dsc
-dpi DSC所有节点公网IP,以逗号隔开,例如:-dpi 10.211.55.101,10.211.55.102
-dmi DSC所有节点私网IP,以逗号隔开,例如:-dmi 1.1.1.1,1.1.1.2
-lci DSC第三方确认公网IP,例如:-lci 10.211.55.103
-cdp CSS公网通信端口,取值:1024~65534,默认值:[9341]
-adp ASM公网通信端口,取值:1024~65534,默认值:[9351]
-ddp DB 公网通信端口,取值:1024~65534,默认值:[9361]
-amp ASM私网通信端口,取值:1024~65534,默认值:[9451]
-dmp DB 私网通信端口,取值:1024~65534,默认值:[9461]
-dcd DCR[V]磁盘列表,DSC集群只能传入一块磁盘,例如:/dev/sdb,DSCM集群时,可以传1,3,5块磁盘,例如:/dev/sdb,/dev/sdc,/dev/sdd
-vod VOTE磁盘列表,DSC集群只能传入一块磁盘,例如:/dev/sdc,DSCM集群时,不用传此参数
-lod REDO磁盘列表,可以是一块盘,也可以是多块盘,如果没有redo磁盘,可以不写,例如:/dev/sdd,/dev/sde
-ard ARCH磁盘列表,可以是一块盘,也可以是多块盘,如果没有arch磁盘,可以不写,例如:/dev/sdf,/dev/sdg
-dad DATA磁盘列表,可以是一块盘,也可以是多块盘,盘数必须大于等于 1 ,例如:/dev/sdh,/dev/sdi
-rr REDO镜像文件冗余模式(ASM镜像独有参数),取值:1、2 或 3;默认值:[1]
-ar ARCH镜像文件冗余模式(ASM镜像独有参数),取值:1、2 或 3;默认值:[1]
-dr DATA镜像文件冗余模式(ASM镜像独有参数),取值:1、2 或 3;默认值:[1]
-lgm REDO文件副本数(ASM镜像独有参数),取值:1、2 或 3;默认值:[1]
-aam ARCH文件副本数(ASM镜像独有参数),取值:1、2 或 3;默认值:[1]
-dtm SYSTEM/MAIN/ROLL 表空间数据文件副本数(ASM镜像独有参数),取值:1、2 或 3;默认值:[1]
-ctm dm.ctl 和 dm_service.prikey文件副本数(ASM镜像独有参数),取值:1、2 或 3;默认值:[1]
-lst REDO日志条带化粒度(ASM镜像独有参数),取值:0、32、64、128、256,单位 KB。默认值:[64]
-aas ARCH日志条带化粒度(ASM镜像独有参数),取值:0、32、64、128、256,单位 KB。默认值:[64]
-dst DATA文件条带化粒度(ASM镜像独有参数),取值:0、32、64、128、256,单位 KB。默认值:[32]
-as 数据分配单元(ASM镜像独有参数),取值: 1、2、4、8、16、32、64,单位 BYTES。默认值:[4]
-rs ASM磁盘组日志文件大小(ASM镜像独有参数),取值 0、32、64、128、256,单位 MB。默认值:[128]
-ila 是否配置本地归档,如果配置,默认数据库归档目录 [/dmarch],可以由参数-ad指定具体目录,默认值:[N]
-fld 过滤重复磁盘,保留输出唯一盘符,参数值为非ASM盘符(系统盘等),例如:-fld sda,多个盘符用逗号拼接:-fld sda,sdb
-fmd 是否需要格式化共享存储盘,默认值:[Y]
-mtp 是否需要配置multipath多链路聚合,默认值:[N]
-ddn 数据库DB_NAME,默认值:[DSC]
-den 数据库每个节点的实例名前缀,默认值:[DSC]
-apd ASM实例密码,默认值:[Dameng1]
注意:本脚本仅用于新服务器上实施部署数据使用,严禁在已运行数据库的主机上执行,以免发生数据丢失或者损坏,造成不可挽回的损失!!!
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
- 71.
- 72.
- 73.
- 74.
- 75.
- 76.
- 77.
- 78.
- 79.
- 80.
- 81.
- 82.
- 83.
- 84.
- 85.
- 86.
- 87.
- 88.
- 89.
- 90.
- 91.
- 92.
- 93.
- 94.
- 95.
- 96.
- 97.
- 98.
- 99.
- 100.
- 101.
- 102.
- 103.
- 104.
- 105.
- 106.
- 107.
确保了解各个参数的作用之后,只需要上传达梦一键安装脚本和达梦安装包,即可进行安装。
安装命令
解压达梦安装包(这里不让脚本自动解压安装包,是因为有些朋友是直接保存的 ISO 文件):
## 注意,最小化安装不会安装 unzip 命令,所以还是不建议安装最小化系统,或者在有 unzip 命令的主机上进行解压后再拷贝过来
[root@dm8 soft]# unzip -q dm8_20240712_x86_rh7_64.zip
-bash: unzip: command not found
## 解压后的 ISO 镜像,安装命令中需要指定这个文件的位置
[root@dm8 soft]# ll dm8_20240712_x86_rh7_64.iso
-rw-r--r--. 1 root root 1103818752 Aug 19 10:16 dm8_20240712_x86_rh7_64.iso
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
这里我使用 README
说明中提供的生产环境安装部署命令:
[root@dm8 ~]# cd /soft/
[root@dm8 soft]# chmod +x DMShellInstall
## 根据实际环境调整以下参数值,执行一键安装即可
./DMShellInstall -hn dm8 `# 主机名`\
-dp Dameng@123 `# dmdba用户密码`\
-d /dm `# 软件安装目录`\
-dd /dmdata `# 数据库文件目录`\
-ad /dmarch `# 数据库归档目录`\
-bd /dmbak `# 数据库备份目录`\
-dn DAMENG `# 数据库名称`\
-in DMSERVER `#实例名称`\
-es 32 `# 数据文件簇大小`\
-ps 32 `# 数据页大小`\
-cs Y `# 字符串大小写敏感`\
-c 1 `# 数据库字符集`\
-sl 102400 `# 归档空间大小`\
-pn 5236 `# 监听端口号`\
-sp SYSDBA `# 数据库SYSDBA用户密码`\
-bm 2 `# 数据库备份模式 1全备 2增量`\
-opd Y `# 优化数据库参数`\
-mp 80 `# 优化数据库物理内存占比`\
-di dm8_20240712_x86_rh7_64.iso `# 达梦ISO镜像名称`
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
安装过程日志如下:
███████ ████ ████ ████████ ██ ██ ██ ██ ██ ██ ██
░██░░░░██ ░██░██ ██░██ ██░░░░░░ ░██ ░██ ░██░██ ░██ ░██ ░██
░██ ░██░██░░██ ██ ░██░██ ░██ █████ ░██ ░██░██ ███████ ██████ ██████ ██████ ░██ ░██
░██ ░██░██ ░░███ ░██░█████████░██████ ██░░░██ ░██ ░██░██░░██░░░██ ██░░░░ ░░░██░ ░░░░░░██ ░██ ░██
░██ ░██░██ ░░█ ░██░░░░░░░░██░██░░░██░███████ ░██ ░██░██ ░██ ░██░░█████ ░██ ███████ ░██ ░██
░██ ██ ░██ ░ ░██ ░██░██ ░██░██░░░░ ░██ ░██░██ ░██ ░██ ░░░░░██ ░██ ██░░░░██ ░██ ░██
░███████ ░██ ░██ ████████ ░██ ░██░░██████ ███ ███░██ ███ ░██ ██████ ░░██ ░░████████ ███ ███
░░░░░░░ ░░ ░░ ░░░░░░░░ ░░ ░░ ░░░░░░ ░░░ ░░░ ░░ ░░░ ░░ ░░░░░░ ░░ ░░░░░░░░ ░░░ ░░░
请选择达梦数据库部署类型:单机[si]/数据守护[dw]/dsc集群[dsc]/dsc集群(ASM镜像)[dscm]: si
达梦数据库安装部署类型: single
#==============================================================#
打印系统信息
#==============================================================#
服务器时间:
Mon Aug 19 10:23:28 CST 2024
操作系统版本:
NAME="Red Hat Enterprise Linux Server"
VERSION="7.9 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.9"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.9 (Maipo)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.9:GA:server"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.9
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.9"
内核信息:
Linux version 3.10.0-1160.el7.x86_64 (mockbuild@x86-vm-26.build.eng.bos.redhat.com) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Tue Aug 18 14:50:17 EDT 2020
服务器属性:
vmware
cpu信息:
型号名称 :Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.60GHz
物理 CPU 个数 :4
每个物理 CPU 的逻辑核数 :2
系统的 CPU 线程数 :8
内存信息:
total used free shared buff/cache available
Mem: 7981 428 5274 8 2278 7288
Swap: 2047 0 2047
total used free shared buff/cache available
Mem: 7.8G 427M 5.2G 8.9M 2.2G 7.1G
Swap: 2.0G 0B 2.0G
挂载信息:
/dev/mapper/rhel-root / xfs defaults 0 0
UUID=000a6662-014d-40b0-8fb0-0566ea38b919 /boot xfs defaults 0 0
/dev/mapper/rhel-swap swap swap defaults 0 0
目录信息:
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 9.0M 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/rhel-root 97G 3.3G 94G 4% /
/dev/sda1 1014M 137M 878M 14% /boot
tmpfs 799M 0 799M 0% /run/user/0
/dev/sr0 4.3G 4.3G 0 100% /mnt
#==============================================================#
添加端口并禁用防火墙
#==============================================================#
端口 5236 已成功添加到防火墙.
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
Aug 19 09:59:13 dm8 systemd[1]: Starting firewalld - dynamic firewall daemon...
Aug 19 09:59:15 dm8 systemd[1]: Started firewalld - dynamic firewall daemon.
Aug 19 09:59:15 dm8 firewalld[888]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure configuration option. It will be removed in a future release. Please consider disabling it now.
Aug 19 10:23:29 dm8 firewalld[888]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure configuration option. It will be removed in a future release. Please consider disabling it now.
Aug 19 10:23:30 dm8 systemd[1]: Stopping firewalld - dynamic firewall daemon...
Aug 19 10:23:31 dm8 systemd[1]: Stopped firewalld - dynamic firewall daemon.
#==============================================================#
禁用 SELinux
#==============================================================#
SELinux 正在强制执行,现在将其设置为禁用
SELinux 已被设置为禁用,请重启系统以使更改生效
#==============================================================#
调整 SWAP 分区
#==============================================================#
total used free shared buff/cache available
Mem: 7981 404 5297 8 2279 7312
Swap: 2047 0 2047
/dev/mapper/rhel-swap swap swap defaults 0 0
#==============================================================#
禁用透明大页 & 禁用NUMA & 开启 I/0 schedule
#==============================================================#
args="ro rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet LANG=en_US.UTF-8 transparent_hugepage=never elevator=deadline numa=off"
-rd.lvm.lv=rhel/root
-args="ro
args="ro rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet transparent_hugepage=never elevator=deadline numa=off"
-numa=off"
-elevator=deadline
#==============================================================#
配置内核参数和资源
#==============================================================#
sysctl: fs.aio-max-nr = 1048576
fs.file-max = 6815744
fs.nr_open = 20480000
kernel.core_pattern = /dmbak/dmcore/core.%e.%p.%t
kernel.panic_on_oops = 1
kernel.numa_balancing = 0
kernel.randomize_va_space = 2
kernel.shmall = 2097152
kernel.shmmax = 8369385471
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.ipv4.tcp_retries2 = 3
net.ipv4.tcp_fin_timeout = 5
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_rmem = 8192 87380 16777216
net.ipv4.tcp_wmem = 8192 65536 16777216
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
vm.swappiness = 10
vm.min_free_kbytes = 40866
cannot stat /proc/sys/vm/numa_stat: No such file or directory
vm.overcommit_memory = 0
vm.zone_reclaim_mode = 0
#==============================================================#
配置系统资源
#==============================================================#
# DMBegin
* hard core 0
* soft core 0
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft nproc 10240
dmdba hard nproc 10240
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba hard data unlimited
dmdba soft data unlimited
dmdba hard fsize unlimited
dmdba soft fsize unlimited
dmdba soft stack 65536
dmdba hard stack 65536
# DMEnd
# DMBegin
session required pam_limits.so
session required /lib64/security/pam_limits.so
# DMEnd
#==============================================================#
配置文件数和进程数限制
#==============================================================#
DefaultLimitCORE=infinity
DefaultLimitNOFILE=65536
DefaultLimitNPROC=10240
# DMBegin
dmdba soft nproc 65536
dmdba hard nproc 65536
# DMEnd
#==============================================================#
禁用 RemoveIPC
#==============================================================#
# DMBegin
RemoveIPC=no
# DMEnd
#==============================================================#
配置cache脚本
#==============================================================#
no crontab for root
#!/bin/bash
sync
echo 1 > /proc/sys/vm/drop_caches
* 6 * * * root /root/drop_cache.sh
#==============================================================#
配置/etc/profile
#==============================================================#
export LANG=zh_CN.UTF-8
export MALLOC_ARENA_MAX=4
#==============================================================#
配置主机名
#==============================================================#
Static hostname: dm8
Icon name: computer-vm
Chassis: vm
Machine ID: 24c89ace04424091870704e00ffb307d
Boot ID: 000d74d404054ae2a40e8f6fa15811ec
Virtualization: vmware
Operating System: Red Hat Enterprise Linux Server 7.9 (Maipo)
CPE OS Name: cpe:/o:redhat:enterprise_linux:7.9:GA:server
Kernel: Linux 3.10.0-1160.el7.x86_64
Architecture: x86-64
#==============================================================#
创建 DMDBA 用户
#==============================================================#
dmdba:x:56781:56781::/home/dmdba:/bin/bash
uid=56781(dmdba) gid=56781(dinstall) 组=56781(dinstall),56782(dmdba),56783(dmsso),56784(dmauditor)
#==============================================================#
配置用户环境变量
#==============================================================#
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export DM_HOME="/dm"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DM_HOME/bin"
export PATH="$PATH:$DM_HOME/bin:$DM_HOME/tool"
export PS1="[\u@\h:\w]$ "
alias dmbin="cd $DM_HOME/bin"
alias dmlog="cd $DM_HOME/log"
alias dmdata="cd /dmdata/DAMENG"
alias ds="disql -L /:5236 as sysdba"
alias dsql="disql -L -S /:5236 as sysdba -C \"set linesize 999 pagesize 999 long 1000 feed off\" -E"
alias dssql="disql -L -S /:5236 as sysdba \\\`"
#==============================================================#
挂载DMISO
#==============================================================#
总用量 1.1G
-r-xr-xr-x. 1 root root 2.8M 6月 17 14:26 DM8 Install.pdf
-r-xr-xr-x. 1 root root 1.1G 7月 12 13:28 DMInstall.bin
#==============================================================#
开始安装达梦数据库软件
#==============================================================#
解压安装程序.........
硬件架构校验通过!
2024-08-19 10:23:56
[INFO] 安装达梦数据库...
2024-08-19 10:23:56
[INFO] 安装 基础 模块...
2024-08-19 10:24:09
[INFO] 安装 服务器 模块...
2024-08-19 10:24:18
[INFO] 安装 客户端 模块...
2024-08-19 10:24:27
[INFO] 安装 驱动 模块...
2024-08-19 10:24:30
[INFO] 安装 手册 模块...
2024-08-19 10:24:31
[INFO] 安装 服务 模块...
2024-08-19 10:24:33
[INFO] 移动日志文件。
2024-08-19 10:24:35
[INFO] 正在启动DmAPService服务...
2024-08-19 10:24:36
[INFO] 启动DmAPService服务成功。
2024-08-19 10:24:36
[INFO] 安装达梦数据库完成。
#==============================================================#
初始化达梦数据库
#==============================================================#
file dm.key not found, use default license!
License will expire on 2025-07-03
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /dmdata/DAMENG/DAMENG01.log
log file path: /dmdata/DAMENG/DAMENG02.log
write to dir [/dmdata/DAMENG].
create dm database success. 2024-08-19 10:24:46
initdb V8
db version: 0x7000c
#==============================================================#
注册数据库服务
#==============================================================#
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDAMENG.service to /usr/lib/systemd/system/DmServiceDAMENG.service.
创建服务(DmServiceDAMENG)完成
Starting DmServiceDAMENG: [ OK ]
#==============================================================#
查询数据库基础参数信息
#==============================================================#
数据库参数项 数据库参数值
-------------------------- ------------------------------------
实例名 DMSERVER
DM Database Server x64 V8 1-3-162-2024.07.03-234060-20108-ENT
簇大小 32
页大小 32
大小写敏感 1
字符集 1
#==============================================================#
创建归档和备份脚本
#==============================================================#
创建数据库归档脚本:
-rw-r--r--. 1 dmdba dinstall 381 8月 19 10:25 /home/dmdba/scripts/conf_arch.sql
创建数据库备份脚本:
-rw-r--r--. 1 dmdba dinstall 1.5K 8月 19 10:25 /home/dmdba/scripts/conf_fullbackup.sql
-rw-r--r--. 1 dmdba dinstall 2.3K 8月 19 10:25 /home/dmdba/scripts/conf_incrbackup.sql
-rw-r--r--. 1 dmdba dinstall 1.5K 8月 19 10:25 /home/dmdba/scripts/check_backup.sql
创建 DMDBA 用户脚本,密码 SYSDBA :
-rw-r--r--. 1 dmdba dinstall 553 8月 19 10:25 /home/dmdba/scripts/create_user.sql
#==============================================================#
创建达梦数据库优化脚本
#==============================================================#
创建数据库参数配置脚本:
-rw-r--r--. 1 dmdba dinstall 23K 8月 19 10:25 /home/dmdba/scripts/conf_dmini.sql
创建数据库优化结果查询脚本:
-rw-r--r--. 1 dmdba dinstall 4.9K 8月 19 10:25 /home/dmdba/scripts/query_dmini.sql
创建数据库搜集统计信息脚本:
-rw-r--r--. 1 dmdba dinstall 1.8K 8月 19 10:25 /home/dmdba/scripts/conf_statistics.sql
#==============================================================#
配置 glogin.sql
#==============================================================#
column expired_date new_value _edate
select to_char(expired_date,'yyyy-mm-dd') expired_date from v$license;
host echo "密钥过期时间:&_edate"
set serveroutput on size 1000000
set long 200
set linesize 500
set pagesize 5000
set trimspool on
set lineshow off
col name new_value _dname
select name from v$database;
col port_num new_value _port
select para_value port_num from v$dm_ini where para_name='PORT_NUM';
set SQLPROMPT "_USER'@'_dname':'_port SQL> "
set time on
#==============================================================#
配置数据库归档
#==============================================================#
密钥过期时间:2025-07-03
ARCH_MODE
---------
Y
ARCH_NAME ARCH_DEST ARCH_FILE_SIZE ARCH_SPACE_LIMIT
-------------- -------------- -------------- ----------------
ARCHIVE_LOCAL1 /dmarch/DAMENG 1024 102400
#==============================================================#
在 127.0.0.1 创建备份
#==============================================================#
密钥过期时间:2025-07-03
NAME DESCRIBE
-------- -------------------------------------------------------------------------------
bak_arch 每天备份归档,删除30天之前的备份
bak_full 周六全量备份,并删除30天之前的备份。
bak_inc 周日到周五做增量备份,如果失败,清除8天前备份,做全量备份
NAME COMMAND
-------- ---------------------
bak_full 01000000/dmbak/DAMENG
#==============================================================#
配置搜集统计信息作业
#==============================================================#
密钥过期时间:2025-07-03
NAME DESCRIBE
---------- ----------------------------------------------------
statistics 每周六凌晨2点开始收集所有列统计信息
#==============================================================#
优化数据库基础参数
#==============================================================#
密钥过期时间:2025-07-03
MEMORY_TARGET+BUFFER+RECYCLE+HJ_BUF_GLOBAL_SIZE+HAGR_BUF_GLOBAL_SIZE+CACHE_POOL_SIZE+DICT_BUF_SIZE+SORT_BUF_GLOBAL_SIZE+RLOG_POO
--------------------------------------------------------------------------------------------------------------------------------
5246
#==============================================================#
开启操作系统认证
#==============================================================#
sp_set_para_value(2,'ENABLE_LOCAL_OSAUTH',1);
密钥过期时间:2025-07-03
#==============================================================#
开启SQLLOG日志
#==============================================================#
sp_set_para_value(2,'SVR_LOG',1);
密钥过期时间:2025-07-03
#==============================================================#
重启数据库,优化参数生效
#==============================================================#
Stopping DmServiceDAMENG: [ OK ]
Starting DmServiceDAMENG: [ OK ]
#==============================================================#
测试作业备份数据库
#==============================================================#
密钥过期时间:2025-07-03
备份集: /dmbak/DAMENG/DB_DAMENG_FULL_2024_08_19_10_25_58.
DMSQL 过程已成功完成
已用时间: 00:00:03.230. 执行号:505.
#==============================================================#
创建DMDBA用户,密码:SYSDBA
#==============================================================#
密钥过期时间:2025-07-03
USERNAME
----------
SYS
DMDBA
SYSSSO
SYSAUDITOR
SYSDBA
#==============================================================#
查询数据库优化结果:
#==============================================================#
密钥过期时间:2025-07-03
NAME PARA_VALUE FILE_VALUE
---------------------- ----------- --------------
MAX_OS_MEMORY 100 100
MEMORY_POOL 400 400
MEMORY_N_POOLS 2 2
MEMORY_TARGET 1000 1000
MEMORY_MAGIC_CHECK 1 1
BUFFER 2000 2000
BUFFER_POOLS 11 11
FAST_POOL_PAGES 3000 3000
FAST_ROLL_PAGES 1000 1000
RECYCLE 240 240
RECYCLE_POOLS 2 2
MULTI_PAGE_GET_NUM 1 1
PRELOAD_SCAN_NUM 0 0
PRELOAD_EXTENT_NUM 0 0
MAX_BUFFER 8000 8000
SORT_BUF_SIZE 10 10
SORT_BLK_SIZE 1 1
SORT_BUF_GLOBAL_SIZE 500 500
SORT_FLAG 0 0
HJ_BUF_GLOBAL_SIZE 1000 1000
HJ_BUF_SIZE 50 50
HAGR_BUF_GLOBAL_SIZE 1000 1000
HAGR_BUF_SIZE 50 50
DICT_BUF_SIZE 50 50
VM_POOL_TARGET 16384 16384
SESS_POOL_TARGET 16384 16384
WORKER_THREADS 8 8
TASK_THREADS 4 4
USE_PLN_POOL 1 1
ENABLE_INJECT_HINT 1 1
VIEW_PULLUP_FLAG 1 1
OPTIMIZER_MODE 1 1
ADAPTIVE_NPLN_FLAG 0 0
DIRECT_IO 0 0
IO_THR_GROUPS 8 8
MAX_SESSIONS 1500 1500
MAX_SESSION_STATEMENT 20000 20000
FAST_LOGIN 1 1
PK_WITH_CLUSTER 0 0
OLAP_FLAG 2 2
TEMP_SIZE 1024 1024
TEMP_SPACE_LIMIT 102400 102400
CACHE_POOL_SIZE 200 200
PARALLEL_POLICY 2 2
BTR_SPLIT_MODE 1 1
RLOG_POOL_SIZE 256 256
UNDO_EXTENT_NUM 16 16
PARALLEL_PURGE_FLAG 1 1
TRX_DICT_LOCK_NUM 64 64
ENABLE_ENCRYPT 0 0
SVR_LOG 1 1
ENABLE_MONITOR 1 1
ENABLE_FREQROOTS 1 1
ENABLE_MONITOR_BP 0 0
DSC_N_CTLS 1028096 1028096
DSC_N_POOLS 19 19
DSC_ENABLE_MONITOR 1 1
DSC_HALT_SYNC 0 0
MAL_CHECK_INTERVAL placeholder NULL
MAL_CONN_FAIL_INTERVAL placeholder NULL
MAL_BUF_SIZE placeholder NULL
MAL_SYS_BUF_SIZE placeholder NULL
MAL_COMPRESS_LEVEL placeholder NULL
MAL_TEMP_PATH placeholder NULL
MAL_VPOOL_SIZE placeholder NULL
MAL_INST_NAME placeholder NULL
MAL_HOST placeholder NULL
MAL_PORT placeholder NULL
MAL_INST_HOST placeholder NULL
MAL_INST_PORT placeholder NULL
MAL_DW_PORT placeholder NULL
ARCH_DEST placeholder /dmarch/DAMENG
恭喜!单机安装成功,现在是否重启主机:[Y/N] Y
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
- 71.
- 72.
- 73.
- 74.
- 75.
- 76.
- 77.
- 78.
- 79.
- 80.
- 81.
- 82.
- 83.
- 84.
- 85.
- 86.
- 87.
- 88.
- 89.
- 90.
- 91.
- 92.
- 93.
- 94.
- 95.
- 96.
- 97.
- 98.
- 99.
- 100.
- 101.
- 102.
- 103.
- 104.
- 105.
- 106.
- 107.
- 108.
- 109.
- 110.
- 111.
- 112.
- 113.
- 114.
- 115.
- 116.
- 117.
- 118.
- 119.
- 120.
- 121.
- 122.
- 123.
- 124.
- 125.
- 126.
- 127.
- 128.
- 129.
- 130.
- 131.
- 132.
- 133.
- 134.
- 135.
- 136.
- 137.
- 138.
- 139.
- 140.
- 141.
- 142.
- 143.
- 144.
- 145.
- 146.
- 147.
- 148.
- 149.
- 150.
- 151.
- 152.
- 153.
- 154.
- 155.
- 156.
- 157.
- 158.
- 159.
- 160.
- 161.
- 162.
- 163.
- 164.
- 165.
- 166.
- 167.
- 168.
- 169.
- 170.
- 171.
- 172.
- 173.
- 174.
- 175.
- 176.
- 177.
- 178.
- 179.
- 180.
- 181.
- 182.
- 183.
- 184.
- 185.
- 186.
- 187.
- 188.
- 189.
- 190.
- 191.
- 192.
- 193.
- 194.
- 195.
- 196.
- 197.
- 198.
- 199.
- 200.
- 201.
- 202.
- 203.
- 204.
- 205.
- 206.
- 207.
- 208.
- 209.
- 210.
- 211.
- 212.
- 213.
- 214.
- 215.
- 216.
- 217.
- 218.
- 219.
- 220.
- 221.
- 222.
- 223.
- 224.
- 225.
- 226.
- 227.
- 228.
- 229.
- 230.
- 231.
- 232.
- 233.
- 234.
- 235.
- 236.
- 237.
- 238.
- 239.
- 240.
- 241.
- 242.
- 243.
- 244.
- 245.
- 246.
- 247.
- 248.
- 249.
- 250.
- 251.
- 252.
- 253.
- 254.
- 255.
- 256.
- 257.
- 258.
- 259.
- 260.
- 261.
- 262.
- 263.
- 264.
- 265.
- 266.
- 267.
- 268.
- 269.
- 270.
- 271.
- 272.
- 273.
- 274.
- 275.
- 276.
- 277.
- 278.
- 279.
- 280.
- 281.
- 282.
- 283.
- 284.
- 285.
- 286.
- 287.
- 288.
- 289.
- 290.
- 291.
- 292.
- 293.
- 294.
- 295.
- 296.
- 297.
- 298.
- 299.
- 300.
- 301.
- 302.
- 303.
- 304.
- 305.
- 306.
- 307.
- 308.
- 309.
- 310.
- 311.
- 312.
- 313.
- 314.
- 315.
- 316.
- 317.
- 318.
- 319.
- 320.
- 321.
- 322.
- 323.
- 324.
- 325.
- 326.
- 327.
- 328.
- 329.
- 330.
- 331.
- 332.
- 333.
- 334.
- 335.
- 336.
- 337.
- 338.
- 339.
- 340.
- 341.
- 342.
- 343.
- 344.
- 345.
- 346.
- 347.
- 348.
- 349.
- 350.
- 351.
- 352.
- 353.
- 354.
- 355.
- 356.
- 357.
- 358.
- 359.
- 360.
- 361.
- 362.
- 363.
- 364.
- 365.
- 366.
- 367.
- 368.
- 369.
- 370.
- 371.
- 372.
- 373.
- 374.
- 375.
- 376.
- 377.
- 378.
- 379.
- 380.
- 381.
- 382.
- 383.
- 384.
- 385.
- 386.
- 387.
- 388.
- 389.
- 390.
- 391.
- 392.
- 393.
- 394.
- 395.
- 396.
- 397.
- 398.
- 399.
- 400.
- 401.
- 402.
- 403.
- 404.
- 405.
- 406.
- 407.
- 408.
- 409.
- 410.
- 411.
- 412.
- 413.
- 414.
- 415.
- 416.
- 417.
- 418.
- 419.
- 420.
- 421.
- 422.
- 423.
- 424.
- 425.
- 426.
- 427.
- 428.
- 429.
- 430.
- 431.
- 432.
- 433.
- 434.
- 435.
- 436.
- 437.
- 438.
- 439.
- 440.
- 441.
- 442.
- 443.
- 444.
- 445.
- 446.
- 447.
- 448.
- 449.
- 450.
- 451.
- 452.
- 453.
- 454.
- 455.
- 456.
- 457.
- 458.
- 459.
- 460.
- 461.
- 462.
- 463.
- 464.
- 465.
- 466.
- 467.
- 468.
- 469.
- 470.
- 471.
- 472.
- 473.
- 474.
- 475.
- 476.
- 477.
- 478.
- 479.
- 480.
- 481.
- 482.
- 483.
- 484.
- 485.
- 486.
- 487.
- 488.
- 489.
- 490.
- 491.
- 492.
- 493.
- 494.
- 495.
- 496.
- 497.
- 498.
- 499.
- 500.
- 501.
- 502.
- 503.
- 504.
- 505.
- 506.
- 507.
- 508.
- 509.
- 510.
- 511.
- 512.
- 513.
- 514.
- 515.
- 516.
- 517.
- 518.
- 519.
- 520.
- 521.
- 522.
- 523.
- 524.
- 525.
- 526.
- 527.
- 528.
- 529.
- 530.
- 531.
- 532.
- 533.
- 534.
- 535.
- 536.
- 537.
- 538.
- 539.
- 540.
- 541.
- 542.
- 543.
- 544.
- 545.
- 546.
- 547.
- 548.
- 549.
- 550.
- 551.
- 552.
- 553.
- 554.
- 555.
- 556.
- 557.
- 558.
- 559.
- 560.
- 561.
- 562.
- 563.
- 564.
- 565.
- 566.
- 567.
- 568.
- 569.
- 570.
- 571.
- 572.
- 573.
- 574.
- 575.
- 576.
- 577.
- 578.
- 579.
- 580.
- 581.
- 582.
- 583.
- 584.
- 585.
- 586.
- 587.
- 588.
整个安装过程只要几分钟,大写的 NIUBILITY。
重启完成后,尝试连接达梦数据库:
数据库访问正常。
感谢您的阅读,这里是 Lucifer三思而后行,欢迎 点赞+关注,我会持续分享数据库知识、运维技巧。