Ubuntu环境下WebLogic故障排查方法
一 快速定位路径与日志
二 启动失败与运行异常的通用排查
三 常见故障与修复对照表
| 症状 | 快速检查 | 修复建议 |
|---|---|---|
| 访问控制台 http://IP:7001/console 失败 | ss -ltnp | grep 7001;netstat -an |
| 启动极慢或卡在初始化 | dmesg/日志无进展 | 将 securerandom.source 改为 file:/dev/./urandom |
| 启动报错 “Could not obtain the localhost address” | hostname 解析 | 检查 /etc/hosts 与 /etc/hostname,确保能解析本机名 |
| 无法获取文件锁(.lok) | lsof | grep .lok |
| 节点管理器无法启动(Invalid state file format) | 查看 nodemanager.log | 删除 Domain_HOME/servers/ |
| 受管服务器无法启动(WLS_DIAGNOSTICS*.DAT 异常) | 查看 SERVER.log | 删除 servers/ |
| 部署/脚本执行超时 | 控制台是否有待激活变更 | 登录控制台激活或回退变更;必要时释放编辑锁 |
| 认证失败(boot.properties 或控制台登录) | 核对凭据文件与账号 | 在 servers/AdminServer/security/boot.properties 中写入正确 username/password(首次启动后会被加密) |
四 实用命令清单 Ubuntu适配
五 一键清理锁文件脚本 Ubuntu版
#!/usr/bin/env bash
set -e
DOMAIN_HOME="/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain"
echo "清理 WebLogic 锁与诊断文件..."
# 1) 删除编辑锁
[ -f "$DOMAIN_HOME/edit.lok" ] && rm -f "$DOMAIN_HOME/edit.lok" && echo "已删除 $DOMAIN_HOME/edit.lok"
# 2) 删除配置锁(若存在)
[ -f "$DOMAIN_HOME/config/config.lok" ] && rm -f "$DOMAIN_HOME/config/config.lok" && echo "已删除 $DOMAIN_HOME/config/config.lok"
# 3) AdminServer 运行时锁
[ -f "$DOMAIN_HOME/servers/AdminServer/tmp/AdminServer.lok" ] && rm -f "$DOMAIN_HOME/servers/AdminServer/tmp/AdminServer.lok" && echo "已删除 AdminServer.lok"
# 4) 嵌入式LDAP锁
[ -f "$DOMAIN_HOME/servers/AdminServer/data/ldap/ldapfiles/EmbeddedLDAP.lok" ] && rm -f "$DOMAIN_HOME/servers/AdminServer/data/ldap/ldapfiles/EmbeddedLDAP.lok" && echo "已删除 EmbeddedLDAP.lok"
# 5) 诊断与默认存储DAT(可按需保留历史)
find "$DOMAIN_HOME/servers" -type f -name "WLS_DIAGNOSTICS*.DAT" -delete && echo "已删除 WLS_DIAGNOSTICS*.DAT"
find "$DOMAIN_HOME/servers" -type f -name "_WLS_*.DAT" -delete && echo "已删除 _WLS_*.DAT"
echo "锁与诊断文件清理完成,请重新启动 WebLogic。"
以上流程覆盖日志定位、端口与网络、资源配置、JVM与性能、常见故障修复等关键维度,可在 Ubuntu 上系统化地排查与恢复 WebLogic 服务。