BI_DBA_问题:orcore hang住

问题:

ERROR : Timed out( 100000 ): Interrupted Exception
You are running adoacorectl.sh version 120.13

$ADMIN_SCRIPTS_HOME/adoacorectl.sh status will show no process ID for oacore or it will show the process ID in status Init.

问题原因:

断电等原因

This issue may occur after an OS crash, reboot or services restart.

In order to check if you are seeing this problem perform the following steps.

1. Go to $LOG_HOME/ora/10.1.3/opmn/ and check the process ID of oacore that is writing to the file default_group~oacore~default_group~1.log by executing the following command:

/usr/sbin/fuser default_group~oacore~default_group~1.log


2. Execute 3 times at 30 seconds interval

kill -3 <oacore process ID>


3. Check again the file default_group~oacore~default_group~1.log which should show the following stack trace:

"OC4J Launcher" prio=10 tid=0x89cfc800 nid=0x7d14 waiting on condition [0x89afe000..0x89aff120]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at oracle.jsp.parse.tldcache.TldCacheImpl.persistCache(TldCacheImpl.java:411)
at oracle.jsp.parse.tldcache.ApplicationTldCacheImpl.<init>(ApplicationTldCacheImpl.java:73)
at oracle.jsp.runtimev2.JspServlet.newApplicationCache(JspServlet.java:799)
at com.evermind.server.http.HttpApplication.buildTldCache(HttpApplication.java:5277)
at com.evermind.server.http.HttpApplication.getJspTldListeners(HttpApplication.java:5341)
at com.evermind.server.http.HttpApplication.addJspTldListeners(HttpApplication.java:5315)
at com.evermind.server.http.HttpApplication.initDefaultServlets(HttpApplication.java:5149)
at com.evermind.server.http.HttpApplication.initDynamic(HttpApplication.java:1069)
at com.evermind.server.http.HttpApplication.<init>(HttpApplication.java:741)
at com.evermind.server.ApplicationStateRunning.getHttpApplication(ApplicationStateRunning.java:431)
- locked <0x94ff1f48> (a com.evermind.server.ApplicationStateRunning)
at com.evermind.server.Application.getHttpApplication(Application.java:586)
- locked <0xac72fce8> (a com.evermind.server.Application)
at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.createHttpApplicationFromReference(HttpSite.java:1987)
at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.<init>(HttpSite.java:1906)
at com.evermind.server.http.HttpSite.initApplications(HttpSite.java:643)
- locked <0xac6e4118> (a com.evermind.server.http.HttpSite)
at com.evermind.server.http.HttpSite.setConfig(HttpSite.java:290)
at com.evermind.server.http.HttpServer.setSites(HttpServer.java:270)
- locked <0xac60feb8> (a com.evermind.server.http.HttpServer)
at com.evermind.server.http.HttpServer.setConfig(HttpServer.java:177)
at com.evermind.server.ApplicationServer.initializeHttp(ApplicationServer.java:2493)
at com.evermind.server.ApplicationServer.setConfig(ApplicationServer.java:1042)
at com.evermind.server.ApplicationServerLauncher.run(ApplicationServerLauncher.java:131)
- locked <0x9530e618> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:619)


If file $COMMON_TOP/cacheLock file exists before oacore service is started, the above thread will be locked and the oacore service will hang until timed out.

解决方法:

Remove $COMMON_TOP/cacheLock file which is a 0 bytes file created at startup time

1. cd $COMMON_TOP
2. rm cacheLock
3. Start oacore using

$ADMIN_SCRIPTS_TOP/adoacorectl.sh start