limit:清楚理解限制(limit)系列来源: 发布时间:星期四, 2009年2月5日 浏览:0次 评论:0
="t18">
Oracle里有形形色色限制(limit)清楚了解这些限制可以帮助我们更好使用Oracle和理解Oracle.
本文是Oracle限制系列第篇文章
最主要介绍了些由Oracle化参数设定些基本限制(sessions , processes )
Key Word: ORA-00018 , ORA-00020
1sessions
在化参数所设定限制中最为人所知估计就是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)配置下这个值确定会有所区别应该是普通后台进程+最大共享服务器进程数(max_shared_servers) + 最大Dispatcher进程数(max_dispatchers).
另外由于在window平台中Oracle是以单个进程形式存在Processes 参数变成了限制Oracle进程里线程数了
当Oracle需要启动新process而又已经达到processes参数时就会报错:
00020, 00000, "maximum number of processes (%s) exceeded"
// *Cause: All process state objects are in use.
// *Action: Increase the value of the PROCESSES initialization parameter.
0
相关文章读者评论发表评论 |