
数据库的连接数是指响应客户端连接的最大进程数
注意 是有一个连接进程算一个 不是指电脑台数
1.select count(*) fromv$processselect count(*) from v$process where program=‘ORACLE.EXE(SHAD)’--当前的数据库连接数
2.
Sql代码
1.select value from v$parameter where name ='processes'
select value from v$parameter where name ='processes'--数据库允许的最大连接数
3.
Sql代码
1.alter system set processes = 300 scope =spfile
alter system set processes = 300 scope = spfile--修改最大连接数:
我以前认为oracle processes参数只是规定进程数的上限,随便设置多大都可以,于是设置了个一千万,结果重启数据库的时候发现启动不了。其实processes设置的值还是会占用oracle内存的,设置过大的话,你sga中没有足够的内存分配,数据库便无法启动。
你可以自己实验对比下,
当你设置不同processes值时候,shared_pool中的processes池,大小也会随之变化
select * from v$sgastat where pool='shared pool' and name='processes'
-----------------------------------------------------------------------------------------------------
目前我所见到的生产环境中的库,大点的话,一般processes在3000左右就够用了,当然你的环境要是超大型oltp类型的,那么另说了,总的来说就是要根据你业务情况来了。
另外,你可以通过下面语句看看历史会话数的峰值是多少,来判断是否需要调整processes
select sessions_current,sessions_highwater from v$license
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)