Oracle默认的最大连接数为100,会话数为60,有时候我们需要更新百万级的数据,需要获取比100更多的连接数和比60更多的会话数,这是可以修改Oracle最大连接数和会话数。
1.查看最大连接数
show parameter processes;
![](http://dl2.iteye.com/upload/attachment/0124/6734/fb3f9562-4a4b-33ae-8bc4-7f79d3e0099a.png)
2.修改processes值
alter system set processes=300 scope=spfile;
![](http://dl2.iteye.com/upload/attachment/0124/6736/113f7651-a082-3add-862e-36b2d81b58e8.png)
3.查看最大会话数
show parameter sessions;
![](http://dl2.iteye.com/upload/attachment/0124/6738/4b85b889-b5c4-335a-a064-fdb58ec224f3.png)
4.修改sessions值
alter system set sessions=350 scope=spfile;
![](http://dl2.iteye.com/upload/attachment/0124/6740/1aa75bb6-8286-3bd3-a7ad-c0deeab251c3.png)
5.最大连接数和最大会话数修改后,要重启数据库,才能生效,重启查看最大连接数如下:
![](http://dl2.iteye.com/upload/attachment/0124/6742/d79a7cf4-5bb2-3509-8bf5-42ddb0e514e0.png)
最大会话数:
![](http://dl2.iteye.com/upload/attachment/0124/6744/044c2d9c-87e6-3de9-9155-c1a6b72df9b5.png)
至于会话数为什么为472,因为会话数与连接数的关系为sessions=(1.1*process+5) ,具体参考引用的文章,。
附:
当前连接数
select count(*) from v$process where program ='Oracle.EXE(SHAD)';
允许最大连接数:
select value from v$parameter where name ='processes';
当前的session连接数:
select count(*) from v$session;
并发连接数
select count(*) from v$session where status='ACTIVE';