linux达梦是否安装查看
🔍 一、检查核心安装目录(必查)
DM8 默认安装路径为
/dm8/dmdbms(可通过安装时自定义),执行:bash
ls -ld /dm8/dmdbms # 标准安装路径
ls -ld /dm8/data # 数据库数据目录(含实例文件)
✅ 预期结果:
plaintext
drwxr-xr-x 10 dmdba dinstall 4096 Apr 9 14:20 /dm8/dmdbms # 存在dmdbms目录
drwxr-xr-x 5 dmdba dinstall 4096 Apr 9 14:22 /dm8/data # 存在data目录(含DAMENG等实例文件夹)
❌ 异常处理:若目录不存在,可能安装路径被修改,需检查用户自定义路径(如
/opt/dm8)。🔍 二、验证安装用户和组(权限关联)
DM8 安装时会创建专用用户
dmdba 和组 dinstall,执行:bash
getent passwd dmdba # 检查用户
getent group dinstall # 检查组
✅ 预期结果:
plaintext
dmdba:x:1001:1001::/home/dmdba:/bin/bash # 用户存在
dinstall:x:1001: # 组存在
💡 原理:官方文档强制要求使用非 root 用户安装,避免权限风险。
🔍 三、查看运行进程(实时验证)
DM8 主进程为
dmserver,执行:bash
ps -ef | grep -E 'dmserver|dmwatcher|dmmonitor' # 主进程+守护进程
✅ 典型输出(实例运行中):
plaintext
dmdba 12345 1 0 Apr09 ? 00:05:12 /dm8/dmdbms/bin/dmserver /dm8/data/DAMENG/dm.ini -noconsole
⚠️ 注意:若进程不存在,可能服务未启动(需检查服务状态)。
🔍 四、检查 systemd 服务(CentOS 7 + 适用)
DM8 安装后会注册 systemd 服务(如
DmServiceDMSERVER),执行:bash
systemctl list-unit-files | grep DmService # 查看服务注册
systemctl status DmServiceDMSERVER # 查看服务状态
✅ 运行中状态:
plaintext
● DmServiceDMSERVER.service - DmServiceDMSERVER
Loaded: loaded (/etc/systemd/system/DmServiceDMSERVER.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2025-04-09 14:20:00 CST; 5min ago
❌ 异常处理:若服务未注册,需手动执行
dm_service_installer.sh(路径:/dm8/dmdbms/script/root/)。🔍 五、验证命令行工具(功能验证)
DM8 自带
disql(客户端工具)和 dminit(初始化工具),执行:bash
/dm8/dmdbms/bin/disql -V # 查看disql版本
/dm8/dmdbms/bin/dminit -h # 查看初始化工具帮助
✅ 预期输出:
plaintext
disql V8
DM8 64位工具,命令行客户端 (V8.1.1.88-Build(2020.06.29-123456))
💥 关键:若命令不存在,说明安装路径错误或未正确解压。
🔍 六、检查配置文件(实例存在性)
核心配置文件
dm.ini 位于实例目录(如 /dm8/data/DAMENG/),执行:bash
ls -l /dm8/data/DAMENG/dm.ini # 标准实例路径
cat /dm8/data/DAMENG/dm.ini | grep -i 'instance_name' # 查看实例名
✅ 典型内容:
plaintext
[INSTANCE]
INSTANCE_NAME = DMSERVER # 实例名
PORT_NUM = 5236 # 默认端口
🔍 七、连接数据库验证(终极验证)
使用
disql 连接数据库(需替换密码和端口):bash
/dm8/dmdbms/bin/disql sysdba/YourPassword@localhost:5236
✅ 成功标志:
plaintext
服务器[localhost:5236]:处于普通打开状态
登录使用时间 : 3.588(ms)
disql V8
SQL> select * from v$version; -- 查看版本
行号 BANNER
1 DM8 64位 企业版 V8.1.1.88-Build(2020.06.29-123456)ENT
❌ 常见失败原因:
- 密码错误:安装时设置的 SYSDBA 密码(默认
SYSDBA)。 - 端口未开放:检查防火墙或
dm.ini中的PORT_NUM。 - 实例未启动:先执行
systemctl start DmServiceDMSERVER。
📌 快速验证脚本(一键检测)
bash
#!/bin/bash
# 验证DM8安装的一键脚本
GREEN="\033[32m"
RED="\033[31m"
END="\033[0m"
# 1. 检查安装目录
if [ -d "/dm8/dmdbms" ]; then
echo -e "${GREEN}[OK] 安装目录存在${END}"
else
echo -e "${RED}[ERROR] 未找到DM8安装目录(默认/dm8/dmdbms)${END}"
exit 1
fi
# 2. 检查用户和组
if id dmdba &>/dev/null && getent group dinstall &>/dev/null; then
echo -e "${GREEN}[OK] 安装用户/组存在${END}"
else
echo -e "${RED}[ERROR] 缺少dmdba用户或dinstall组${END}"
exit 1
fi
# 3. 检查进程
if pgrep -f dmserver &>/dev/null; then
echo -e "${GREEN}[OK] 数据库进程运行中${END}"
else
echo -e "${YELLOW}[WARN] 数据库未运行,可能服务未启动${END}"
fi
# 4. 检查disql工具
if command -v /dm8/dmdbms/bin/disql &>/dev/null; then
echo -e "${GREEN}[OK] disql工具可用${END}"
/dm8/dmdbms/bin/disql -V
else
echo -e "${RED}[ERROR] disql未找到,安装可能不完整${END}"
exit 1
fi
echo -e "\n${GREEN}恭喜!服务器已安装达梦8数据库${END}"
执行方式:
bash
wget https://example.com/dm8_check.sh # 假设脚本路径
chmod +x dm8_check.sh
./dm8_check.sh

浙公网安备 33010602011771号