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。
如果一定要在32位上扩展,请参考http://cache.baiducontent.com/c?m=9d78d513d98214fc4fede57d1a17a771192397624cd285013894cd47c9221d03506790a63a784b13d3b22c345af90e4bea87672f681e78e1de9fd45786fdc577328227322048d01045d949ffce1176c32a9209bfa418b4ecfb&p=b478e70586cc42a95df6c7710f519e&newp=853fc54ad5c544e90be29628154e97231610db2151d2d41639&user=baidu&fm=sc&query=sga+1%2E7G&qid=&p1=8

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

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

注册时间:2013-10-25

  • 博文量
    3
  • 访问量
    9370