OC4J 啟動(dòng)項(xiàng)目報(bào)錯(cuò) 問題歸納

前言:oc4j是上古時(shí)代的服務(wù)器技術(shù),奈何項(xiàng)目在用,遷移服務(wù)器后通過opmnctl startall啟動(dòng)不了項(xiàng)目,只有百度、bing到處亂找一通,算是勉強(qiáng)解決了大部分問題

防止敏感信息,oc4j的實(shí)例名 用 XXXXXX替代

1.oc4j使用的jdk版本怎么查看?

cd $OAS_HOME/jdk/jre/bin &&? java -version

2. 報(bào)錯(cuò):32位程序在64位系統(tǒng)上運(yùn)行導(dǎo)致報(bào)錯(cuò)

/lib/ld-linux.so.2:bad ELF interpreter: No such file or directory

安裝下glic即可

yum install glibc.i686

3.opmnctl startall 啟動(dòng)報(bào)錯(cuò):

opmnctl: starting opmn and all managed processes...

GETHOSTBYNAME(XXXXXX): 1

RCV: Connection reset by peer

Communication error with the OPMN server local port.

Check the OPMN log files

GETHOSTBYNAME 表示域名解析,所以這里首先存在域名解析問題。

XXXXXX這個(gè)明顯不是正常的域名,猜測是 自定義的,

所以配置一下hosts:

ip地址? XXXXXX

4. 移植hosts映射后,opmnctl startall啟動(dòng)報(bào)錯(cuò):

opmnctl: starting opmn and all managed processes...

RCV: Connection reset by peer

Communication error with the OPMN server local port.

Check the OPMN log files

5. 查看opmn.log發(fā)現(xiàn)報(bào)錯(cuò)

libgcc_s.so.1 must be installed for pthread_cancel to work

沒有安裝32位的libgcc

sudo yum install libgcc.i686

安裝后無問題 能啟動(dòng)OC4J服務(wù),但是 HTTP_Server 服務(wù)不來

6 查看.HTTP_Server~1 日志 報(bào)錯(cuò)

error while loading shared libraries: libdb.so.2: cannot open shared object file: No such file or directory

下載一個(gè)? libgdbm.so.2.0.0 ,然后再制作一個(gè)軟鏈接

ln -s /data/xxxx/lib/libgdbm.so.2.0.0? /usr/lib/libdb.so.2

再配置 Apache ,修改httpd.conf 中的用戶信息到當(dāng)前用戶

重啟啟動(dòng)服務(wù),HTTP_Server 也能起來,還存在兩個(gè)WebCache沒起來

7.手動(dòng)開啟WebCache:opmnctl startproc ias-component=WebCache

報(bào)錯(cuò):

opmnctl: starting opmn managed processes...

=======================================================================

opmn id=XXXXXX:6200

? ? 0 of 2 processes started.

ias-instance id=XXXXXXXXXXX

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

ias-component/process-type/process-set:

? ? WebCache/WebCache/WebCache

Error

--> Process (pid=25565)

? ? failed to start a managed process after the maximum retry limit

? ? Log:

? ? /oracle/orahome/opmn/logs/WebCache~WebCache~1

-----------------------------------------------------------------------

ias-component/process-type/process-set:

? ? WebCache/WebCacheAdmin/WebCacheAdmin

Error

--> Process (pid=25558)

? ? failed to start a managed process after the maximum retry limit

? ? Log:

? ? /oracle/orahome/opmn/logs/WebCache~WebCacheAdmin~1

8.定位到WebCache 啟動(dòng)不了問題

根據(jù)https://www.techpaste.com/2014/10/opmn-failed-start-managed-process-ohs/

刪除了/data/XXX/orahome/webcache目錄下的webcacheadmin.pid、webcache.pid

再次啟動(dòng)依然如上報(bào)錯(cuò)。

再看WebCache配置:webcache.xml

發(fā)現(xiàn) IDENTITY 配置不對(duì),修改為當(dāng)前用戶

再次啟動(dòng),項(xiàng)目正常運(yùn)行

------------------------------------- 2023-02-15 update------------------------------------

9.因?yàn)閷?duì)接方更新了證書,導(dǎo)致https不能使用報(bào)錯(cuò):ubject key, Unknown key spec: Invalid RSA modulus size

根據(jù)?https://forums.oracle.com/ords/apexds/post/ioexception-subject-key-unknown-key-spec-invalid-rsa-modulu-4480

的說法,這是因?yàn)槔享?xiàng)目 jdk1.4.2? 不兼容2048?字節(jié)的?證書。

所以需要兩個(gè)步驟:

9.1. 引入?bcprov-jdk14-XX.jar

9.2.然后修改?$JAVA_HOME/jre/lib/security/java.security ,oc4j 對(duì)應(yīng)的 是 $OAS_HOME/jre/lib/security/java.security 文件:

改為:security.provider.2=org.bouncycastle.jce.provider.BouncyCastleProvider

其他配置順延調(diào)整,只是?security.provider.2 改為?org.bouncycastle.jce.provider.BouncyCastleProvider

9.3. 重啟項(xiàng)目

9.4.我重啟后發(fā)現(xiàn)還是不行。報(bào)錯(cuò)。很明顯原因是我引入的jar包,沒被 Java運(yùn)行環(huán)境 引用到,

這個(gè)時(shí)候? 需要查看?$OAS_HOME/opmn/conf/opmn.xml? 文件

查看其?"start-parameters" 配置中的?-Djava.ext.dirs= 是什么? 如果沒有這個(gè)配置 則需要 引入這個(gè)配置。

配置的值就是一個(gè)目錄,這個(gè)目錄 要包含我們引入的?bcprov-jdk14-XX.jar

9.5.重啟項(xiàng)目。一切ok?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容