如何在 RHEL7 上升级/修补 Weblogic 服务器 12 的 Java?

如何在 RHEL7 上升级/修补 Weblogic 服务器 12 的 Java?

我有一台安装了 Oracle Java 8 和 Weblogic 12 的 RHEL7 服务器。

Java 8 是使用 RedHat 的 rpm 安装的。Weblogic 是使用 Oracle 的安装包和说明安装的(Redhat 没有可用的 rpm)。在 Weblogic 安装过程中,我提供了一个符号链接路径,如JAVA_HOME, /usr/lib/jvm/java-oracle。安装 weblogic 时,符号链接链为: /usr/lib/jvm/java-oracle--> /etc/alternatives/java_sdk_oracle--> /usr/lib/jvm/java-1.8.0-oracle-1.8.0.141-1jpp.1.el7_3.x86_64

我尝试通过安装 RedHat 的较新 rpm 将 Java 8 安装从更新 141 修补到更新 161。之后 Weblogic 无法启动。

经过一番研究,我发现 Weblogic 安装脚本已解析符号链接并将目标硬编码/usr/lib/jvm/java-1.8.0-oracle-1.8.0.141-1jpp.1.el7_3.x86_64到 weblogic 安装目录下的几个配置文件中。Java 8 更新 161 安装删除了更新 141。

所以看来Java 8和Weblogic对于如何定位Java有不同的看法。

可能的解决方案:

  1. 修补 Java 后修改 Weblogic 安装中的配置文件。

  2. 修补 Java 后卸载/重新安装 Weblogic。

  3. 不要修补 java。

  4. 其他

前三个解决方案看起来都不太好。

关于在 Redhat 服务器上升级/修补 Weblogic 12 的 Java,首选方法/最佳实践是什么?还有更好的方法吗?

答案1

没有人提供答案,所以我只描述我们所做的事情。

事实证明,WebLogic 在中间件安装和域中都写下了 java 的路径。

查找包含对 java 的引用的文件:

find $MW_HOME -name commBaseEnv.sh
find $MW_HOME -name commEnv.sh
find $MW_HOME -name setNMJavaHome.sh
find $MW_HOME -name nodemanager.properties

find $DOMAIN_HOME -name setDomainEnv.sh
find $DOMAIN_HOME -name setNMJavaHome.sh
find $DOMAIN_HOME -name nodemanager.properties

MW_HOME是中间件主页,即目录的父目录wlserver

DOMAIN_HOME是您的 WebLogic 域的主目录。

然后,我们更新了获取的配置文件中的路径,并将其替换为 Oracle java RPM 创建的 java 固定位置软链接的路径。

每当创建新域或安装新版本的 WebLogic 时,我们都需要执行此操作。

我们用了本文弄清楚我们需要做什么。

相关内容