设为首页 加入收藏

TOP

oracle9i修改sga_max_size引起问题的解决
2014-11-24 02:21:41 来源: 作者: 【 】 浏览:10
Tags:oracle9i 修改 sga_max_size 引起 问题 解决

oracle9i修改sga_max_size引起问题的解决
为了改善oracle性能,尝试修改某些参数,结果修改sga_max_size=2G
数据库启动失败(后来才知道最大值不能超过1.7G),再启动的时候报:
ORA-27123: unable to attach to shared memory segment
Linux Error: 22: Invalid argument www.2cto.com
这时候用sysdba登录,已经不能修改参数了。经过疯狂Google后,用以下方法解决:
1、用另外的pflie启动数据库
Sql代码
startup pfile='${ORACLE_BASE}/admin/***(sid)/pfile/init***(sid).ora'
pfile文件去上面那个目录找找,一般会有,没有的话去别的机器上面拷一个回来,没有,我就不知道该怎么搞了,你也别看下去了。
www.2cto.com
2、生成spfile。这个时候数据库是正常跑起来了,但是还改不了参数的,会报一下错误:
Sql代码
ORA-32001: write to SPFILE requested but no SPFILE specified at startup
正常用startup启动也还是不行的,所以要先生成spfile。用这个命令:
Sql代码
create spfile from pfile='${ORACLE_BASE}/admin/***(sid)/pfile/init***(sid).ora'
3、关掉它,再起来。这步不知道是不是一定要的,习惯性喜欢重启(最有效的排障手段呀)。
Sql代码
shutdown immediate;
startup;
4、现在正常了,改改参数吧,这次可别改错了。
Sql代码 www.2cto.com
alter system set sga_max_size=1500M scope=spfile;
没问题,数据库可以继续跑。有问题只能说各有各的不幸,慢慢Google吧。
据说pfile是不能直接编辑的,我编辑过没跑起来,当然我不确定是因为我编辑过所以不行了,但是推荐还是别改它了。
搞数据库的新手,郁闷得很,但是这次还是学到一点点东西:
1、数据库可以在startup的时候指定一个pfile(其实我不是很明白pfile是什么来的,不过我知道它很重要,下次一定备份一个能用的).
2、pfile可以通过spfile建一个。用下面的命令(路径自己指定):
Sql代码 www.2cto.com
create pfile='/opt/oracle/init.ora' from spfile;
3、通过指定pfile启动数据库后,要切到spfile(不然你每次指定pfile启动吧,不过其实spfile是什么?)。用下面的命令:
Sql代码
create spfile from pfile='${ORACLE_BASE}/admin/***(sid)/pfile/init***(sid).ora'
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oracle中忘记System和Sys密码后的.. 下一篇Oracle9i中使用SYS_CONNECT_BY_PA..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: