由Oracle初始化参数设定的一些基本限制

资讯 驱动中国 若水 1,078 次阅读 0 条评论
分享 Q

本文主要介绍了一些由Oracle初始化参数设定的一些基本限制(sessions , processes ),详细内容请参考下文:

 

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)的配置下,这个值的确定会有所不同。应该是普通后台进程+最大共享服务器的进程数(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.

版权声明:本文由驱动中国整理发布,转载需注明出处与原文链接。如有疑问请联系 editor@qudong.com
本文价值 成为第一个评分的人
登录后为本文打分
网友评论0 条评论
正在回复 的评论取消
评论加载中…
🔐

登录后参与互动

评论、点赞均可赚积分
连续签到、邀请好友也有奖励 🎁

电脑端: 微信扫码登录 微信内: 一键登录

微信扫一扫

打开微信「扫一扫」,分享本文到朋友圈或好友