News for May 2007

Solaris 9 SSH Patch 113273-13 breaks ssh OpenLDAP logins

Get rid of the patch!

patchrm 113273-13 
Posted: May 30th, 2007
Categories: Uncategorized
Tags:
Comments: No Comments.

Sun Cluster 3.1 Uninstall

From a cluser node:

scconf -a -T node=node01 

On the node to be uninstalled:

reboot -- -x 

Uninstall:

scinstall -r 
Posted: May 30th, 2007
Categories: Uncategorized
Tags:
Comments: No Comments.

Sun Cluster 3.1 Install for Oracle 10g non-RAC

On node01:

scinstall -ik \
 -C cluster01 \
 -F \
 -T node=node01,node=node02,authtype=sys \
 -A trtype=dlpi,name=ce4 -A trtype=dlpi,name=ce5 \
 -B type=switch,name=switch1 -B type=switch,name=switch2 \
 -m endpoint=:ce4,endpoint=switch1 \
 -m endpoint=:ce5,endpoint=switch2 \
 -P task=quorum,state=INIT

On node02:

 scinstall -ik \
 -C cluster01 \
 -N node01 \
 -A trtype=dlpi,name=ce4 -A trtype=dlpi,name=ce5 \
 -m endpoint=:ce4,endpoint=switch1 \
 -m endpoint=:ce5,endpoint=switch2

Create a Failover Resource Group:

scrgadm -a -g cluster01 -h node01,node02

Create a Logical Network Resource:

scrgadm -a -L -g cluster01 -l cluster01

Activate the Resource Group:

scswitch -Z -g cluster01

Create Global Devices:

scgdevs

Create a metaset:

metaset -s cluster01 -a -h node01 node02

Take ownership:

metaset -s cluster01 -t

Add drives:

scdidadm -L or -l metaset -s cluster01 -a /dev/did/dsk/d10

Add metadevices:

vi /etc/lvm/md.tab cluster01/d17 1 1 /dev/did/rdsk/d17s0

Create metadevices:

metainit -s cluster01 -a

Create cluster filesystems:

newfs /dev/md/cluster01/dsk/d10

Update vfstab:

vi /etc/vfstab 
# do not use global for mount options. this will cause both nodes to mount the filesystems

Verify Configuration:

sccheck

Add HA Storage Plus Resource:

scrgadm -a -j cluster01-hasp -g cluster01 -t SUNW.HAStoragePlus:2 \
 -x FilesystemMountPoints="/u00/oracle,/u01,/u02,/u03,/u04, \
 /u05,/u06,/u00/sct,/u11,/u12,/u13,/u14,/u15,/u16" 
 
scrgadm -c -j cluster01-hasp -y R_description="Failover data \
 service resource for SUNW.HAStoragePlus:2"

Enable HA Storage Plus Resource:

scswitch -e -j cluster01-hasp 
scswitch -e -M -j cluster01-hasp

Add Oracle Listener Resource:

scrgadm -a -j cluster01-oracle-listener -g cluster01 \
 -t SUNW.oracle_listener:5 -x ORACLE_HOME="/u00/oracle/product/10.2.0/Db_1" \
 -x Listener_name="LISTENER_PROD" 
scrgadm -c -j cluster01-oracle-listener -y R_description="Failover data \
 service resource for SUNW.oracle_listener:5"

Enable Oracle Listen Resource:

scswitch -e -j cluster01-oracle-listener 
scswitch -e -M -j cluster01-oracle-listener

Test it out, switch active node to node02!

scswitch -z -g cluster01 -h node02
Posted: May 29th, 2007
Categories: database, high availability, oracle, servers, sun, sun cluster
Tags:
Comments: No Comments.

Solaris 9 CDE Screensaver with LDAP PAM

Users were unable to unlock their screen saver. The following was added to pam.conf.

dtsession auth sufficient pam_ldap.so.1 use_first_pass 
Posted: May 26th, 2007
Categories: Uncategorized
Tags:
Comments: No Comments.

Mounting ISOs on Linux

mount -o ro,loop=/dev/loop0 /path/to/file.iso /mnt 

Note: You can use /dev/loop1 or /dev/loop2 etc if you need more loop devices

Posted: May 22nd, 2007
Categories: Uncategorized
Tags:
Comments: No Comments.

