博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle 中session和processes的初始设置
阅读量:5047 次
发布时间:2019-06-12

本文共 2930 字,大约阅读时间需要 9 分钟。

http://blog.163.com/succu/blog/static/193917174201252911727149/
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.
 
1).通过SQLPlus修改
Oracle的sessions和processes的关系是
sessions=1.1*processes + 5
 
使用sys,以sysdba权限登录:
 
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- ---------------------------------------
aq_tm_processes integer 1
db_writer_processes integer 1
job_queue_processes integer 10
log_archive_max_processes integer 1
processes integer 150
 
SQL> alter system set processes=400 scope = spfile;
系统已更改。
 
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- -----------------------------------------
aq_tm_processes integer 1
db_writer_processes integer 1
job_queue_processes integer 10
log_archive_max_processes integer 1
processes integer 150
 
SQL> create pfile from spfile;
文件已创建。
 
重启数据库,OK!
 
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
 
SQL> startup
ORACLE 例程已经启动。
 
Total System Global Area  171966464 bytes
Fixed Size                   787988 bytes
Variable Size             145488364 bytes
Database Buffers           25165824 bytes
Redo Buffers                 524288 bytes
数据库装载完毕。
数据库已经打开。
 
SQL> show parameter processes;
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ----------------
aq_tm_processes                      integer     0
db_writer_processes                  integer     1
gcs_server_processes                 integer     0
job_queue_processes                  integer     10
log_archive_max_processes            integer     2
processes                            integer     400
 
SQL> show parameter session;
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ----------------
java_max_sessionspace_size           integer     0
java_soft_sessionspace_limit         integer     0
license_max_sessions                 integer     0
license_sessions_warning             integer     0
logmnr_max_persistent_sessions       integer     1
session_cached_cursors               integer     0
session_max_open_files               integer     10
sessions                             integer     445
shared_server_sessions               integer
SQL>
 
【注:sessions是个派生值,由processes的值决定,公式sessions=1.1*process + 5】

转载于:https://www.cnblogs.com/svennee/p/4084423.html

你可能感兴趣的文章
centos7 搭建vsftp服务器
查看>>
RijndaelManaged 加密
查看>>
Android 音量调节
查看>>
HTML&CSS基础学习笔记1.28-给网页添加一个css样式
查看>>
windows上面链接使用linux上面的docker daemon
查看>>
Redis事务
查看>>
Web框架和Django基础
查看>>
python中的逻辑操作符
查看>>
CSS兼容性常见问题总结
查看>>
HDU 1548 A strange lift (Dijkstra)
查看>>
每天一个小程序—0005题(批量处理图片大小)
查看>>
IIS的各种身份验证详细测试
查看>>
JavaScript特效源码(3、菜单特效)
查看>>
Linux常用命令总结
查看>>
yii模型ar中备忘
查看>>
C#线程入门
查看>>
CSS清除浮动方法
查看>>
JVM内存回收机制简述
查看>>
洛咕 P2480 [SDOI2010]古代猪文
查看>>
js-创建对象的几种方式
查看>>