Maximo没导入视图配置信息时系统报重大异常 .

来源:互联网 发布:回力鞋怎么知是正品 编辑:程序博客网 时间:2024/06/05 23:55

系统环境:
操作系统:Window Server 2003 SP2
中间件:WebSphere Platform 6.1
数据库:Oracle 10.2.0.1.0
Maximo版本号:V7110-890

问题现象:
执行完数据库存配置后,重启Maximo应用程序,打开登录页面报异常:
Error 500: system#notboundexception

错误日志:
查看后台异常信息:ctgAppSrv01/logs/MXServer/SystemOut.log
[10-7-25 14:01:48:421 CST] 00000017 SystemOut     O 25 七月 2010 14:01:48:421 [INFO] Server connecting to database version :V7110-890
[10-7-25 14:01:49:031 CST] 00000017 SystemOut     O 25 七月 2010 14:01:48:953 [FATAL] ---- MAXIMO failed to start ----
psdi.util.MXSystemException: system#major
 at psdi.mbo.MaximoDD.init(MaximoDD.java:214)
 at psdi.server.MXServer.boot(MXServer.java:951)
 at psdi.server.MXServer.start(MXServer.java:2464)
 at psdi.servlet.MAXIMOStartupServlet.init(MAXIMOStartupServlet.java:61)
 at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:218)
 at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.init(ServletWrapper.java:319)
 at com.ibm.ws.webcontainer.servlet.ServletWrapper.initialize(ServletWrapper.java:1250)
 at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.initialize(ServletWrapper.java:152)
 at com.ibm.wsspi.webcontainer.extension.WebExtensionProcessor.createServletWrapper(WebExtensionProcessor.java:99)
 at com.ibm.ws.webcontainer.webapp.WebApp.getServletWrapper(WebApp.java:882)
 at com.ibm.ws.webcontainer.webapp.WebApp.getServletWrapper(WebApp.java:804)
 at com.ibm.ws.webcontainer.webapp.WebApp.initializeTargetMappings(WebApp.java:522)
 at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinish(WebApp.java:359)
 at com.ibm.ws.wswebcontainer.webapp.WebApp.initialize(WebApp.java:292)
 at com.ibm.ws.wswebcontainer.webapp.WebGroup.addWebApplication(WebGroup.java:92)
 at com.ibm.ws.wswebcontainer.VirtualHost.addWebApplication(VirtualHost.java:157)
 at com.ibm.ws.wswebcontainer.WebContainer.addWebApp(WebContainer.java:666)
 at com.ibm.ws.wswebcontainer.WebContainer.addWebApplication(WebContainer.java:619)
 at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:335)
 at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:551)
 at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1303)
 at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1138)
 at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:569)
 at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:817)
 at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:949)
 at com.ibm.ws.runtime.component.ApplicationMgrImpl$AppInitializer.run(ApplicationMgrImpl.java:2122)
 at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:342)
 at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473)
Caused by:
java.lang.NullPointerException
 at psdi.mbo.MaximoDD.getTablesFromHierarchyList(MaximoDD.java:1342)
 at psdi.mbo.MaximoDD.loadMboSetsInfo(MaximoDD.java:1152)
 at psdi.mbo.MaximoDD.loadMboSetsInfo(MaximoDD.java:1022)
 at psdi.mbo.MaximoDD.loadDataDictionary(MaximoDD.java:544)
 at psdi.mbo.MaximoDD.init(MaximoDD.java:210)
 ... 27 more

解决办法:
1、查看psdi.mbo.MaximoDD.loadMboSetsInfo原代码找到思路,看到下面的原码发现可能与视图有关:
                mboInfo.setImported(imported);
                if(mboInfo.isView())
                {
                    mboInfo.setEntity(getViewInfo(mboInfo.getEntityName()));
                    continue;
                }

2、结果查询下面的语句发现,确实有两个视图没有导入新库中
 select * from maxobject where entityname in
 (select viewname from maxview)

   这两个视图C_VCHECKWORK、C_WOFAULT没有导入到新库中;

3、由于系统无法启动,所以不能采用常规的脚本更新的方式更新配置信息,更新步骤是:
   1、直接在新库数据库中创建上面两个视图;
   2、而后把下面四个表的数据插入新库中:
 select * from maxviewcfg where viewname in ('C_VCHECKWORK', 'C_WOFAULT')
 select * from maxviewcolumncfg where viewname in ('C_VCHECKWORK', 'C_WOFAULT')

 select * from maxview where viewname in ('C_VCHECKWORK', 'C_WOFAULT')
 select * from maxviewcolumn where viewname in ('C_VCHECKWORK', 'C_WOFAULT')
   3、修改新库上表中的序列值。

4、重启服务,运行正常。

原创粉丝点击