Troubleshooting Netbackup Linux & Solaris Clients

 nbu-client # /usr/openv/netbackup/bin : ./bpclntcmd -self current domain = sub.domain.com NIS does not seem to be running: (10) can't communicate with ypbind gethostname() returned: nbu-client host nbu-client: nbu-client at 192.168.1.10 (0x966c04d8) checkhname: aliases: or getent hosts `hostname` nbu-client # /usr/openv/netbackup/bin : ./bpclntcmd -server nbu-master-server host nbu-master-server: nbu-master-server at 10.0.0.10 (0x966c0438) checkhname: aliases: 
Posted: May 21st, 2007
Categories: Uncategorized
Tags:
Comments: No Comments.

Solaris Kernel Tuning for Oracle

Some previous Solaris 10 kernel parameters are now handled by Solaris Resource Control.
Solaris 10 Kernel Parameters

# Oracle /etc/system kernel configuration
* oracle START
set shmsys:shminfo_shmmax=0xffffffffffffffff
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=200
set shmsys:shminfo_shmseg=200
set semsys:seminfo_semmap=1024
set semsys:seminfo_semmni=2048
set semsys:seminfo_semmns=2048
set semsys:seminfo_semmnu=2048
set semsys:seminfo_semume=200
set semsys:seminfo_semmsl=2048
forceload: sys/shmsys
forceload: sys/semsys
forceload: sys/msgsys
* bset semsys:seminfo_semopm=100
* bset semsys:seminfo_semvmx=32767
* oracle END
msgmni
- set msgsys:msginfo_msgmni=3774
number of queue identifiers msgmax
- set msgsys:msginfo_msgmax=4096
maximum message size msgmnb
- set msgsys:msginfo_msgmnb=360000
- maximum number of bytes on the message queue msgtql
- set msgsys:msginfo_msgtql=2500
- number of message headers shmmni
- set shmsys:shminfo_shmmni=100
- maximum number of shared memory segments in the entire system shmseg
- set shmsys:shminfo_shmseg=10
- maximum number of shared memory segments one process can attach semmnu
- set semsys:seminfo_semmnu=1042
- number of semaphore undo structures semopm
- set semsys:seminfo_semopm=12
- maximum number of operations for each semopm call semume
- set semsys:seminfo_semume=42
- maximum number of IPC semaphores that a given process can have undo operations pending on semaem
- set semsys:seminfo_semaem=16384 - maximum amount a semaphore value can be changed by a semaphore undo operation rlim_fd_max
- set rlim_fd_max=4117
- hard limit on file descriptors that a single process can have open rlim_fd_cur
- set rlim_fd_cur=1024
- soft limit of open files semmsl
- set semsys:seminfo_semmsl=256
- minimum recommended value for initial installation only shmmin
- set shmsys:shminfo_shmmin=1
- minimum allowable size of a single shared memory segment shmmax
- set shmsys:shminfo_shmmax=4294967295
- maximum allowable size of one shared memory segment (4 GB = 4294967295) semmni
- set semsys:seminfo_semmni=554 - maximum number of semaphore sets in the entire system

Replaced by resource control in solaris 10

semmni - semsys:seminfo_semmni - project.max-sem-ids
semmsl - semsys:seminfo_semmsl - project.max-sem-nsems
shmmax - shmsys:shminfo_shmmax - project.max-shm-memory
shmmni - shmsys:shminfo_shmmni - project.max-shm-ids

Adding the parameters to Resource Control

id -p oracle uid=301(oracle) gid=301(dba) projid=3(default)
projadd oracle
echo "oracle::::project=oracle" >> /etc/user_attr
id -p oracle uid=301(oracle) gid=301(dba) projid=100(oracle)
prctl -n project.max-shm-memory -i project oracle project: 100: oracle NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT project.max-shm-memory privileged 1.17TB - deny - system 16.0EB max deny -
prctl -n project.max-shm-memory -v 4gb -r -i project oracle
projmod -s -K "project.max-shm-memory=(priv,4gb,deny)" oracle
prctl -n project.max-shm-memory -i project oracle project: 100: oracle NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT project.max-shm-memory privileged 4.00GB - deny - system 16.0EB max deny -
prctl -n project.max-sem-ids -i project oracle project: 100: oracle NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT project.max-sem-ids privileged 128 - deny - system 16.8M max deny - prctl -n project.max-sem-ids -v 1108 -r -i project oracle
projmod -s -K "project.max-sem-ids=(priv,1108,deny)" oracle
prctl -n project.max-sem-ids -i project oracle project: 100: oracle NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT project.max-sem-ids privileged 1.11K - deny - system 16.8M max deny -

