oracle 10g的SGA大小调整问题

有个客户系统用的数据库是Oracle10g,头几天新换了一台服务器,安装数据库的时候参数采用了全部默认,结果运行起来发现,系统效率比以前低。检查发现sga是默认的,只有584M。

服务器的内存是4G,操作系统是Windows server 2003,于是想是否可以把sga调整到2G?

于是通告用户暂停使用系统,于是通过http://127.0.0.1:1158/em调整sga大小,于是系统瘫痪几个小时......

问题的原因是oralce的服务起不来了,报出“监听程序当前无法识别连接描述符中请求的服务”的错误,查看系统服务中的几项有关Oracle的服务显示都是正常的,郁闷了。

根据网上的资料,在network/admin下的listener.ora文件中的SID_LIST_LISTENER 段中加了类似如下的一段:

  (SID_DESC =

    (GLOBAL_DBNAME = ORCL)

    (ORACLE_HOME = G:/oracle/product/10.2.0/db_1)  

    (SID_NAME = ORCL)

    )

结果还是起不来,错误变成了:

ORA-27101 Shared memory realm does not exist
ORA-01034 ORACLE not available

在网上查与此有关的解决方法很多,但是大家抄来抄去愣是没有一个答案能用的,想着也就是动了一下sga大小,去文件中改掉不就行了。于是打开dbs目录下对应的的spfile文件,直接手工操作,结果还是不行。

再查资料,说spfile是二进制文件,可我直接当文本编辑了!

没有备份,无法恢复!

情急之下,想到我的本本上装的oracle版本跟它一样,貌似数据库的名字也一样,就是安装路径不同。

于是打开UltraEdit,用修改二进制文件的方法将我本机的spfile文件中所有涉及oracle路径的地方全部改了一遍,然后复制到客户服务器上,成功!

反思这个事故,有几点:

1.修改参数前,请备份相关文件(尤其是数据库,实在不行的时候还可以重装系统)

2.要慎重考虑分配的sga大小多少合适,说实话对于4G内存的机器,分2G给sga我觉得挺正常的,可就是超了!

3.网上的资料很多,但是真正有用的还是少,关键时刻还是要靠自己。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值