Kernel Parameter settings for Solaris 10
I want to install oracle 10g in a solaris 10 environment for which I need to set the values for the kernel parameters in the system file.
For this, I referred the installation guide which says the following:
verify that the kernel parameters shown in the table are set to values greater than or equal to the recommended value shown.
The instructions for setting the values for the kernel parameters are confusing me. Can anyone help.....
Re: Kernel Parameter settings for Solaris 10
Step 1
Decide which resource controls you would like to change.
- Resource Control - project.max-shm-memory
Purpose - Defines the total amount of shared memory allowed for a project
Maximum Value [Default Value] - [Default = 25% of the physical memory]
Note -
It is recommended that this resource control not be set. However, if you have to set the control to accommodate other resource consumers, ensure that the value is not less than 2MB = [2097152].
- Resource Control - project.max-shm-ids*
Purpose - Defines the maximum number of shared memory IDs allowed for a project
Maximum Value [Default Value] - 16777216 [Default = 128]
- Resource Control - project.max-sem-ids*
Purpose - Defines the maximum number of semaphores allowed for a project
Maximum Value [Default Value] - 16777216 [Default = 128]
Step 2
Use either (i) projmod command or (ii) prctl command from the client to change the value of any resource control to a value that does not exceed the maximum value indicated for the control.
(i) The projmod command makes a "permanent" change to the value of the affected control (i.e., until you change the value subsequently), while
(ii) the prctl command makes a temporary change to the value (i.e., the value reverts back to the previous value upon system reboot).
Be sure to check the appropriate man page for these commands.
Information on the projmod command is located at
http://docs.sun.com/app/docs/doc/816...bb1kqch?a=view. Information on the prctl command is located at
http://docs.sun.com/app/docs/doc/816...bb0m9p6?a=view.
If the system will be configured as an iDataAgent, update each affected control value to accommodate 10 streams. If the system will be configured as a MediaAgent, allocate no fewer than 100 additional streams per affected control.
The following commands and examples are based on the Solaris 10 General Availability (GA) version and may be subject to change.
The command syntax for the projmod command is as follows:
projmod [-n] [-f filename] [-p projid [-o]] [-c comment] [-a|-s|-r] [-U user [,user...]] [-G group [,group...]] [[-K name[=value[,value...]...]]] [-I new_projectname] project
In Solaris 10, the /etc/project file contains all the "projects" that are associated with a processor. By default, root gets associated with "project" user.root. Therefore, for example, suppose that user.root includes the following: project.max-shm-ids=(priv,640,deny)
Now, suppose you want to change the value of project.max-shm-ids to 1280. To do so, you can issue the following command:
projmod -s -K "project.max-shm-ids=(priv,1280,deny)" user.root
The command syntax for the prctl command is as follows:
prctl [-P] [-t[basic| privileged| system]] [-n name] [-v value] [-e| d action] [-p pid] [-i idtype] id...
For example, suppose you want to display the current value of project.max-shm-ids. To do this, you can issue the following command:
prctl -P -n project.max-shm-ids -i project user.root
The following output may be displayed:
project: 1: user.root
project.max-shm-ids privileged 640 - deny -
project.max-shm-ids system 16777216 max deny –
This indicates that the current value of project.max-shm-ids is 640.
Now, suppose you want to change the value of project.max-shm-ids to 1280. To do so, you can issue the following command:
prctl -n project.max-shm-ids -v 1280 -r -i project user.root
Step 3
Reboot the system to allow the changes to take effect.
Re: Kernel Parameter settings for Solaris 10
Adding entries to /etc/system is an old option of setting the Oracle Kernel parameters. Now-a-days, Project settings is the preferred and more flexible option.
however, both the methods works fine. you can use either of them.
Re: Kernel Parameter settings for Solaris 10
You are not wrong by getting confused referring the installation guide since the official Oracle installation guide for Solaris 10 x86-64 explains the process, but it actually contains incorrect and incomplete information.
So, ignore the Oracle documentation and set your kernel parameters by doing the following:
sudo projadd -U oracle -G oinstall user.oracle
sudo projmod -sK "project.max-shm-memory=(priv,14294967295,deny)" user.oracle
sudo projmod -sK "process.max-sem-ids=(priv,1024,deny)" user.oracle
sudo projmod -sK "process.max-sem-nsems=(priv,1024,deny)" user.oracle
sudo projmod -sK "process.max-shm-ids=(priv,1024,deny)" user.oracle
To ensure you have entered the correct parameters, look at /etc/project . Well, I would suggest looking at id -p as the oracle user to make sure that the user you are running oracle as, is in the correct project:
id -p
uid=2000(oracle) gid=2000(oinstall) projid=100(user.oracle)