如何在Ubuntu上解决WebLogic启动问题
导读:Ubuntu上WebLogic启动问题排查与修复 一 快速定位与日志检查 先确认进程与监听端口:检查默认管理端口 7001 是否被占用,命令示例:ss -ltnp | grep 7001;如被占用,释放或调整域配置 config.xml...
Ubuntu上WebLogic启动问题排查与修复
一 快速定位与日志检查
- 先确认进程与监听端口:检查默认管理端口 7001 是否被占用,命令示例:ss -ltnp | grep 7001;如被占用,释放或调整域配置 config.xml 的 ListenPort。
- 查看关键日志,优先从错误时间点入手:
- 域日志:$DOMAIN_HOME/servers/AdminServer/logs/< domain_name> .log
- 服务器日志:$DOMAIN_HOME/servers/< SERVER_NAME> /logs/< SERVER_NAME> .log
- 启动过程输出:$DOMAIN_HOME/servers/AdminServer/logs/startWebLogic.log
- 访问日志(HTTP):$DOMAIN_HOME/servers/< SERVER_NAME> /logs/access.log
- 常用检索与跟踪:tail -f 实时看日志;grep -n “ERROR|Exception” 定位错误行;grep -C 10 “关键字” 查看上下文。
- 控制台不可达时,先核对端口与进程,再回到日志根因定位。
二 常见故障对照与修复
| 症状 | 快速检查 | 修复建议 |
|---|---|---|
| 访问控制台 http://IP:7001/console 失败 | ss -ltnp | grep 7001;netstat -an |
| 启动极慢或卡在初始化 | dmesg/日志长时间无进展 | 将 $JAVA_HOME/jre/lib/security/java.security 中 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//data/nodemanager/*.state 后重启 NM |
| 受管服务器无法启动(WLS_DIAGNOSTICS*.DAT 异常) | 查看 SERVER.log | 删除 servers//data/store/diagnostics/WLS_DIAGNOSTICS.DAT* 后启动 |
| 部署/脚本执行超时 | 控制台是否有待激活变更 | 登录控制台激活或回退变更;必要时释放编辑锁 |
| 认证失败(boot.properties 或控制台登录) | 核对凭据文件与账号 | 在 servers/AdminServer/security/boot.properties 中写入正确 username/password(首次启动后会被加密) |
三 网络连通性与系统资源
- 端口与防火墙:放行管理端口(示例:sudo ufw allow 7001/tcp;云主机需同步安全组规则)。
- 连通性测试:ping 测试主机可达;使用 telnet 或 nc 测试 7001 端口是否开放。
- 资源与JVM:用 top/vmstat/iostat 观察 CPU/内存/磁盘IO;在 startWebLogic.sh 中按需调整 -Xms/-Xmx,必要时开启 -verbose:class -XX:+PrintGCDetails -XX:+PrintGCDateStamps 获取类加载与GC细节。
- 操作系统限制:检查并适当提升 ulimit(文件描述符、进程数等),避免因资源限制导致启动或运行异常。
四 配置权限与数据库连通性
- 配置与权限:核对 config.xml 关键配置;确保启动用户对 $DOMAIN_HOME 及子目录拥有读写权限,避免类加载、写锁失败。
- JDBC 与连接池:校验 JDBC URL、驱动版本、账号口令;确认数据库与监听可达;合理设置 初始/最大连接、超时 等连接池参数。
五 应急清理与后台启动脚本
- 一键清理锁与诊断文件脚本(执行前务必确认无 WebLogic 进程在运行,避免数据损坏):
#!/usr/bin/env bash
set -e
DOMAIN_HOME="/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain"
echo "清理 WebLogic 锁与诊断文件..."
[ -f "$DOMAIN_HOME/edit.lok" ] &
&
rm -f "$DOMAIN_HOME/edit.lok" &
&
echo "已删除 $DOMAIN_HOME/edit.lok"
[ -f "$DOMAIN_HOME/config/config.lok" ] &
&
rm -f "$DOMAIN_HOME/config/config.lok" &
&
echo "已删除 $DOMAIN_HOME/config/config.lok"
[ -f "$DOMAIN_HOME/servers/AdminServer/tmp/AdminServer.lok" ] &
&
rm -f "$DOMAIN_HOME/servers/AdminServer/tmp/AdminServer.lok" &
&
echo "已删除 AdminServer.lok"
[ -f "$DOMAIN_HOME/servers/AdminServer/data/ldap/ldapfiles/EmbeddedLDAP.lok" ] &
&
rm -f "$DOMAIN_HOME/servers/AdminServer/data/ldap/ldapfiles/EmbeddedLDAP.lok" &
&
echo "已删除 EmbeddedLDAP.lok"
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。"
- 后台启动与输出:nohup ./startWebLogic.sh > nohup.out 2> & 1 &
- 诊断采集:jstack > jstack.out;jmap -dump:format=b,file=heap.hprof (用于内存与线程问题定位)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Ubuntu上解决WebLogic启动问题
本文地址: https://pptw.com/jishu/784616.html
