你的问题应该属于:
1、进程数超过规定数量,客户端无法再登入了。解决:在初始化参数中开大进程数量。
2、死进程数太多,而且不能及时释放,使得其他客户无法登入。解决手动杀进程(kill)。
session设多少和你的应用环境有关系,说一下你的应用部署情况
Sessions = (IIS process number) X (min pool size)
按照这个公式算,如iis进程数为30,连接池min pool size为10,那么安全的Oracle Sessions的数量应该为300。如果不按照这个数量进行设置,那么系统运行的过程中IIS会经常报告一些莫名奇妙的错误,如认证失败。很多人可能会认为IIS已经Crash了,实际上是由于Session的数量超过了Oracle允许的数量。
当然我们还必须将由于程序异常处理不当等造成的坏死的Session的可能数量计算在内。为了保证系统的运行问题,应该在上文所说的计算方法上加一个保险值,如350。
1、在存储过程代码中添加关闭会话的语句,如DEALLOCATE@handle;(其中@handle为会话句柄)。
2、在存储过程结束前,手动关闭会话,如使用“sp_reset_connection"命令。
3、在客户端程序中,在执行完存储过程后,显式地调用关闭会话的API函数,如ADONET中的Close0方法。
需要注意的是,在关闭会话之前,应该先提交或回滚所有未完成的事务,并释放相关的资源,以确保数据的完整性和一致性。此外,对于高并发的数据同步场景,还需要考虑会话池等机制,以提高系统的性能和可靠性。
以上就是关于ORACLE中v$session这张表中又暴多的SQL*Net message from client事件,并且所属用户全部的内容,包括:ORACLE中v$session这张表中又暴多的SQL*Net message from client事件,并且所属用户、oracle数据库的session参数值设置对系统运行效率有影响吗、数据库存储过程同步数据,session如何关闭等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)