欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ORA-27100sharedmemoryrealmalreadyexists错误解决方法

程序员文章站 2022-05-28 08:54:11
环境:win 2003 + oracle 10g win 2003服务器物理内存4g oracle10g sga 1504m 事故背景: 调整sga大小,因为os的内存只有...

环境:win 2003 + oracle 10g

win 2003服务器物理内存4g

oracle10g sga 1504m

事故背景:

调整sga大小,因为os的内存只有4g,建议sga的大小不要超过60%,我调整为2g

sql> alter systemset sga_max_size=2000m scope=spfile;

重启报错ora-27100 shared memory realm already exists

分析原因:对于32位机器oracle的sga有个1.7g的限制

解决方案:

spfile 是二进制文件不可以直接编辑,可以通过重新建立pfile文件

sql> create pfile=’d:\oracle\ora92\database\pfilesid.ora’from spfile=’d:\oracle\ora92\database\spfilesid.ora’

sql> shutdown immediate

pfilesid.ora,修改参数文件内的以下两个参数,

将参数调小。

*.sga_max_size=600000000
*.sga_target=600000000

找到管理/服务/oracleserviceorcl 重启

sql>startup pfile=’d:\oracle\ora92\database\pfilesid.ora’

oracle 例程已经启动。

total system global area 603979776 bytes
fixed size 1250428 bytes
variable size 163580804 bytes
database buffers 432013312 bytes
redo buffers 7135232 bytes
数据库装载完毕。
数据库已经打开。

sql>create spfile=’d:\oracle\ora92\database\spfilesid.ora’ from pfile=’d:\oracle\ora92\database\pfilesid.ora’

sql> startup force
sql> show parameter spfile

sql> show parameter sga;

今天按照网上的方法。怎么修改初始化参数 一直报错。反反复复,花费将近1个钟头,后来该正确了,数据库才起来,所以,以后在做类似修改,一定要记得备份

涉及参数修改操作,一定做备份,

cp initsid.ora initsid.ora.bak

cp spfilesid.ora spfilesid.ora.bak 以防万一,一旦修改的有问题,赶紧恢复,缩短宕机时间。

反复修改起不来的配置

sga_max_size=547483648

sga_target_size=547483648

pag_aggregate_target=149946368 ,可能pga+shared pool +db cache +large pool > sga 所以起不来

正确配置:

sga_max_size=1524m

sga_target_size=1524m

pag_aggregate_target=50m