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
posted @ 2025-04-09 10:05  全琪俊  阅读(550)  评论(0)    收藏  举报