I believe it is what you have set the shared memory maximum segment size to in the kernel (shmmax).
shmmax limits the maximum size of a shared memory segment, which is the largest value that can be requested of shmget(2). The resource it controls is not preallocated. It is allocated on demand.
In the Solaris 7 and 8 environments, 64-bit breaks the 4-Gbyte barrier. The maximum size is theoretical. The actual settings need to be based on the system resources like memory, database sizes, and configurations. The maximum size of the segment itself (shmmax) is an upper limit.
I will have to put the same question in a different way. I know SGA depends on shmmax. I will modify my query however my original question still remains unanswered!
What is the max permissible size of shmmax/SGA on 8i, Solaris 2.8?
We have 220.127.116.11.0 running on Solaris 2.8. We have 16GB ram on the box. We r trying to find out the maximum "permissible" shmmax/SGA that we can have. I have the following question.
1) What is the maximum shmmax/SGA one can have if RAM is not a constraint?
2) Does Oracle has a recommendation on maximum shmmax/SGA size?
3) Is there a limit on maximum shmmax/SGA on Solaris 2.8?
I will have to state my answer in a different way, I guess.
Did you read the tuning article at the Sun web site? No. That answers your question about how large the SGA can be. You could have specified whether you are asking about 32-bit or 64-bit. For questions one and three, the answer is in black in white and is what was provided for you.
As far as Q2 is concerned, Oracle Corp., AFAIK, only has articles on how to size (or determine what size you need) the SGA, not on how big it can be, regardless of RAM.