Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Oracle 9i on Solaris 10
Michael42 wrote:
> Hey All,
>
> Can anyone please share how you set the Oracle /etc/system settings on
> a Solaris 10 system?
>
> Solaris 10 is fundamentally different and uses a tool (prctl) to set
> them kinda like LINUX. I would like to view\set the settings for:
>
> set shmsys:shminfo_shmmax=4294967295
> set shmsys:shminfo_shmmin=1
> set shmsys:shminfo_shmseg=10
> set shmsys:shminfo_shmmni=100
> set semsys:seminfo_semmns=1000
> set semsys:seminfo_semmni=100
> set semsys:seminfo_semmsl=250
>
> Yes, I read the manual(s). They only cover Solaris 8-9. Oracle's docs
> on Solaris 10 are not clear to me (or even Oracle). I have a SR open
> with Oracle and even they seem stumped to advise in detail. I am not a
> UNIX admin.
>
> Thanks for you help,
>
> Michael42
>
Have you seen the following metalink document?
Subject: Running Oracle Database in Solaris 10 Containers - Best Practices Doc ID: Note:317257.1 Type: WHITE PAPER Last Revision Date: 22-JUL-2005 Status: PUBLISHED
# Ths sysadmins did the following to change the settings for the default project so that oracle databases could use the maximum amount of memory when starting up. I don't really know much about this stuff, so please check first when using any of this information.
#This will change the default project that oracle is assigned to, and will enable Oracle access to container resources without DBAs needing to modify their ksh scripts.
#Add the following line to /etc/user_attr
oracle::::project=ora_dev
Here are some notes that I have made about Solaris 10 and how to view the settings:
######################################################################## SOLARIS ZONES CONTAINERS SOLARIS10 SOLARIS 10
#######################################################################
# checking kernel parameters
sysdef | egrep -i "sem|shm|noexec"
egrep -i "semm|shm|noexec" /etc/system
prctl $$ | awk '/max-sem-ids/,/system/' ; prctl $$ | awk '/max-sem-nsems/,/system/'
#The following related parameters have been removed. If these parameters are included in the /etc/system file on a Solaris system, the parameters are ignored..
Parameter Name Brief Description
--------------------- ----------------------------------------------------semsys:seminfo_semmns Maximum number of System V semaphores on the system. semsys:seminfo_semmnu Total number of undo structures supported by the System V semaphore system.
semsys:seminfo_semmap Number of entries in semaphore map semsys:seminfo_semvmx Maximum value a semaphore can be set to. semsys:seminfo_semaem Maximum value that a semaphore's value in an undostructure can be set to
semsys:seminfo_semusz The size of the undo structure shmsys:shminfo_shmseg Number of segments,per process shmsys:shminfo_shmmin Minimum shared memory segment size msgsys:msginfo_msgmap The number of entries in a message map msgsys:msginfo_msgssz Size of the message segment msgsys:msginfo_msgseg Maximum number of message segments msgsys:msginfo_msgmax Maximum size of System V message.
#As described above, many /etc/system parameters are removed simply because they are no longer required. The remaining parameters have more reasonable defaults, enabling more applications to work out-of-the- box without requiring these parameters to be set.
The following table describes the default value of the remaining /etc/system parameters.
Resource Control Obsolete Tunable Old Default Value New Default Value
------------------------ ---------------- ----------------- ----------------- process.max-msg-qbytes msginfo_msgmnb 4096 65536 process.max-msg-messages msginfo_msgtql 40 8192 process.max-sem-ops seminfo_semopm 10 512 process.max-sem-nsems seminfo_semmsl 25 512 project.max-shm-memory shminfo_shmmax 0x800000 1/4 of physical memory project.max-shm-ids shminfo_shmmni 100 128 project.max-msg-ids msginfo_msgmni 50 128 project.max-sem-ids seminfo_semmni 10 128
#Setting System V IPC parameters for Oracle installation :
#The following table identifies the values recommended for /etc/system parameters by the Oracle Installation Guide and the corresponding Solaris resource controls.
Oracle Required in Resource Default Parameter Recommendation Solaris 10 Control Value ------------------------------ -------------- ----------- ---------------------- ---------------------- SEMMNI (semsys:seminfo_semmni) 100 Yes project.max-sem-ids 128 SEMMNS (semsys:seminfo_semmns) 1024 No N/A N/A SEMMSL (semsys:seminfo_semmsl) 256 Yes project.max-sem-nsems 512 SHMMAX(shymsys:shminfo_shmmax) Yes project.max-shm-memory 1/4 of physical memory SHMMIN (shmsys:shminfo_shmmin) 1 No N/A N/A SHMMNI (shmsys:shminfo_shmmni 100 Yes project.max-shm-ids 128 SHMSEG (shmsys:shminfo_shmseg) 10 No N/A N/A
#Error:*** Alert: The following kernel parameters do not meet the recommended values for database installation:
Obsolete Parameters Resource (Solaris 10) Default (Solaris 8,9) Control Value ------------------------------ ---------------------- -------------- semmni is less than 100 project.max-sem-ids 128 semmns is less than 256 N/A N/A semmsl is less than 256 project.max-sem-nsems 512 shmmax is less than 4294967295 project.max-shm-memory 1/4 of phy mem shmmin is less than 1 N/A N/A shmmni is less than 100 project.max-shm-ids 128 shmseg is less than 10 N/A N/A
echo "100, semmni replaced by";
prctl $$ | awk '/max-sem-ids/,/system/' ;
echo "1024, semmns replaced by";
echo "Not required in Solaris 10";
echo "256, semmsl replaced by";
prctl $$ | awk '/max-sem-nsems/,/system/';
echo "16Gb, shmmax replaced by";
prctl $$ | awk '/max-shm-memory/,/system/';
echo "1, shmmin replaced by";
echo "Not required in Solaris 10";
echo "100, shmmni replaced by";
prctl $$ | awk '/max-shm-ids/,/system/';
echo "10, shmseg replaced by";
echo "Not required in Solaris 10";
#
echo; echo "100, semmni replaced by"; prctl $$ | awk '/max-sem-ids/,/system/'
; echo ;echo "1024, semmns replaced by"; echo "Not required in Solaris 10";
echo ; echo "256, semmsl replaced by"; prctl $$ | awk
'/max-sem-nsems/,/system/'; echo ; echo "16Gb, shmmax replaced by"; prctl $$ |
awk '/max-shm-memory/,/system/'; echo; echo "1, shmmin replaced by"; echo
"Not required in Solaris 10"; echo; echo "100, shmmni replaced by"; prctl $$ |
awk '/max-shm-ids/,/system/'; echo; echo "10, shmseg replaced by"; echo "Not
required in Solaris 10";
# What projects am I in
id -p
Received on Tue Apr 11 2006 - 20:52:37 CDT