Technical Blog Post
Abstract
This article will provide information on what types of conditions can lead to the errors seen below, and to explain how I resolved them.
The errors being seen upon startup of Maximo are:
BMXAA6838E - The PLUSSFEATUREOBJECT table is missing.
and
BMXAA8342E - There was an error loading the OSLC interaction cache.
These errors are typicalled caused by a corrupt object structure cache.
Body
psdi.util.MXApplicationException: BMXAA6838E - The PLUSSFEATUREOBJECT table is missing.
at psdi.iface.mic.MicUtil.getEntityName(MicUtil.java:404)
at psdi.iface.mic.MicUtil.getKeyArray(MicUtil.java:329)
at psdi.iface.mos.ObjectStructureCacheImpl.loadMosDetails(ObjectStructureCacheImpl.java:272)
at psdi.iface.mos.ObjectStructureCacheImpl.loadIntegrationDictionary(ObjectStructureCacheImpl.java:168)
at psdi.iface.mos.ObjectStructureCacheImpl.init(ObjectStructureCacheImpl.java:73)
at psdi.mbo.AbstractMaximoMTEnabledCache.getCache(AbstractMaximoMTEnabledCache.java:99)
at psdi.mbo.AbstractMaximoMTEnabledCache.init(AbstractMaximoMTEnabledCache.java:67)
at psdi.iface.mos.ObjectStructureCache.<init>(ObjectStructureCache.java:83)
at psdi.iface.mos.ObjectStructureCache.<clinit>(ObjectStructureCache.java:55)
at psdi.iface.mic.MicService.init(MicService.java:176)
at psdi.server.ServiceCoordinator.init(ServiceCoordinator.java:154)
at psdi.server.MXServer.init(MXServer.java:2630)
at psdi.server.MXServer.start(MXServer.java:3675)
at psdi.servlet.MAXIMOStartupServlet.init(MAXIMOStartupServlet.java:92)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:342)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init(ServletWrapperImpl.java:168)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.loadOnStartupCheck(ServletWrapper.java:1366)
at com.ibm.ws.webcontainer.webapp.WebApp.doLoadOnStartupActions(WebApp.java:617)
at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinally(WebApp.java:587)
at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:425)
at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:88)
at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:169)
at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:749)
at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:634)
at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:426)
at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:718)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1177)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1370)
at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:639)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:968)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:776)
at com.ibm.ws.runtime.component.ApplicationMgrImpl$5.run(ApplicationMgrImpl.java:2195)
at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:5474)
at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:5600)
at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:255)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2200)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:389)
at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:332)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(CompositionUnitMgrImpl.java:119)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$CUInitializer.run(CompositionUnitMgrImpl.java:938)
at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:502)
at com.ibm.wsspi.runtime.component.WsComponentImpl$1.run(WsComponentImpl.java:334)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1864)
null
psdi.util.MXApplicationException: BMXAA8342E - There was an error loading the OSLC interaction cache. There might be corrupted database entries for the OSLC interaction. If interaction data was loaded outside of the OSLC Providers application, verify that the data was loaded correctly.
null
at com.ibm.tivoli.maximo.oslc.provider.OslcResourceCacheImpl.loadOslcProperties(OslcResourceCacheImpl.java:504)
at com.ibm.tivoli.maximo.oslc.provider.OslcResourceCacheImpl.loadOslcRelatedResources(OslcResourceCacheImpl.java:210)
at com.ibm.tivoli.maximo.oslc.provider.OslcResourceCacheImpl.loadOslcResourceInfo(OslcResourceCacheImpl.java:133)
at com.ibm.tivoli.maximo.oslc.provider.OslcResourceCacheImpl.init(OslcResourceCacheImpl.java:93)
at psdi.mbo.AbstractMaximoMTEnabledCache.getCache(AbstractMaximoMTEnabledCache.java:99)
at psdi.mbo.AbstractMaximoMTEnabledCache.init(AbstractMaximoMTEnabledCache.java:67)
at com.ibm.tivoli.maximo.oslc.provider.OslcResourceCache.<init>(OslcResourceCache.java:71)
at com.ibm.tivoli.maximo.oslc.provider.OslcResourceCache.<clinit>(OslcResourceCache.java:47)
at psdi.iface.mic.MicService.init(MicService.java:181)
at psdi.server.ServiceCoordinator.init(ServiceCoordinator.java:154)
at psdi.server.MXServer.init(MXServer.java:2630)
at psdi.server.MXServer.start(MXServer.java:3675)
at psdi.servlet.MAXIMOStartupServlet.init(MAXIMOStartupServlet.java:92)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:342)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init(ServletWrapperImpl.java:168)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.loadOnStartupCheck(ServletWrapper.java:1366)
at com.ibm.ws.webcontainer.webapp.WebApp.doLoadOnStartupActions(WebApp.java:617)
at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinally(WebApp.java:587)
at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:425)
at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:88)
at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:169)
at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:749)
at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:634)
at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:426)
at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:718)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1177)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1370)
at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:639)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:968)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:776)
at com.ibm.ws.runtime.component.ApplicationMgrImpl$5.run(ApplicationMgrImpl.java:2195)
at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:5474)
at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:5600)
at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:255)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2200)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:389)
at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:332)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(CompositionUnitMgrImpl.java:119)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$CUInitializer.run(CompositionUnitMgrImpl.java:938)
at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:502)
at com.ibm.wsspi.runtime.component.WsComponentImpl$1.run(WsComponentImpl.java:334)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1864)
Caused by: java.lang.NullPointerException
at psdi.iface.mos.ObjectStructureCache.getMosInfo(ObjectStructureCache.java:120)
at com.ibm.tivoli.maximo.oslc.provider.OslcResourceCacheImpl.loadOslcProperties(OslcResourceCacheImpl.java:480)
... 42 more
select intobjectname, objectname, relation from maxintobjdetail where objectname = 'PLUSSFEATUREOBJECT' order by intobjectname
This query will return all object structures that reference the missing object.
Q: How do you resolve these type of errors?
A: There are two possible ways to resolve these errors. In these cases, the object structure application within Maximo will not function which will prevent you from making changes or deleting corrupt object structures:
1. Create the missing object (if it is a necessary object) using the database configuration application.
2. Delete the object structure from both the maxintobject and maxintobjdetail tables directly, then restart Maximo.
delete from maxintobject where intobjectname='yourobjectname'
delete from maxintobjdetail where intobjectname='yourobjectname'
After restarting Maximo, the oslc cache and missing table errors should no longer be presented, and the object structure application should again be functional.
UID
ibm10876356