Oracle HowTo:如何在Linux服务器中扩展SGA超过1.7G

来源:这里教程网 时间:2026-02-27 09:59:52 作者:

今天一台Linux服务器扩展了一下内存,达到4G,开发的人自己修改了一下SGA结果数据库无法启动了.启动不了时,出的错误是这个样子的:[oracle@nei

今天一台linux服务器扩展了一下内存,达到4g,开发的人自己修改了一下sga结果数据库无法启动了.

启动不了时,出的错误是这个样子的:

[oracle@neirong oracle]$ sqlplus "/ as sysdba"
sql*plus: release 9.2.0.4.0 - production on fri nov 25 15:43:26 2005
copyright (c) 1982, 2002, oracle corporation. all rights reserved.
connected to an idle instance.
sql> startup
ora-27123: unable to attach to shared memory segment
linux error: 22: invalid argument
additional information: 1
additional information: 458753
sql> exit
disconnected

在32位平台上,缺省的sga最大只能扩展到1.7g,如果需要支持更大的内存,就需要降低mapped_base,重新link oracle软件.

俺的平台为:
[oracle@neirong bdump]$ cat /etc/redhat-release
red hat enterprise linux as release 3 (taroon update 2)

简单操作如下:
cd $oracle_home/rdbms/lib
cp ksms.s ksms.s.bak ( if u have a ksms.s file)
genksms -s 0x12000000 > ksms.s
make -f ins_rdbms.mk ksms.o
make -f ins_rdbms.mk ioracle

此处先备份ksms.s文件,如果编译过程中出现错误,保证操作可以被恢复:

恢复步骤大致如下:
cd $oracle_home/rdbms/lib
cp ksms.s.bak ksms.s (if u have backup ksms.s file)
genksms > ksms.s
make -f ins_rdbms.mk ksms.o
make -f ins_rdbms.mk ioracle

linux

相关推荐