Redhat

如何在 RHEL7 上為 Weblogic server 12 升級/修補 Java?

  • May 24, 2018

我有一個安裝了 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 的首選方式/最佳實踐是什麼?有沒有更好的辦法?

沒有人提供答案,所以我將描述我們的工作。

事實證明,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 時,我們都需要這樣做。

我們使用這篇文章來弄清楚我們需要做什麼。

引用自:https://serverfault.com/questions/905007