如题。
我网上只找到了查看连接数
select count(*) from v$session 数据库允许的最大连接数
select value from v$parameter where name = 'processes' 修改最大连接数
alter system set processes = 300 scope = spfile;
但是并没有找到每增加一个连接数,会消耗多少的CPUOracle中有相关的语句吗?
我网上只找到了查看连接数
select count(*) from v$session 数据库允许的最大连接数
select value from v$parameter where name = 'processes' 修改最大连接数
alter system set processes = 300 scope = spfile;
但是并没有找到每增加一个连接数,会消耗多少的CPUOracle中有相关的语句吗?
ACTIVE是根据执行的SQL情况来决定的
才能知道一个连接占用的CPU
select min(pga_used_mem)/1024/1024 M from v$process where pga_used_mem>0; ---process消耗最少内存呵呵 我也刚刚找到
你不是想问消耗多少CPU和时间?
呵呵,刚刚 tangren 说 增加连接数,处理INACTIVE状态的不占用CPU的,会占用一定的内存
所以问题转向了 内存。
和
select count(*) from v$session到底哪个才是查看连接数的呢?
首先搞清楚session和PROCESS的关系session: oracle server中用于与数据库进行交互的会话
process: os进程,与oracle进行通信
所有与数据库进行的通信都是通过进程来进行,该参数的设置,决定了连接进程数,一个client的连接有一个进程,后台进程也包含在该参数内(lgwr、dbwr、ckpt、arch等等进程)
但一个进程可能有多个会话,这是连接oracle后在server里面启动的
对于init文件中参数设置,
原则上是进程数量控制了client的连接数量
会话数应该大于进程数
select count(*) from v$session 下查询结果是10个是进程数大于会话数