ITPub博客

首页 > 数据库 > Oracle > process值与最大连接数

process值与最大连接数

原创 Oracle 作者:yangsir1 时间:2016-02-22 15:21:22 0 删除 编辑

------修改process参数值:

修改process参数值命令:SQL> alter system set processes=300 scope = spfile; 修改后需要重启数据库。


------查看当前有哪些用户正在使用数据:
SELECT osuser, a.username,cpu_time/executions/1000000||'s', sql_fulltext,machine 
from v$session a, v$sqlarea b
where a.sql_address =b.address order by cpu_time/executions desc;


------如果要增加这个process值的话需要注意的问题:

1  收操作系统参数的限制,操作系统中oracle用户使用的nproc参数要够大,否则process设的再大也没有用。

2 查看oracle数据库pga的大小,如果pga太小也会有问题,我们在管理processes和pga分配内存大小的时候,通常要考虑到每个process占用的大小,然后根据这个大小来决定我们的PGA分配多大,我们的processes要定义为多大。


------查询一个连接(process)占用内存大小:

SQL> select sum(pga_used_mem)/1024 total_used, sum(pga_used_mem)/count(1)/1024 used_avg, sum(pga_alloc_mem)/1024 total_alloc, sum(pga_alloc_mem)/count(1)/1024 alloc_avg from v$process;
TOTAL_USED USED_AVG TOTAL_ALLOC ALLOC_AVG
   60971.5898 1847.62393 142401.8125 4315.20643
这里可以看到,大概一个分配5M左右,每个使用2M
这里我的记录数是32,通过这里可以看到已经使用了60M,分配了140M,所以如果process是150的话,我们的PGA应该要至少设置到500M以上才能支持我们的系统。

------查看是哪台机器连上的进程最多:
select machine, count(*) from v$session group by machine ;

------查看是哪个用户连上的进程最多:
select username,count(username) from v$session t group by username;

------查看oracle的process和session设置的最大值和峰值 :
SELECT RESOURCE_NAME,MAX_UTILIZATION,LIMIT_VALUE FROM V$RESOURCE_LIMIT;

select sessions_highwater  from v$license;

sessions_highwater 记录的是数据库会话曾经达到的最大值

查询数据库自启动以来最大的并发数量

select * from v$license

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24162410/viewspace-1992501/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-06-28

  • 博文量
    52
  • 访问量
    80551