(一)系统环境检查
1操作系统:确认使用的是国产麒麟操作系统,检查系统版本是否兼容达梦数据库 V8。可以通过以下命令查看系统版本:
cat /etc/os-release
2硬件资源:确保服务器具备足够的硬件资源,建议最低配置为:
CPU:2 核及以上
内存:4GB 及以上
磁盘空间:安装目录至少需要 2GB 可用空间,数据存储目录根据实际需求预留足够空间。
命令
(一)挂载资源cd /opt 切换到 opt 目录:把对应安装包放入上去
安装包拖拽到 opt
安装前必须创建 dmdba 用户,禁止使用 root 用户安装数据库
(二)创建用户和用户组
为了安全和管理方便,创建专门的用户和用户组来安装和运行达梦数据库。
1.创建用户所在的组,命令如下:
groupadd dinstall -g 2001
2.创建用户,命令如下:
useradd -G dinstall -m -d /home/dmdba -s /bin/bash -u 2001 dmdba
3.修改用户密码,命令如下:
passwd dmdba
passwd Dameng123
(三)、修改文件打开最大数
1.limits.conf追加参数 使用 root 用户
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
修改配置文件后重启服务器生效
切换到 dmdba 用户,查看是否生效
su - dmdba
ulimit -a
看到上面的65536对应上了就好
(四)目录
默认配置 DM 数据库安装在 /home/dmdba 文件夹下
##实例保存目录
mkdir -p /dmdata/data
##归档保存目录
mkdir -p /dmdata/arch
##备份保存目录
mkdir -p /dmdata/dmbak
4.1修改目录权限
将新建的路径目录权限的用户修改为 dmdba,用户组修改为 dinstall。命令如下:
chown -R dmdba:dinstall /dmdata/data
chown -R dmdba:dinstall /dmdata/arch
chown -R dmdba:dinstall /dmdata/dmbak
给路径下的文件设置 755 权限。命令如下:
chmod -R 755 /dmdata/data
chmod -R 755 /dmdata/arch
chmod -R 755 /dmdata/dmbak
4.进行安装(opt是上传的路径,mnt是解压包安装路径)
切换到 root 用户,将 DM 数据库的 iso 安装包保存在任意位置,例如 /opt 目录下,执行如下命令挂载镜像:
cd /opt
mount -o loop dm8_20240116_x86_rh7_64.iso /mnt
切换至 dmdba 用户
su - dmdba
cd /mnt
执行安装命令:
./DMInstall.bin -i
回答
1 y y 21 1 y
从这里开始都是用root用户进行操作
su - root
创建 DmAPService,否则会影响数据库备份
/home/dmdba/dmdbms/script/root/root_installer.sh
5.配置环境变量
切换到root用进入dmdba用户根目录下,配置相对应环境变量,DM_HOME会在数据库安装完成之后自动导入
cd /home/dmdba/
vi .bash_profile
su - dmdba
source .bash_profile
三、配置实例
cd /home/dmdba/dmdbms/bin
开始配置实例,初始化实例参数
./dminit path=/dmdata/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=N
CHARSET=1 DB_NAME=DMTEST INSTANCE_NAME=DBSERVER PORT_NUM=5237 BUFFER=2048
SYSDBA_PWD=MyDb@2025Pass SYSAUDITOR_PWD=Audit@2025Secure
四、注册成服务
注册服务需要使用root用户注册,使用root用户进入数据库的安装目录的 /script/root下
cd /home/dmdba/dmdbms/script/root/
注意:
配置的路径中的DAMENG就是第三步配置的名称,检查第三步所配置的是否一致
DMSERVER是即将被注册成服务的服务名
./dm_service_installer.sh -t dmserver -dm_ini /dmdata/data/DMTEST/dm.ini -p DMTEST
备注(安装路径)
cd /home/dmdba/dmdbms/bin
五、启动、停止、重启数据库
自动开机开启服务
systemctl enable DmServiceDMTEST.service
systemctl start DmServiceDMTEST.service
systemctl stop DmServiceDMTEST.service
systemctl status DmServiceDMTEST.service
或者目录启动
cd /home/dmdba/dmdbms/bin
./DmServiceDMTEST stop
查看是否打开防火墙,如果打开了,需要放开端口,不然不能访问
firewall-cmd --zone=public --add-port=5237/tcp --permanent (permanent永久生效,没有此参数重启后失效)
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
测试访问
页面设置定时备份:一周一个全量,一天一个增量
删除30天前的数据代理脚本
call SF_BAKSET_BACKUP_DIR_ADD('DISK', '/data/dmdata/dmbak');
CALL SP_DB_BAKSET_REMOVE_BATCH('DISK', NOW()-30);
查找
find / -name "dm.ini" 2>/dev/null
find / -name "dmdbms" 2>/dev/null
文件查找/ n是下一个, sheft+n是上一个
--修改最大访问数MAX_SESSIONS
vi /dmdbms/data/DAMENG/dm.ini
--设置账号密码
./dminit path=/dmdata/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DMTEST INSTANCE_NAME=DBSERVER PORT_NUM=5237 SYSDBA_PWD=MyDb@2025Pass SYSAUDITOR_PWD=Audit@2025Secure
1恢复全量数据命令
CHECK BACKUPSET '/opt/DB_CDMZHD_FULL_2025_03_01_23_00_42.bak';
RESTORE DATABASE '/dmdata/data/DMTEST/dm.ini' FROM BACKUPSET '/opt/DB_CDMZHD_FULL_2025_03_01_23_00_42';
2恢复增量数据命令
RECOVER DATABASE '/dmdata/data/DMTEST/dm.ini' FROM BACKUPSET '/opt/DB_CDMZHD_FULL_2025_03_01_23_00_42';
3更新数据库
RECOVER DATABASE '/dmdata/data/DMTEST/dm.ini' UPDATE DB_MAGIC;
注意!这里的是文件夹目录(依据备份产生的数据来)
里面的数据是全部要复制到指定目录里面去的

--查看最大会话数
SELECT SF_GET_PARA_VALUE(2, 'MAX_SESSIONS');
-- 获取INI文件中的配置参数值
SELECT SF_GET_PARA_VALUE(1, 'MAX_SESSIONS') FROM DUAL;
-- 获取内存中的配置参数值
SELECT SF_GET_PARA_VALUE(2, 'MAX_SESSIONS') FROM DUAL;
--查看所有参数
SELECT * FROM V$DM_INI;
--获取CPU核心数
SELECT N_CPU FROM V$SYSTEMINFO;
--获取物理内存大小(GB)
SELECT TOTAL_PHY_SIZE/1024/1024/1024 AS TOTAL_MEMORY_MB FROM V$SYSTEMINFO;
DECLARE
v_cpus INT;
v_mem_mb INT;
BEGIN
-- 获取CPU核心数
SELECT N_CPU INTO v_cpus FROM V$SYSTEMINFO;
-- 获取物理内存大小(GB)
SELECT TOTAL_PHY_SIZE/1024/1024/1024 INTO v_mem_mb FROM V$SYSTEMINFO;
-- 输出结果
PRINT 'CPU Cores: ' || v_cpus;
PRINT 'Total Memory (GB): ' || v_mem_mb;
END;
SELECT * FROM V$PARAMETER WHERE NAME LIKE '%SVR_LOG%';
SP_REFRESH_SVR_LOG_CONFIG();
sp_set_para_value(1,'SVR_LOG',1);
select * from v$parameter where name like 'SVR_LOG';