LOG_FILE="/tmp/dmdsc_env_$(hostname)_$(date +%Y%m%d_%H%M%S).log"
{
echo "========== DMDSC 环境信息采集 =========="
echo "采集时间: $(date)"
echo "主机名: $(hostname)"
echo "日志路径: $LOG_FILE"
echo ""
echo "--- 1. 操作系统版本 ---"
cat /etc/os-release
uname -a
echo ""
echo "--- 2. CPU信息 ---"
lscpu | grep -E "Model name|Socket|Core|Thread|CPU\(s\)"
echo ""
echo "--- 3. 内存信息 ---"
free -h
echo ""
echo "--- 4. 磁盘分区(lsblk) ---"
lsblk
echo ""
echo "--- 5. 磁盘UUID(blkid) ---"
sudo blkid
echo ""
echo "--- 6. 磁盘by-id(用于udev绑定) ---"
ls -l /dev/disk/by-id/
echo ""
echo "--- 7. 网卡IP地址 ---"
ip addr
echo ""
echo "--- 8. 路由信息 ---"
ip route
echo ""
echo "--- 9. 当前主机名 ---"
hostname
echo ""
echo "--- 10. /etc/hosts内容 ---"
cat /etc/hosts
echo ""
echo "--- 11. 资源限制(ulimit) ---"
ulimit -a
echo ""
echo "--- 12. 系统最大打开文件数 ---"
cat /proc/sys/fs/file-max
echo ""
echo "--- 13. 透明大页状态 ---"
cat /sys/kernel/mm/transparent_hugepage/enabled
cat /sys/kernel/mm/transparent_hugepage/defrag
echo ""
echo "--- 14. 共享内存内核参数 ---"
sysctl kernel.shmall kernel.shmmax kernel.sem
echo ""
echo "--- 15. fs.aio-max-nr ---"
sysctl fs.aio-max-nr
echo ""
echo "--- 16. 磁盘I/O调度器 ---"
cat /sys/block/vd*/queue/scheduler 2>/dev/null || echo "未找到vd*设备"
echo ""
echo "--- 17. glibc版本 ---"
ldd --version | head -1
echo ""
echo "--- 18. SELinux状态 ---"
getenforce 2>/dev/null || echo "SELinux未安装"
echo ""
echo "--- 19. 防火墙状态 ---"
systemctl status firewalld 2>/dev/null | head -3 || echo "防火墙未安装"
echo ""
echo "--- 20. 当前用户 ---"
whoami
echo ""
echo "========== 采集完成 =========="
} 2>&1 | tee "$LOG_FILE"
首先,切换到管理达梦数据库的用户(通常为 dmdba),然后编辑其家目录下的 ~/.bash_profile 文件。
bash
su - dmdba
vi ~/.bash_profile
在文件末尾添加以下几行内容,请务必将 /dm8 替换为你的实际安装目录。
bash
# 设置达梦数据库的安装根目录
export DM_HOME=/dm8
# 将数据库的bin和tool目录添加到PATH中,便于直接执行命令
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
# 设置动态库加载路径,解决运行时找不到库文件的问题
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin
注意:网上有案例提到因环境变量名拼写错误(如
LD_LRBRARY_PASH)导致配置失败,设置时请务必仔细检查LD_LIBRARY_PATH等变量名是否正确。
保存并退出编辑器后,执行以下命令让环境变量立即生效。
bash
source ~/.bash_profile
配置完成后,可以通过以下命令验证环境变量是否生效,以及达梦命令是否可直接使用。
bash
# 验证 DM_HOME 和 PATH 是否设置正确
echo $DM_HOME
echo $PATH
# 直接运行 disql,看是否能找到命令
disql SYSDBA/SYSDBA@localhost:5236
bash
# 查看当前模式
getenforce
# 查看配置文件中的设置
grep ^SELINUX= /etc/selinux/config
bash
# 切换到 root 用户(如果当前不是 root)
su - root
# 编辑 SELinux 配置文件
vi /etc/selinux/config
# 找到以下行并修改
# SELINUX=enforcing
# 改为:
SELINUX=disabled
# 保存并退出(:wq)
bash
# 临时设置为宽容模式(不需要重启)
setenforce 0
# 验证是否已切换
getenforce
# 应输出: Permissive
bash
# 重新启动系统以完全禁用 SELinux
reboot
# 重启后再次验证
getenforce
# 应输出: Disabled
文章
阅读量
获赞
