本文档记录在 Linux 虚拟机中安装 DM8 数据库软件、初始化数据库实例、注册系统服务以及验证数据库可用性的完整过程。
文档以无图形界面的银河麒麟服务器操作系统为例,使用命令行安装方式进行部署。
虚拟机:VMwareworkstation V16
数据库版本: dm8_20250930_x86_kylin10_sp1_64.iso
操作系统版本: Kylin-Server-10-SP2-x86-Release-Build09-20210524
在安装完麒麟系统之后会发现系统界面与VMware的界面并不匹配
针对这种情况,在虚拟机那一栏里选择安装VMware Tools,解决适配问题。
点击安装VMware Tools之后,我的电脑会出现一个DVD光盘文件
点开会有一个VMwareTools压缩包,将其复制到桌面上,
使用命令解压:
tar -zxvf VMwareTools -10.3.22-15902021.tar.gz
进入解压完成的文件夹:cd vmware-tools-distrib
ls :命令查看文件夹下的文件
执行文件夹下的可执行文件。之后一路回车,安装完成后就会自动适应。
sudo ./vmware-install.pl
| 项目 | 示例配置 |
|---|---|
| 主机名 | localhost |
| IP 地址 | 192.168.52.142 |
| CPU | 4 核 |
| 内存 | 8 GB |
| 系统盘 | 30 GB |
| 网卡 | 1 块 |
| 项目 | 示例值 |
|---|---|
| 数据库名称 | DAMENG |
| 实例名称 | DMSERVER |
| 数据库端口 | 5236 |
| 字符集 | UTF-8 |
| 页大小 | 16 KB |
| 簇大小 | 32 页 |
| 大小写敏感 | 是 |
| 项目 | 规划 |
|---|---|
| 安装用户组 | dinstall |
| 安装用户 | dmdba |
| 用户主目录 | /home/dmdba |
| 软件安装目录 | /home/dmdba/dmdbms |
| 数据目录 | /home/dmdba/dmdata |
| 归档目录 | /home/dmdba/dmarch |
| 备份目录 | /home/dmdba/dmbackup |
| 安装介质挂载目录 | /mnt/dm8 |
以下检查默认使用 root 用户执行,特别标注为 dmdba 的命令除外。
# 查看 CPU 架构
uname -m
# 查看完整内核信息
uname -a
# 查看操作系统发行版本
cat /etc/os-release
# 部分系统也可以使用
lsb_release -a
ldd --version
# 查看内存总量
grep MemTotal /proc/meminfo
# 查看交换分区
grep SwapTotal /proc/meminfo
# 查看内存使用详情
free -h
安装手册要求尽量保证至少 1 GB 可用内存。本文虚拟机规划为 8 GB,以便同时运行数据库和常用管理工具。
如果虚拟机未配置交换分区,应结合实际内存和运行规范决定是否增加 Swap。
df -h df -h /home df -h /tmp
重点检查:
/tmp 是安装程序默认临时目录,应预留至少 2 GB。如果 /tmp 空间不足,可以指定新的安装临时目录:
mkdir -p /home/dm_install_tmp
chown dmdba:dinstall /home/dm_install_tmp
chmod 755 /home/dm_install_tmp
export DM_INSTALL_TMPDIR=/home/dm_install_tmp
确认计划使用的 5236 端口没有被占用:
ss -lntp | grep ':5236'
无输出表示当前没有进程监听该端口。
以 root 用户执行:
groupadd -g 12349 dinstall
useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
设置密码:
passwd dmdba
如果系统中已经存在 dmdba 用户,不要重复创建,应检查其主组和主目录:
id dmdba getent passwd dmdba
mkdir -p /home/dmdba/dmdata mkdir -p /home/dmdba/dmarch mkdir -p /home/dmdba/dmbackup mkdir -p /home/dmdba/dm_install_tmp chown -R dmdba:dinstall /home/dmdba chmod 755 /home/dmdba chmod 750 /home/dmdba/dmdata chmod 750 /home/dmdba/dmarch chmod 750 /home/dmdba/dmbackup
以 root 用户编辑:
vi /etc/security/limits.conf
在文件末尾增加:
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft fsize unlimited
dmdba hard fsize unlimited
dmdba soft data unlimited
dmdba hard data unlimited
dmdba soft as unlimited
dmdba hard as unlimited
配置完成后重新登录 dmdba 用户,不能只在原会话中继续操作:
su - dmdba
ulimit -a
/etc/security/limits.conf对交互式用户会话生效,但不一定对 systemd 服务生效。注册数据库服务后,还应检查 systemd 的资源限制。
生产环境建议保留防火墙,并只开放数据库实际需要的端口:
firewall-cmd --permanent --add-port=5236/tcp firewall-cmd --reload firewall-cmd --list-ports
实验环境如果确实不需要防火墙,也可以关闭:
systemctl stop firewalld
systemctl disable firewalld
在 VMware、VirtualBox 或其他虚拟化平台中:
以 root 用户执行:
lsblk
虚拟光驱通常为:
/dev/sr0
mkdir -p /mnt/dm8
mount -o ro /dev/sr0 /mnt/dm8
#进入到dm8目录下查看是否成功
cd /mnt/dm8
ls
ISO 是只读文件系统,不能直接修改其中的文件权限。将安装程序复制到 dmdba 用户目录:
cp /mnt/dm8/DMInstall.bin /home/dmdba/ chown dmdba:dinstall /home/dmdba/DMInstall.bin chmod 755 /home/dmdba/DMInstall.bin
无图形界面的 Linux 服务器应使用命令行安装。
su - dmdba
确认当前用户:
whoami id
cd /home/dmdba
./DMInstall.bin -i
安装程序首先解压文件,并检查 GLIBC、CPU 架构和当前用户的资源限制。
安装程序提示:
请选择语言:
[1]: 简体中文
[2]: English
请选择安装语言 [1]:
如果没有正式 Key 文件:
是否输入 Key 文件路径?(Y/y:是 N/n:否) [Y/y]:
输入:
N
如果已经获得正式 Key:
Y
/home/dmdba/dm.key
安装程序会显示许可证的版本、有效期、并发连接数等信息。确认 Key 合法且在有效期内再继续。
选择设置时区:
Y
中国标准时间对应:
[21]: (GTM+08:00) 中国标准时间
安装程序提供:
1 典型安装
2 服务器
3 客户端
4 自定义
输入:
1
安装完成后,终端会提示“请以 root 系统用户执行命令”,脚本通常为:
/home/dmdba/dmdbms/script/root/root_installer.sh
切换至root用户执行:
/home/dmdba/dmdbms/script/root/root_installer.sh
脚本执行成功后,再返回 dmdba 用户继续后续操作。
具体脚本路径应以安装程序最后输出的提示为准,不要在未确认路径的情况下照搬。
数据库软件安装完成后,还没有可运行的数据库实例,需要使用 dminit 初始化。
以root用户执行以下命令创建目录:
mkdir -p /dm/data
chown -R dmdba:dinstall /dm
chmod -R 755 /dm
以 dmdba 用户执行:
cd /home/dmdba/dmdbms/bin
./dminit path=/dm/data db_name=DAMENG instance_name=DMSERVER port_num=5236 SYSDBA_PWD=Dameng123 SYSAUDITOR_PWD=Dameng123 EXTENT_SIZE=16 PAGE_SIZE=8 log_size=256
初始化成功后,数据库配置目录为:
/dm/data/DAMENG
主要文件包括:
| 文件 | 说明 |
|---|---|
dm.ini |
数据库主配置文件 |
sqllog.ini |
SQL 日志配置文件 |
dm.ctl |
数据库控制文件 |
SYSTEM.DBF |
SYSTEM 表空间文件 |
ROLL.DBF |
回滚表空间文件 |
MAIN.DBF |
MAIN 表空间文件 |
DAMENG01.log |
联机 Redo 日志 |
DAMENG02.log |
联机 Redo 日志 |
首次启动先使用前台方式,便于观察日志:
cd /home/dmdba/dmdbms/bin
./dmserver /home/dmdba/dmdata/DAMENG/dm.ini
看到类似以下信息,说明实例已正常启动:
另开一个终端,切换到 dmdba:
su - dmdba ./disql SYSDBA@192.168.52.142:5236
按提示输入 SYSDBA 密码。
执行:
SELECT * FROM V$VERSION;
SELECT INSTANCE_NAME, STATUS$ FROM V$INSTANCE;
SELECT NAME FROM V$DATABASE;
CREATE TABLE INSTALL_TEST (
ID INT PRIMARY KEY,
REMARK VARCHAR(100),
CREATE_TIME DATETIME DEFAULT SYSDATE
);
INSERT INTO INSTALL_TEST(ID, REMARK)
VALUES (1, 'DM8 INSTALL SUCCESS');
COMMIT;
SELECT * FROM INSTALL_TEST;
能够正常创建、写入和查询,说明数据库基本功能正常。
在 disql 中执行:
SHUTDOWN NORMAL;
确认前台 dmserver 进程正常退出。
以 root 用户执行:
cd /home/dmdba/dmdbms/script/root
./dm_service_installer.sh -t dmserver -dm_ini /dm/data/DAMENG/dm.ini -p DMSERVER
注册成功后,服务名称通常为:
DmServiceDMSERVER
服务名称和安装结果应以脚本实际输出为准。
systemctl daemon-reload systemctl status DmServiceDMSERVER systemctl cat DmServiceDMSERVER
systemctl start DmServiceDMSERVER systemctl status DmServiceDMSERVER
现象:
Permission denied
处理:
chmod 755 /home/dmdba/DMInstall.bin
确认文件所在目录没有使用 noexec 选项挂载:
mount | grep ' /home '
mount | grep ' /tmp '
现象:
安装程序执行码硬件架构与当前平台硬件架构不适配
无法执行二进制文件
检查:
uname -m getconf LONG_BIT file /home/dmdba/DMInstall.bin
处理:下载与当前 CPU 架构和操作系统匹配的安装介质。
检查:
df -h /tmp
指定其他临时目录:
mkdir -p /home/dm_install_tmp
chown dmdba:dinstall /home/dm_install_tmp
chmod 755 /home/dm_install_tmp
export DM_INSTALL_TMPDIR=/home/dm_install_tmp
检查:
su - dmdba
ulimit -a
如果仍未生效:
/etc/security/limits.conf 配置没有拼写错误。/etc/security/limits.d/ 中是否存在覆盖配置。systemctl show 检查限制。检查:
ls -ld /home/dmdba/dmdata
df -h /home/dmdba/dmdata
ss -lntp | grep ':5236'
常见原因:
不要直接删除已有数据库目录。应先确认目录是否包含需要保留的数据库数据。
文章
阅读量
获赞
