Comparison Kernel parameter Solaris9 and Solaris10

SERVER - Solaris9 - Oracle9i .....[compare]..... SERVER - solaris10 - Oracle10g

[ Solaris9] forceload:sys/shmsys
[Solaris10] recommended not set, server impact long time for boot up

[ Solaris9] forceload:sys/semsys
[Solaris10]recommended not set, server impact long time for boot up

[ Solaris9] set shmsys:shminfo_shmmax=51539607552
[Solaris10] projmod -s -K "project.max-shm-memory=(priv,48g,deny)" user.oracle

[ Solaris9] set shmsys:shminfo_shmmin=1
[Solaris10] Obsolete in the Solaris 9 release, Solaris 10 also

[ Solaris9] set shmsys:shminfo_shmmni=2048
[Solaris10] projmod -s -K "project.max-shm-ids=(priv,2048,deny)" user.oracle

[ Solaris9] set shmsys:shminfo_shmseg=200
[Solaris10] Obsolete in the Solaris 9 release, Solaris 10 also

[ Solaris9] set semsys:seminfo_semmni=1000
[Solaris10] projmod -s -K "project.max-sem-ids=(priv,1000,deny)" user.oracle

Read the rest of this entry »


Kernel setup for Solaris 10 using project files - Special for Oracle10g

1. Recommended method for modifying the /etc/project file is to use the "projadd" and "projmod" :

a.

bash> projadd -c "Oracle" 'user.oracle'

b.

bash> projmod -s -K "project.max-shm-memory=(privileged,10GB,deny)" 'user.oracle'

c. verify with

bash> cat /etc/project

or

bash> prctl -i project user.oracle

2. Resource Control assignments made in this way (in the /etc/project file) are permanent, and will survive a system re-boot.

3. There is also an "on-the-fly" way to temporarily set Resource Control assignments using the prctl(1) command.

a. Should we need to temporarily increase the setting to 48 GB:
For example, assuming the preceding /etc/project

bash> prctl -n project.max-shm-memory -i project user.oracle
project: 100: user.oracle
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-shm-memory
privileged 16.0GB - deny -
system 16.0EB max deny -
bash> prctl -n project.max-shm-memory -r -v 48GB -i project user.oracle
bash> prctl -n project.max-shm-memory -i project user.oracle
project: 100: user.oracle
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-shm-memory
privileged <strong>48</strong> .0GB - deny -
system 16.0EB max deny

b. fix parameter ; entry new value on max-shm

bash> vi /etc/project

values such as 48GB instead of the 51539607552

project.max-shm-memory=(privileged, 51539607552, deny);

Disable Telnet Session

Bellow this, is procedure to block/stop/disable telnet service at solaris 10

bash> vi /etc/inetd.conf
(then put comment out ‘#’ below)
#telnet stream tcp6 nowait root /usr/sbin/in.telnetd in.telnetd

(then stop and restart services)

bash> /etc/rc2.d/S72inetsvc stop
bash> /etc/rc2.d/S72inetsvc start

or

bash> /etc/init.d/inetsvc stop
bash> /etc/init.d/inetsvc start

Update:
Solaris 10 x86 updae 6, telnet was offline/disable by default

bash>cat /etc/release 
                       Solaris 10 10/08 s10x_u6wos_07b X86
           Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
                        Use is subject to license terms.
                            Assembled 27 October 2008
bash>svcs |grep telnet
offline         13:08:13 svc:/network/telnet:default

Setting NTP Server & Client in Solaris 10 (update)

Setting NTP ( Network Time Protocol) on Solaris 10

Configuring an NTP Server
1. Edit file ntp.conf

bash> cp /etc/inet/ntp.server /etc/inet/ntp.conf
bash> vi /etc/inet/ntp.conf

Add server address for ntp server

server 1.id.pool.ntp.org
server 1.asia.pool.ntp.org
server 3.asia.pool.ntp.org
broadcast 224.0.1.1 ttl 4
 
enable auth monitor
driftfile /var/ntp/ntp.drift
statsdir /var/ntp/ntpstats/
filegen peerstats file peerstats type day enable
filegen loopstats file loopstats type day enable
filegen clockstats file clockstats type day enable
 
keys /etc/inet/ntp.keys
trustedkey 0
requestkey 0
controlkey 0

Save your change configuration

2. Refresh daemon NTP

bash> touch /var/ntp/ntp.drift
bash> svcadm enable svc:/network/ntp

Configuring an NTP Client
1. Edit file ntp.conf

bash> cp /etc/inet/ntp.client /etc/inet/ntp.conf
bash> touch /var/ntp/ntp.drift
bash> vi /etc/inet/ntp.conf
    server 10.10.10.1 prefer # IP NTP Server  Primary
    server 10.10.10.2         # IP NTP Server Secondary
    driftfile /var/ntp/ntp.drift

2. Refresh daemon NTP

bash> svcadm enable svc:/network/ntp
bash> svcadm refresh svc:/network/ntp
bash> svcadm restart svc:/network/ntp

You can use "ntpq -p" to monitor ntpd's performance.


Change SHMMAX without rebooting

Shmmax parameter is supposed to be the maximum size of a single shared memory segments (and the oracle sga is build out of these shared memory segments).

New to the Solaris 8 release is the modular debugger, mdb(1), which is unique among
available Solaris debuggers because it is easily extensible. Mdb(1) also includes a number of desirable usability features including command-line editing, command history, built-in output pager, syntax checking, and command pipelining. This is the recommended post-mortem debugger for the kernel.

To change the value of the integer variable shmmax from 8GB to 10 GB without Reboot Server, do the following

bash> cp /etc/system /etc/system_old
bash> grep shminfo_shmmax /etc/system
set shmsys:shminfo_shmmax=8589934592
bash> mdb -k
Loading modules: [ unix krtld genunix ip usba s1394 ipc nfs ptm logindmux random ]
> shminfo_shmmax /D
shminfo_shmmax:
shminfo_shmmax: 1
> shminfo_shmmax /E
shminfo_shmmax:
shminfo_shmmax: 8589934592
> $q

At we can see the "shminfo_shmmax" use a 64 bit value, let's start to change the value

bash> mdb -kw
Loading modules: [ unix krtld genunix ip usba s1394 ipc nfs ptm logindmux random ]
> shminfo_shmmax /Z 0t10737418240
shminfo_shmmax: 0x5f5e10000             =       0x19000
> shminfo_shmmax /E
shminfo_shmmax:
shminfo_shmmax: 10737418240
> $q

After successfully, change the parameter "shminfo_shmmax" at /etc/system with same value on mdb

bash> vi /etc/system
set shmsys:shminfo_shmmax=10737418240