Adding the parameters to /etc/system

cp /etc/system /etc/system.pre.oracle.cs
echo "set msgsys:msginfo_msgmni=7548" >> /etc/system
echo "set msgsys:msginfo_msgmax=8192" >> /etc/system
echo "set msgsys:msginfo_msgmnb=720000" >> /etc/system
echo "set msgsys:msginfo_msgtql=5000" >> /etc/system
echo "set shmsys:shminfo_shmseg=34" >> /etc/system
echo "set semsys:seminfo_semmnu=2084" >> /etc/system
echo "set semsys:seminfo_semopm=24" >> /etc/system
echo "set semsys:seminfo_semume=84" >> /etc/system
echo "set semsys:seminfo_semaem=32768" >> /etc/system
echo "set rlim_fd_max=8234" >> /etc/system
echo "init 6"
Posted: May 18th, 2007
Categories: Uncategorized
Tags:
Comments: No Comments.

Making more from a one line shell script

 #!/usr/bin/perl open (FILE, $ARGV[0]) or die "Error: Cannot open file.\n"; @line = ; close FILE; foreach (@line) { chomp; print "echo \"" . "------------------" . "\"" . "\n"; print "echo \"" . "started - `date`" . "\"" . "\n"; print "echo \"" . $_ . "\"" . "\n"; print $_ . "\n"; print "echo \"" . "finished - `date`" . "\"" . "\n"; print "\n"; } 
Posted: May 17th, 2007
Categories: Uncategorized
Tags:
Comments: No Comments.

Using Mac OS X – niutil & nidump

niutil -list . /exports niutil -createprop . 160 "opts" "maproot=root", "network=X.X.X.0,192.168.2.0", "mask=255.255.255.0" niutil -deleteprop . 160 "opts" ro niutil -deleteprop / 160 "opts" ro nidump -r /exports . 
Posted: May 12th, 2007
Categories: Uncategorized
Tags:
Comments: No Comments.

Quick Examples of Perl Regular Expressions

EXPRESSION FUNCTION /abc/ Matches abc anywhere within the string /^abc/ Matches abc at the beginning of the string /abc$/ Matches abc at the end of the string /a|b/ Matches either a or b /ab{m,n}c/ Matches an a followed by m-n b's, followed by c, where m,n are nonnegative integers, m>n. If the second number is omitted, such as /ab {m,}c/, the expression will match m or more b's. /ab*c/ Matches an a followed by zero or more b's, followed by c. /ab+c/ Matches an a followed by one or more b's followed by c. /ab?c/ Matches an a followed by an optional b followed by c. In Perl 5, the expression: /ab*?c/matches an a followed by as few b's as possible. /./ Matches any single character except a newline (\n) /a..d / matches a a followed by any two characters, followed by d. /[abc]/ Matches any one of a or b or c. A pattern of /[abc]+/ matches strings such as abcab, acbc, abbac, and so on. /\d/ Matches a digit. Multipliers can be used. (/\d+/ matches one or more digits.) /\w/ Matches a character classified as a word. /\s/ Matches a character classified as whitespace. /\b/ Matches a word boundary or a backspace. /cde\b/ matches cde, but not cdef. However, \b matches a backspace character inside a class. that is, [\b]. /[^abc]/ Matches a character that is not in the class. /[^abc ]+/ will match a string such as defg. /\D/ Matches a character that is not a digit. /\W/ Matches a character that is not a word. /\S/ Matches a character that is not whitespace. /\B/ Requires that there is no word boundary. /perl\B/ matches perl, but not perl script. /\*/ Matches the * character. Use the \ character to escape characters that have significance in a regular expression. /(abc)/ Matches abc anywhere within the string, but the parentheses act as memory, storing abc in the variable $1. /abc/i Ignores case. Matches either abc, Abc, ABc, and so on. 
Posted: May 10th, 2007
Categories: Uncategorized
Tags:
Comments: No Comments.