weblogc 集群环境下 关于session的存储问题
我的web 应用时部署在weblogic 上的, 我的weblogic 是工作在集群环境下的, 数据库用的oracle , 最近我的dba 向我提了这样的问题要我解决:We have detected alot of activity on SANPROD database instance since this morning
Due to the activity the archive logs have been filling up extremely fast, 8GB of archive logs were generated alone for the activity starting this morning 8am onwards and we have traced the sql statement responsible.
Pls find the statement below and advise what activity is triggering the statement.
update wl_servlet_sessions set wl_session_values = :1, wl_is_new = :2, wl_is_valid = :3, wl_access_time = :4, wl_max_inactive_interval = :5 where wl_id = :6 and wl_context_path = :7
意思是说: 她在我们的项目SANPROD的数据库实例上发现了很多的活动, 由于这些活动使得的数据库的存档日志文件迅速增大到了 8 个G , 且她是早上8点发现这个问题的,也就是说没有多少时间 。 她追踪了导致写这个日志文件的sql 是:
update wl_servlet_sessions set wl_session_values = :1, wl_is_new = :2, wl_is_valid = :3, wl_access_time = :4, wl_max_inactive_interval = :5 where wl_id = :6 and wl_context_path = :7
要我找出来 为什么会执行上述语句, 致使 日志文件达到8 个G
我没有weblogic 集群环境的经验恳请各位专家指点:
我的weblogic 的配置如下:
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.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
可是为什么会让日志文件达到8 G 呢。 这得执行多少次更新啊
--------------------编程问答-------------------- 在web.xml里面增加session过期时间设置
<session-config>
<session-timeout>20</session-timeout>
</session-config> --------------------编程问答-------------------- 看看是不是缓存导致的,也有可能是 cache 一直在保存。
补充:企业软件 , 中间件