Chinaunix首页 | 论坛 | 博客
  • 博客访问: 213002
  • 博文数量: 14
  • 博客积分: 1405
  • 博客等级: 上尉
  • 技术积分: 470
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-16 15:02
文章存档

2011年(8)

2010年(3)

2009年(1)

2008年(2)

分类: Oracle

2009-07-10 11:26:57

现象:服务器操作系统为solaris 10,在客户端登录oracle的时候反复登录几次后就会报ora-12516错误。
产生的原因:出现该错误,一般是由于数据库的当前会话数不满足造成的,相关的参数有两个:processes和sessions的值。
1、首先查看当前这两个参数的值
sql>conn / as sysdba
sql>select count(*) from v$session;  从这里可以看出当前的session数
sql>show parameter processes;    从输出的信息可以看到当前数据库中参数processes的值
sql>show parameter sessions;     从输出的信息可以看到当前数据库中参数sessions的值
这二者的关系是:sessions=(1.1*processes+5)
2、修改这两个参数
alter system set processes=300 scope=spfile;
alter system set sessions=335 scope=spfile;
3、重新启动数据库服务,使这两个参数生效。
4、如果数据库服务无法正常启动,则可能是solaris10系统参数seminfo_semmns设置的偏小,因为每个process会占用一个semmns,semmns调整后需要重新启动操作系统。
semmns的计算公式为:   SEMMNS>processes+instance_processes+system
  
processes=数据库参数processes的值   instance_processes=5(smon,pmon,dbwr,lgwr,arch)
system=系统所占用信号量。系统所占用信号量可用下列命令查出:
#ipcs -a  
其中列NSEMS显示系
阅读(2567) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~