问题描述
我的web应用时部署在weblogic上的,我的weblogic是工作在集群环境下的,数据库用的oracle,最近我的dba向我提了这样的问题要我解决:WehavedetectedalotofactivityonSANPRODdatabaseinstancesincethismorningDuetotheactivitythearchivelogshavebeenfillingupextremelyfast,8GBofarchivelogsweregeneratedalonefortheactivitystartingthismorning8amonwardsandwehavetracedthesqlstatementresponsible.Plsfindthestatementbelowandadvisewhatactivityistriggeringthestatement.updatewl_servlet_sessionssetwl_session_values=:1,wl_is_new=:2,wl_is_valid=:3,wl_access_time=:4,wl_max_inactive_interval=:5wherewl_id=:6andwl_context_path=:7意思是说:她在我们的项目SANPROD的数据库实例上发现了很多的活动,由于这些活动使得的数据库的存档日志文件迅速增大到了8个G,且她是早上8点发现这个问题的,也就是说没有多少时间。她追踪了导致写这个日志文件的sql是:updatewl_servlet_sessionssetwl_session_values=:1,wl_is_new=:2,wl_is_valid=:3,wl_access_time=:4,wl_max_inactive_interval=:5wherewl_id=:6andwl_context_path=:7要我找出来为什么会执行上述语句,致使日志文件达到8个G我没有weblogic集群环境的经验恳请各位专家指点:我的weblogic的配置如下:<!DOCTYPEweblogic-web-appPUBLIC"-//BEASystems,Inc.//DTDWebApplication8.1//EN""http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd"><weblogic-web-app><session-descriptor><session-param><param-name>PersistentStoreType</param-name><param-value>jdbc</param-value></session-param><session-param><param-name>PersistentStorePool</param-name><param-value>SANetPool</param-value></session-param><session-param><param-name>PersistentStoreTable</param-name><param-value>wl_servlet_sessions</param-value></session-param></session-descriptor><jsp-descriptor><jsp-param><param-name>compileCommand</param-name><param-value>javac</param-value></jsp-param><jsp-param><param-name>keepgenerated</param-name><param-value>true</param-value></jsp-param><jsp-param><param-name>debug</param-name><param-value>true</param-value></jsp-param></jsp-descriptor><charset-params><input-charset><resource-path>/*</resource-path><java-charset-name>UTF-8</java-charset-name></input-charset></charset-params><context-root>/</context-root></weblogic-web-app>小弟跪谢啦。
解决方案
解决方案二:
<session-param><param-name>PersistentStoreType</param-name><param-value>jdbc</param-value></session-param>这表示你的session采用的是jdbc持久保存方式,所以需要将session信息更新到数据库表中wl_servlet_sessions:<session-param><param-name>PersistentStoreTable</param-name><param-value>wl_servlet_sessions</param-value></session-param>
解决方案三:
谢谢你的回复zbzboy可是为什么会让日志文件达到8G呢。这得执行多少次更新啊
解决方案四:
在web.xml里面增加session过期时间设置<session-config><session-timeout>20</session-timeout></session-config>
解决方案五:
看看是不是缓存导致的,也有可能是cache一直在保存。