ORA-12500错误解决一例

  引言:

上星期天晚上10点,同事打电话到家了,反映数据库的TNS时通时断,严重影响生产。判断应该是内存用完造成用户无发连接造成。可是我在星期天上午才将内存由<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />1.5G增加到4G。无论如何没办法在家解决,只好告诉上夜班的同事每半小时将网卡中断一次,以便让产线可以使用。

 星期一上班,打开boot.ini,发现在内存增加后没有加 /3G开关。加上/3G参数,重新启动电脑,过了约半小时,产线反应问题复现---Ora-012500错误。看来没有彻底解决。在网上查找异常原因,发现原因是虽然内存有4G,但Oracle能用的只有2G(需要做一些修改才能超越此限制,但时间不允许),而我的SGA用了1.5G, 在独占模式下,每一个session将单独分配2M左右的内存,300Session需要600M,显然,内存已经不够用了。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 根据以上分析,解决方法当然有3种,一是修改系统参数,让Oracle能够使用超过2G的内存,这需要在测试环境测过才可在正式环境进行,解决问题优先,这个以后再试。第二是减小为每一个会话分配的内存大小,以能连接更多的用户。三是减小SGA的大小。第二个方法其实很简单,先停止oracle服务和TNS服务,再运行以上命令
C:\oracle\ora81\bin>orastack oracle.exe 500000
Dump of file oracle.exe
Current Reserved Memory per Thread = 1048576
Current Committed Memory per Thread = 4096
New Reserved Memory per Thread = 500000
C:\oracle\ora81\bin>orastack tnslsnr.exe 500000

Dump of file tnslsnr.exe

Current Reserved Memory per Thread = 1048576
Current Committed Memory per Thread = 4096
New Reserved Memory per Thread = 500000
重新启动oracle服务和TNS服务,打开数据库。不过这个也没做过,需要测试。看来降低SGA最简单。打开init.ora文件,将SGA降低到1GShutdown Database,Startup,问题解决。

转载于:https://www.cnblogs.com/kevinsun/archive/2006/03/04/342830.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值