Java.lang.NoClassDefFoundError: oracle/dfw/impl/common/TempFileManager

After successfully installing second OAM application on the server which already have an up and running OAM application, while starting the Admin and OAM Managed server  , i got below error in log file under $DOMAIN_HOME/servers/oam_server1/logs/oam_server1.out

Caused by: java.lang.NoClassDefFoundError: oracle/dfw/impl/common/TempFileManager
at oracle.dfw.spi.portable.PortableDiagnosticsFrameworkProvider.init(PortableDiagnosticsFrameworkProvider.java:120)
at oracle.dfw.framework.DiagnosticsFramework.initializeProvider(DiagnosticsFramework.java:98)
at oracle.dfw.framework.DiagnosticsFramework.<init>(DiagnosticsFramework.java:53)
at oracle.dfw.spi.portable.JMXDiagnosticsConfig.load(JMXDiagnosticsConfig.java:85)
at oracle.as.jmx.framework.util.ConfigMBeanSupport.preRegister(ConfigMBeanSupport.java:195)
at oracle.dfw.spi.portable.JMXDiagnosticsConfig.preRegister(JMXDiagnosticsConfig.java:163)
at oracle.as.jmx.framework.standardmbeans.spi.OracleStandardEmitterMBean.doPreRegister

 Reason: This issue happens because DFW file manager is unable to clean the oracle-dfw* temporary files under /tmp location as they are owned and locked by some other user.

Example, you have software installed by user “oamuser” but there are oracle-dfw* files under /tmp which are owned by another user “idmuser” then  during startup of domain servers , you will notice the above issue.

-rw-r—– 1      idmuser    dba  oracle-dfw-6571569143910850809.tmp.lck

-rw-r—– 1  idmuser    dba    oracle-dfw-956008752907188903.tmp.lck

Solution:-  This can be resolved in 2 ways:-

1) Go to /tmp directory and remove oracle-dfw*  files and restart all domain servers

2) If you have multiple installations on same server by different users, then follow below steps:-

2.1 -Create a directory where you want the temp files for 2nd installation to be written

mkdir -p /tmp/oam_2nd

2.2- Edit SetDomainEnv.sh under $DOMAIN_HOME/bin to include below lines:-

EXTRA_JAVA_PROPERTIES=”-Djava.io.tmpdir=/tmp/oam_2nd  ${EXTRA_JAVA_PROPERTIES}”
export EXTRA_JAVA_PROPERTIES

2.3- Re-Start the Admin and Managed Servers.

Tips on Ports to modify for multiple OAM installations on same server  coming soon…..

About the Author Atul Kumar

Leave a Comment:

2 comments
moulali says November 20, 2012

hi,
i have installed 64bit weblogic 10.3.5,JDK 1.6.0_35 and oam 11.1.1.5.0. but i am unable to access oamconsole when oam server is up, but i can access it when oam server is down.i have checked the oam_server.log file oam server is started in running mode but in between there is an error, i.e
java.lang.NoClassDefFoundError: Could not initialize class oracle.dfw.impl.common.TempFileManager
at oracle.dfw.spi.portable.PortableDiagnosticsFrameworkProvider.init(PortableDiagnosticsFrameworkProvider.java:120)
at oracle.dfw.framework.DiagnosticsFramework.initializeProvider(DiagnosticsFramework.java:98)
at oracle.dfw.framework.DiagnosticsFramework.(DiagnosticsFramework.java:53)
at oracle.dms.wls.DMSStartup.start(DMSStartup.java:212)
at oracle.dms.wls.DMSStartup.startUp(DMSStartup.java:118)
at oracle.dms.wls.DMSStartup.main(DMSStartup.java:67)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)

at weblogic.management.deploy.classdeployment.ClassDeploymentManager.invokeMain(ClassDeploymentManager.java:362)
at weblogic.management.deploy.classdeployment.ClassDeploymentManager.invokeClass(ClassDeploymentManager.java:272)
at weblogic.management.deploy.classdeployment.ClassDeploymentManager.access$000(ClassDeploymentManager.java:54)
at weblogic.management.deploy.classdeployment.ClassDeploymentManager$1.run(ClassDeploymentManager.java:214)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.management.deploy.classdeployment.ClassDeploymentManager.invokeClassDeployment(ClassDeploymentManager.java:207)
at weblogic.management.deploy.classdeployment.ClassDeploymentManager.runStartupsBeforeAppDeployments(ClassDeploymentManager.java:149)
at weblogic.management.deploy.classdeployment.ClassDeploymentService.start(ClassDeploymentService.java:20)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
#### <>

#### <>
…..

please help me get out of this error.
thanks in advance.

Reply
Amy says October 18, 2013

Thank you so much for your post. I spent 2 days trying to understand why my Axis2 web services would not run. All we had to do was remove the files owned by Root and all is working. I am so grateful.

Reply
Add Your Reply

Not found