oracle里有形形色色的限制(limit),清楚的了解这些限制可以帮助我们更好的使用oracle和理解oracle.
本文是oracle的限制系列的第一篇文章,最主要介绍了一些由oracle初始化参数设定的一些基本限制(sessions , processes )
key word: ora-00018 , ora-00020
1。sessions
在初始化参数所设定的限制中,最为人所知的估计就是sessions和processes
sessions 参数指定了一个 instance中能够同时存在的sessions数量,或者说,就是能同时登陆到数据库的并发用户数。通常,我们设定这个数字时需要考虑我们可能会有多少个同时连接到数据库的并发用户,并加上后台进程的进程数,最后乘与1.1.
比如说,估计系统中可能会同时有100个用户连接到数据库,那么,你的session最少应该为
(100 + 10 ) * 1.1 = 121
当数据库连接的并发用户已经达到这个值时,又有新session连进来,就会报错
00018, 00000, "maximum number of sessions exceeded"
// *cause: all session state objects are in use.
// *action: increase the value of the sessions initialization parameter.
2. processes
和sessions是类似的是processes这个参数。
processes参数指定了instance在os层面所能同时运行的进程数。基于和sessions设定同样的考虑,我们在设定processes时,也应考虑我们可能会有多少个同时连接到数据库的并发用户,并加上后台进程的进程数。
当然,在mts(shared server)的配置下,这个值的确定会有所不同。应该是普通后台进程+最大共享
新闻热点
疑难解答