ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 解决windows 2003 server 32bit+oracle 10.2.0 32bit ora-12518报错一例

解决windows 2003 server 32bit+oracle 10.2.0 32bit ora-12518报错一例

原创 Linux操作系统 作者:wxbalex 时间:2013-10-25 13:21:05 0 删除 编辑
  
昨天接到现场工程师求助,说生产系统很多客户端报告"ora-12518:监听程序无法分发客户机连接",希望能协助解决。
ora-12518错误通常是由于以下的原因造成:
1.数据库的processes、sessions达到上限,数据库无法启动更多服务进程响应客户端登录请求。
2.pga达到上限,数据库无法分配内存资源响应客户端登录请求。
3.windows上32位oracle是一个进程,oracle的进程其实是线程。32位oracle设置了最大内存为1.7G。这也是sga不能超过1.7G的关键因素。(也可以通过调整注册表、隐含参数等打破这一限制)
但是,Oracle作为运行在操作系统上的软件,操作系统的性能限制也会影响到oracle。
 
下面描述昨天现场的情况:
1.processes参数被设置为1000,sessions参数被设置为1105
2.发生ora-12518报告时,select count(*) from v$process;select count(*) from v$session;结果都只有100多
3.与通常见到的ora-12518持续不断相比,这次报ora-12518是间歇性的
4.数据库默认连接模式是专用连接
5.查看sga、pga。 sga分配了1G多点,pga分配了800M
 
分析上面的情况看最大的可能就是由于sga、pga分配内存过多引起的。现场工程师说原来sga是584M,出问题后他认为是sga偏小造成的,所以就调大了sga、pga。根据这一情况,建议他把sga改为500M,pga改回原值,并重启数据库使参数生效。重启后不再出现ora-12518报错。
 
但是32位数据库上硬件的性能得不到发挥,实在可惜。建议还是换64位的oracle。

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

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2013-10-25

  • 博文量
    3
  • 访问量
    9899