Ubuntu 上 WebLogic 的更新与升级指南
一 支持性与总体策略
- 支持性说明:Oracle WebLogic Server 官方主要面向 Oracle Linux、RHEL 等平台,Ubuntu 并非官方支持平台;在 Ubuntu 上可部署运行,但遇到系统库、启动脚本或驱动兼容性问题时,官方支持可能受限。生产环境建议优先选用受支持操作系统,或使用容器化/虚拟化在受支持系统内运行 WebLogic。对于必须在 Ubuntu 上运行的场景,务必充分测试并做好回退预案。
- 升级策略选择:
- 补丁更新 PSU/CPU:在现有 WLS_HOME 上应用补丁,风险低、回退相对容易。
- 版本内小版本升级:使用 Reconfiguration(重配置)工具 升级域配置,通常不涉及应用改动。
- 跨大版本升级:建议采用并行安装新版本 + 新建域 + 应用迁移的方式,避免原地大版本升级带来的不可逆风险。
二 升级前准备
- 备份:完整备份域目录(如 /home/weblogic/domains/base_domain)、应用包、数据源配置、密钥库以及数据库;示例:
tar -zcvf weblogic_domain_backup.tar.gz /home/weblogic/domains/base_domain。
- 兼容性核对:确认目标 WebLogic 版本与 Ubuntu 版本、JDK 版本、JDBC 驱动、第三方库兼容;如从 10.3.6 → 12.2.1 等跨大版本,先评估中间过渡版本与兼容性矩阵。
- JDK 准备:安装并验证 JDK 8 或 11(WebLogic 12c+ 要求),设置 JAVA_HOME 并加入环境:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64,echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> ~/.bashrc。
- 运行用户与权限:创建 weblogic 用户并授权安装/域目录:
sudo useradd -m -s /bin/bash weblogic,sudo chown -R weblogic:weblogic /opt/weblogic /home/weblogic。
- 变更窗口与回退方案:明确停机窗口、回退触发条件与步骤(备份恢复、路由切换、负载均衡摘除等)。
三 升级路径与步骤
- A. 补丁更新 PSU/CPU(同版本内)
- 停止服务:
/home/weblogic/domains/base_domain/bin/stopWebLogic.sh
- 应用补丁:使用 bsu.sh(经典 WLS)或 OPatch(12c+ 常用)按补丁 README 执行;示例:
/opt/weblogic/oracle/middleware/utils/bsu/bsu.sh -install -patch_download_dir=/opt/weblogic/patches -patchlist=YOUR_PATCH_ID -prod_dir=/opt/weblogic/oracle/middleware/wlserver_12.2
- 启动并验证:
./startWebLogic.sh,登录控制台检查版本与补丁信息。
- B. 版本内小版本升级(域配置升级)
- 停止服务
- 运行重配置工具:
<新WLS_HOME>/oracle_common/common/bin/reconfig.sh,按向导升级域配置
- 启动并回归测试
- C. 跨大版本升级(推荐:并行安装 + 新建域 + 应用迁移)
- 安装新版本:解压/静默安装到新目录(如 /opt/weblogic_14),示例:
java -jar fmw_14.1.1.0.0_wls_lite_quick_generic.jar -silent -responseFile /opt/weblogic/wls.rsp -invPtrLoc /opt/weblogic/oraInst.loc
- 新建域:使用 WLST 脚本或配置向导创建新域
- 迁移与适配:迁移应用、数据源、JMS、安全策略等;必要时调整 JDK 与启动参数
- 启动新域并验证功能与性能。
四 升级后验证与回退
- 功能与回归测试:部署验证应用(如 hello-world.war),重点验证 JDBC/JMS/安全 等核心能力;必要时进行性能与压力测试(如 JMeter)。
- 日志与监控:检查 AdminServer.log 等关键日志无异常;通过控制台或监控工具观察 JVM、线程池、连接池 等指标是否稳定。
- 快速回退:出现严重问题时,优先切回旧实例或旧域(基于备份与负载均衡/路由策略),再定位问题;补丁场景可使用 bsu.sh -remove 卸载冲突补丁后重试。
五 常见问题与排错要点
- 权限问题:确保 weblogic 用户对安装目录与域目录具备读写权限(
chown -R weblogic:weblogic)。
- JDK 不兼容:确认 JAVA_HOME 指向 JDK 8/11,版本不符会导致启动失败或异常。
- 补丁冲突:查看 bsu.sh 日志(如 utils/bsu/cache_dir),卸载冲突补丁后重试。
- 兼容性限制:在 Ubuntu 上可能遇到库依赖或脚本差异,建议先在测试环境充分验证,必要时考虑受支持平台或容器化方案。