Linux下WebLogic升级操作指南
一 升级策略与前置检查
- 明确目标:是做补丁集/CPU/PSU修复,还是跨版本的大版本升级(如 10.3.6 → 12.2.x/14.x)。跨版本通常需新建 Oracle Home 与 域,不建议就地覆盖。同一Administrative Domain内的所有服务器实例必须保持相同主版本与次版本;集群内所有实例需处于相同补丁集级别。域内的管理服务器的补丁集级别需高于或等于受管服务器。以上为官方兼容性要求,升级前务必核对。
二 补丁级升级步骤 适用于 11g 与 12c
- 通用准备
- 完全停止 WebLogic(建议使用stopWebLogic.sh或通过系统服务停止),并做好全量备份(域目录、配置、应用、数据库、密钥库等)。
- 确认 JDK 版本满足目标补丁要求,准备好对应补丁介质与 OPatch/bsu 工具。
- 11g(WebLogic 10.3.6 等)使用 bsu 打补丁
- 设置产品目录:例如 export WLS_HOME=/opt/weblogic/wls1036_x64/wlserver_10.3
- 将补丁 ZIP 解压到:${WLS_HOME}/utils/bsu/cache_dir
- 查看已打补丁:
- ${WLS_HOME}/utils/bsu/bsu.sh -prod_dir=${WLS_HOME}/wlserver_10.3 -status=applied -verbose -view
- 如存在冲突补丁,先卸载(示例补丁 ID 为 RVBS):
- ${WLS_HOME}/utils/bsu/bsu.sh -remove -patchlist=RVBS -prod_dir=${WLS_HOME}/wlserver_10.3
- 安装新补丁(示例补丁 ID 为 FMJJ):
- ${WLS_HOME}/utils/bsu/bsu.sh -install -patchlist=FMJJ -prod_dir=${WLS_HOME}/wlserver_10.3 -verbose
- 验证结果:
- ${WLS_HOME}/utils/bsu/bsu.sh -report -output_format=text | grep --color “FMJJ”
- 12c(WebLogic 12.1.3 等)使用 OPatch 打补丁
- 设置目录:例如 export ORACLE_HOME=/opt/weblogic/wls1213_x64,export PATCH_TOP=${ORACLE_HOME}/OPatch
- 解压补丁到目录(示例补丁 p26519417_121300_Generic.zip)
- 进入解压目录执行:
- ${PATCH_TOP}/opatch apply
- 如存在冲突补丁(示例 ID 为 25388793),先回退:
- ${PATCH_TOP}/opatch rollback -id 25388793
- 验证结果:
- ${ORACLE_HOME}/OPatch/opatch lspatches -bugs | grep --color “12.1.3.0.171017”
- 启动与回归
- 启动服务(如 startWebLogic.sh),检查Admin/受管服务器状态、应用连通性与关键业务回归。
三 跨版本升级步骤 适用于 10.3.6/12.1.3 升级至 12.2.x/14.x
- 规划与评估
- 阅读目标版本的Upgrade Guide,评估API/持久化/生成类等兼容性影响;必要时对应用做适配与回归测试。
- 安装新版本
- 使用 Java 执行安装器进行静默安装(示例):
- java -jar fmw_14.1.1.0.0_wls_lite_generic.jar -silent -responseFile /path/wls.rsp -invPtrLoc /path/oraInst.loc
- 安装完成后得到新的 Oracle Home。
- 域升级与迁移
- 使用 WebLogic Upgrade Wizard 对旧域进行升级转换(仅升级配置与元数据,不覆盖应用)。
- 将应用从旧域迁移到新域(建议先部署到新域的测试环境验证)。
- 启动与验证
- 启动新域的管理服务器与受管服务器,逐项验证集群、数据源、JMS、安全、部署等是否正常。
四 回退与常见问题处理
- 回退方案
- 补丁级回退:
- 11g 使用 bsu.sh -remove -patchlist=PATCH_ID -prod_dir=… 回退指定补丁;
- 12c 使用 opatch rollback -id=BUG_ID 回退补丁。
- 跨版本回退:
- 保持旧环境完整备份与可启动状态;必要时切回旧 Oracle Home/域 并恢复备份。
- 常见问题
- 冲突补丁:安装前用 lspatches/bsu 状态检查,按提示先卸载冲突补丁再安装。
- 工具依赖:OPatch 执行失败若提示 fuser 不可用,安装 psmisc 包(如 yum install -y psmisc)后重试。
- JVM 内存不足:编辑 bsu.sh 中的 MEM_ARGS(如 -Xmx 调大)后重试大型补丁安装。