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 Masroof Ahmad

Leave a Comment:

2 comments
Add Your Reply