概要
前几天做了was和oracle的版本升级,因为版本更新的版本比较新,加上项目年代比较久,存在一些问题,所以总结一下为以后的患者做准备。
版本升级
软件名称
升级前的版本
升级后的版本
Was(WebSphereapplicationserver )
was6.1.0.47
was8.5.5.5
Oracle数据库
oracle10g-10.1.0.2.0
oracle12c-12.1.0.2.0
3 .升级思路
为了避免同时升级两个重要的服务器软件,出现问题时最快出现问题的原因,升级时首先进行was升级,数据库使用原数据库,was升级后出现问题
此外,由于项目运行时环境was6.1中的jre是版本1.5,升级后的was8.5中的jre是版本1.6,因此建议您在升级前使用was8.5中的jdk重新编译项目的jdk
4 .升级时遇到的问题和解决办法
4.1.1
问题
Axis2服务器端的某些jar包未加载,基于Axis2的web服务无法启动
做得好
系统启动时显示文件加载扩展、NoClassDefFoundError、ClassNotFoundException等
解决方案
由于was8集成了Axis2服务作为web服务的引擎,因此要使用与APP应用系统本身集成的web服务引擎,需要更改类的加载顺序以顺利加载web服务引擎的jar包具体而言,请参阅IBM知识中心的usingathird-Pard
因此,您只需打开was控制台,选择管理模块,单击它,然后将类的加载顺序更改为父类的末尾。 这样更改类加载顺序(父类末尾)的方法已经过实践验证,并且是可行的(实践环境是基于was8.5.5.5、Axis2-1.6的认证服务)。
如果更改类的加载顺序仍然不能解决问题,则必须将axis2附带的mar模块文件修改为jar文件,并将其放在APP应用程序的类路径下。
本以为修改类的加载顺序就可以了,但是我们的系统因为时间的推移,还在使用struts1。 修改类的加载顺序后,出现了无法加载jstl标记库的情况。 具体情况如下
不能将JSP wcom.IBM.ws.JSP.taglib.tldparserendelementjspg 0235 e : JSP容器加载到TagExtraInfo类中
[ org.Apache.struts.taglib.cookie tei ] from/we B- INF/struts-bean.TLD
不能将JSP wcom.IBM.ws.JSP.taglib.tldparserendelementjspg 0235 e : JSP容器加载到TagExtraInfo类中
[ org.Apache.struts.taglib.define tei ] from/we B- INF/struts-bean.TLD
不能将JSP wcom.IBM.ws.JSP.taglib.tldparserendelementjspg 0235 e : JSP容器加载到TagExtraInfo类中
[ org.Apache.struts.taglib.header tei ] from/we B- INF/struts-bean.TLD
不能将JSP wcom.IBM.ws.JSP.taglib.tldparserendelementjspg 0235 e : JSP容器加载到TagExtraInfo类中
[ org.Apache.struts.taglib.include tei ] from/we B- INF/struts-bean.TLD
不能将JSP wcom.IBM.ws.JSP.taglib.tldparserendelementjspg 0235 e : JSP容器加载到TagExtraInfo类中
[ org.Apache.struts.taglib.page tei ] from/we B- INF/struts-bean.TLD
不能将JSP wcom.IBM.ws.JSP.taglib.tldparserendelementjspg 0235 e : JSP容器加载到TagExtraInfo类中
[ org.Apache.struts.taglib.parameter tei ] from/we B- INF/struts-bean.TLD
不能将JSP wcom.IBM.ws.JSP.taglib.tldparserendelementjspg 0235 e : JSP容器加载到TagExtraInfo类中
[ org.Apache.struts.taglib.resource tei ] from/we B- INF/struts-bean.TLD
不能将JSP wcom.IBM.ws.JSP.taglib.tldparserendelementjspg 0235 e : JSP容器加载到TagExtraInfo类中
[ org.Apache.struts.taglib.size tei ] from/we B- INF/struts-bean.TLD
不能将JSP wcom.IBM.ws.JSP.taglib.tldparserendelementjspg 0235 e : JSP容器加载到TagExtraInfo类中
[ org.Apache.struts.taglib.struts tei ] from/we B- INF/struts-bean.TLD
不能将JSP wcom.IBM.ws.JSP.taglib.tldparserendelementjspg 0235 e : JSP容器加载到TagExtraInfo类中
[ org.Apache.struts.taglib.iterate tei ] from/we B- INF/struts-logic.TLD
不能将JSP wcom.IBM.ws.JSP.taglib.tldparserendelementjspg 0235 e : JSP容器加载到TagExtraInfo类中
[ org.Apache.struts.taglib.iterate tei ] from/we B- INF/struts-logic-El.TLD
.
然后,由于com.IBM.ws.web services.thin client _6.1.0. jar和javaee.jar软件包在APP应用程序的类路径下发生冲突,标记库无法加载清除com.IBM.ws.web services.thin client _6.1.0. jar,使系统恢复正常
4.1.2
问题
将数据库升级到oracle12c时,无法在连接池中获取连接,无法访问系统
做得好
访问系统时会显示NullPointerExcetpion
解决方案
如果连接池连接初始化失败,原因是数据库升级后没有更新驱动程序,并且在访问系统时没有可用的连接,则会发生NullPointerException。 解决方法是更新数据库驱动程序。 导航至oracle12c安装目录的jdbc目录下的lib,并将其中以ojdbc6开头的jar包复制到系统类路径下。
4.1.3
问题
将数据库升级到oracle12c时,没有与ORA-28040:匹配的验证协议
做得好
如果在访问系统时设计数据库查询,则ORA-28040:没有匹配的验证协议
解决方案
这个问题可以在女儿身上搜索很多,但机会似乎很高。 解决方案是修改数据库安装目录中的sqlnet.ora ($ Oracle _ home/network/admin/sqlnet.ora )文件,然后单击sqlnet.allowed _ ora
希望对希望升级was和数据库的用户有所帮助。