科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道[Oracle]清楚理解限制(limit)系列1

[Oracle]清楚理解限制(limit)系列1

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Oracle里有形形色色的限制(limit),清楚的了解这些限制可以帮助我们更好的使用Oracle和理解Oracle. 本文是Oracle的限制系列的第一篇文章,最主要介绍了一些由Oracle初始化参数设定的一些基本限制

作者:RollingPig 来源:RollingPig的blog 2008年4月23日

关键字: limit 数据库 ORACLE

  • 评论
  • 分享微博
  • 分享邮件
 

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

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章