温馨提示×

Linux中WebLogic如何升级

小樊
33
2025-12-14 11:44:29
栏目: 智能运维

Linux下WebLogic升级操作指南

一 升级策略与前置检查

  • 明确目标:是做补丁集/CPU/PSU更新,还是跨小版本/跨主版本升级。跨版本通常需新建域或使用官方迁移工具,不建议就地替换二进制。
  • 兼容性规则:同一Administrative Domain内的所有服务器实例必须处于相同的主版本与次版本;集群内所有实例必须处于相同的补丁集级别;管理服务器补丁集级别需不低于受管服务器。以上为硬性要求,违反会导致域无法启动或异常。
  • 版本选择:优先选择当前稳定受支持的版本(如WebLogic 14.1.1或更高),并核对与操作系统、JDK、硬件的官方支持矩阵
  • 备份与变更窗口:全量备份域目录、应用、数据源配置、密钥库、启动脚本、环境变量等;在灰度/测试环境验证后再上生产;安排停机窗口与回滚预案。

二 原地补丁升级步骤 适用于11g与12c

  • 通用准备
    • 停止服务:先停受管服务器,再停管理服务器;必要时禁用节点管理器自动重启。
    • 检查空间与权限:确保ORACLE_HOME/中间件目录有足够空间,执行用户具备读写权限。
  • 11g(WebLogic 10.3.x)使用 BSU
    • 设置产品目录:例如 export WEBLOGIC_HOME=/u01/app/oracle/middleware/wlserver_10.3
    • 查看已打补丁:
      • cd $WEBLOGIC_HOME/utils/bsu
      • ./bsu.sh -prod_dir=$WEBLOGIC_HOME/wlserver_10.3 -status=applied -verbose -view
    • 安装补丁(示例补丁ID为FMJJ):
      • 将补丁包解压至 $WEBLOGIC_HOME/utils/bsu/cache_dir
      • ./bsu.sh -install -patchlist=FMJJ -patch_download_dir=$WEBLOGIC_HOME/utils/bsu/cache_dir -prod_dir=$WEBLOGIC_HOME/wlserver_10.3 -verbose
    • 冲突处理:如报冲突补丁(如RVBS),先卸载再装:
      • ./bsu.sh -remove -patchlist=RVBS -prod_dir=$WEBLOGIC_HOME/wlserver_10.3 -verbose
    • 验证:
      • ./bsu.sh -report -output_format=text | grep --color “FMJJ
  • 12c(WebLogic 12.1.3 及以上)使用 OPatch
    • 设置变量:export ORACLE_HOME=/u01/app/oracle/middleware/oracle_common(或实际安装目录)
    • 进入OPatch:cd $ORACLE_HOME/OPatch
    • 检查与冲突:./opatch lsinventory;必要时先回滚冲突补丁:./opatch rollback -id 25388793
    • 打补丁:./opatch apply /path/to/patch/26519417(示例)
    • 验证:./opatch lspatches -bugs | grep --color “12.1.3.0.171017
  • 启动与回归:按顺序启动管理服务器→受管服务器→节点管理器;登录控制台检查版本号、补丁列表、数据源、应用部署状态,并进行冒烟测试。

三 跨版本升级路径 重建域或迁移

  • 推荐路径
    • 准备新环境:在新目录安装目标版本WebLogic,使用与目标JDK匹配的版本;创建新域或按官方指引进行域迁移
    • 迁移应用与配置:优先采用应用重新部署的方式,从旧域导出必要配置(如数据源、JMS、安全领域等)在新域重建;避免直接拷贝旧域目录覆盖新域。
    • 兼容性验证:对照官方兼容性说明与升级指南,重点验证持久化数据、生成类、API行为差异;必要时对应用做小幅调整与回归测试。
    • 切换上线:在灰度环境充分验证后,短暂停机切换VIP/负载均衡指向新集群,保留旧环境回滚能力。
  • 重要提示
    • 同一域内严禁混用不同主/次版本;集群内补丁集必须一致
    • 若必须跨大版本,务必阅读对应版本的Upgrade Guide并按兼容性矩阵执行。

四 回滚与常见问题处理

  • 回滚方案
    • 补丁回滚(OPatch):./opatch rollback -id <BUG_ID>(12c)
    • 补丁回滚(BSU):./bsu.sh -remove -patchlist=<PATCH_ID> -prod_dir=…(11g)
    • 版本回滚:切回旧域/旧实例,恢复备份的域目录与应用包,按启动顺序恢复服务。
  • 常见问题
    • 冲突补丁:安装前用 lsinventory/lspatches 检查,按提示先卸载冲突补丁再装。
    • 工具依赖缺失:OPatch执行报“fuser could not be located”时,安装psmisc包(yum install -y psmisc),或在极端情况下设置环境变量OPATCH_NO_FUSER=TRUE后再执行(不推荐长期使用)。
    • 内存不足:编辑 bsu.sh 调整 MEM_ARGS(如 -Xmx1024m),避免打补丁时OOM。
    • 启动顺序错误:务必先管理服务器,再受管服务器,最后节点管理器,否则域可能异常。

0