We have a Enterprise 450 with 4 gb memory (which the system recognizes). This
database server shares this box with a Sybase database as well. A few weeks ago,
2 gb was added to this machine (bringing to 4gb) because it was not able to
handle the 2 databases and QA at the same time. The SGA was pruned down
considerably to allow the database to come up with these settings. Before the 2
gb was added the system file shmmax was set to this.
shmsys:shminfo_shmmax=314572800
Way smaller than recommended in Oracle installation, but this was the number in
which we where able to get Oracle to attach to shared memory. The SGA when the
database started was:
Total System Global Area 1987780592 bytes
Fixed Size 69616 bytes
Variable Size 304730112 bytes
Database Buffers 1677721600 bytes
Redo Buffers 5259264 bytes
So with the new memory I wanted to increase the SGA and thus increase the
shmmax. When I set the shmmax to just what Oracle recommends and rebooted the
machine, starting Oracle got this error.
SVRMGR> startup
ORA-27123: unable to attach to shared memory segment
SVR4 Error: 22: Invalid argument
I never touched the init.ora file, I rebooted (so no lagging shared memory
segments, but just the same checked for them with ipcrm), just increased the
shmmax variable. To get the database up the best I could do for that setting was
:
shmsys:shminfo_shmmax=1305280512
Here's the kicker! I have another 450, same configuration that has always had 4
gb memory and the typical settings in the system file, and a much larger SGA and
it has always worked.
Please, any help would be appreciated!
Tamara L Coleman
Database Engineer
Oracle LazyDBA home page