WEB开发网      濠电娀娼ч崐濠氬疾椤愶附鍋熸い鏍ㄧ〒闂勫嫰鏌﹀Ο渚Ц闁诲氦顕ч湁婵犲﹤楠告禍鍓х磼鏉堛劌绗氶柟宄版嚇閹晠宕归銈嗘濠电偞鍨堕幐鎾磻閹捐秮褰掓偐閻戞﹩妫勯梺鎼炲妼鐎涒晝绮嬪澶樻晝闁挎繂鏌婇敃鍌涚厵閻庢稒锚閻忥絾绻濇繝鍐ㄧ伌闁诡垰鍟村畷鐔碱敂閸♀晙绱樺┑鐐差嚟婵儳螞閸曨剚鍙忛柍鍝勬噹缁€澶嬬箾閹存繄锛嶆鐐灲閹綊宕惰濡插鏌涢妸銉ヮ劉缂佸倸绉归弫鎾绘晸閿燂拷 ---闂備焦瀵уú鈺呭箯閿燂拷
开发学院数据库Oracle Oracle清楚理解限制(limit)系列 阅读

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

 2007-05-10 12:16:02 来源:WEB开发网 闂備線娼уΛ鎾箯閿燂拷闂備礁鎲¢崹鐢垫崲閹扮増鍎嶆い鎺戝€甸崑鎾斥槈濞嗗秳娌紓鍌氱▌閹凤拷濠电姭鎷冮崨顓濈捕闂侀潧娲ゅú銊╁焵椤掍胶鈯曢柕鍥╁仧缁辩偤鏁撻敓锟�闂備線娼уΛ鎾箯閿燂拷  闂備胶枪缁绘鈻嶉弴銏犳瀬闁绘劕鎼痪褔鏌曟繝蹇曠窗闁煎壊浜滈—鍐偓锝庡墮娴犙勭箾閸喎鐏ユい鏇樺劦椤㈡瑩鎮℃惔銇帮拷
核心提示:Oracle里有形形色色的限制(limit),清楚的了解这些限制可以帮助我们更好的使用Oracle和理解Oracle. 本文是Oracle的限制系列的第一篇文章,Oracle清楚理解限制(limit)系列,最主要介绍了一些由Oracle初始化参数设定的一些基本限制(sessions , processes ) Key

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.

Tags:Oracle 清楚 理解

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接