Notes:
-
the '#' at first line mean is the command must be run as root.
-
the '$' at first line mean is the command must be run as user, in this case user 'oracle’.
NODE 1: Solaris 5.10
-
pcn0 (public net) : 192.168.1.101 rac1-solaris
-
pcn0:1 (virtual net) : 192.168.1.111 rac1-vip
-
pcn1 (private net) : 192.168.2.201 rac1-priv
NODE 2: Solaris 5.10
-
pcn0 (public net) : 192.168.1.102 rac2-solaris
-
pcn1:1 (virtual net) : 192.168.1.112 rac2-vip
-
pcn1 (private net) : 192.168.2.202 rac2-priv
FOR EACH NODE, install solaris an usual
FOR EACH NODE, configure networks; Usually IP address has been set in install process.
Set '/etc/hosts’ in all node.
FOR EACH NODE, turn on NTP client; or pick one node as NTP server.
@ see '/etc/inet/ntp.client' @ see '/etc/inet/ntp.server'
FOR EACH NODE, set udp buffer.
# ( cat <<-EOF #!/usr/bin/bash case "$1" in 'start') ndd -set /dev/udp udp_xmit_hiwat 65536 ndd -set /dev/udp udp_recv_hiwat 65536 ;; 'status') ndd /dev/udp udp_xmit_hiwat ndd /dev/udp udp_recv_hiwat ;; *) echo "usage: $0 {start | status}" exit 1 ;; esac EOF ) > /etc/init.d/rac.udp.sh # chmod +x /etc/init.d/rac.udp.sh # ln -s /etc/init.d/rac.udp.sh /etc/rc3.d/S89rac.udp.sh
FOR EACH NODE, create group for oracle
# groupadd -g 200 oinstall # groupadd -g 201 dba # groupadd -g 202 oper
FOR EACH NODE, create user oracle
# mkdir /export/home/oracle # chown oracle:dba /export/home/oracle # useradd -u 200 -g oinstall -G dba,oper -d /export/home/oracle # oracle # passwd oracle
FOR EACH NODE, make sure nobody is exist
# id nodoby
FOR EACH NODE, configure solaris 10 projects attributes
# projadd group.dba # projmod -sK "project.max-shm-memory=(privileged,4294967295,deny)" # group.dba # projmod -sK "project.max-sem-ids=(privileged,100,deny)" group.dba # projmod -sK "project.max-shm-ids=(privileged,100,deny)" group.dba # projmod -sK "project.max-sem-nsems=(privileged,256,deny)" group.dba # echo "oracle::::type=normal;project=group.dba" >> /etc/user_attr
or/and add this to `/etc/system’,
set noexec_user_stack=1 set semsys:seminfo_semmni=100 set semsys:seminfo_semmns=1024 set semsys:seminfo_semmsl=256 set semsys:seminfo_semvmx=32767 set shmsys:shminfo_shmmax=4294967295 set shmsys:shminfo_shmmin=1 set shmsys:shminfo_shmmni=100 set shmsys:shminfo_shmseg=10
FOR EACH NODE, create authorized keys for automatic login for oracle user
$ mkdir -p .ssh $ chmod 700 .ssh $ ssh-keygen -t rsa $ ssh-keygen -t dsa
ONLY ON NODE 1, combine all public keys into one file
$ ssh rac1-solaris cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ ssh rac1-solaris cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys $ ssh rac2-solaris cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ ssh rac2-solaris cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
ONLY ON NODE 1, copy the "~/.ssh/authorized_keys" file to others Node
$ scp ~/.ssh/authorized_keys rac2:~/.ssh/
FOR EACH NODE, check software requirements
$ pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibm SUNWlibms SUNWsprot \ SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt
and install the missing packages, in this example from dvdrom
# pkgadd -d /cdrom/cdrom0/Solaris_10/Product/ SUNWi1cs # pkgadd -d /cdrom/cdrom0/Solaris_10/Product/ SUNWi15cs
$ echo "umask 022" > ~/.profile $ echo "export ORACLE_BASE=/export/home/oracle" >> ~/.profile $ . ~/.profile
ONLY ON NODE 1, install clusterware,
$ ./clusterware/runInstaller
Appendix A: CVU
Checking cluster connectivity
$ ./runcluvfy.sh comp nodecon -n rac1-solaris,rac2-solaris -verbose
Checking os dependencies
$ ./runcluvfy.sh stage -post hwos -n rac1,rac2 -verbose
Appendix B: iscsi disk : initiator, target and client
example of disk layout:
Part Tag Flag Cylinders Size Blocks 0 unassigned wm 0 0 (0/0/0) 0 1 unassigned wm 0 0 (0/0/0) 0 2 backup wu 0 - 1301 9.97GB (1302/0/0) 20916630 3 unassigned wm 2 - 12 101.98MB (13/0/0) 208845 4 unassigned wm 2 - 15 23.53MB (3/0/0) 48195 5 unassigned wm 2 - 1301 9.85GB (1286/0/0) 20659590 6 unassigned wm 0 0 (0/0/0) 0 7 unassigned wm 0 0 (0/0/0) 0 8 boot wu 0 - 0 7.84MB (1/0/0) 16065 9 unassigned wm 0 0 (0/0/0) 0 # iscsitadm create initiator --iqn iqn.rac1-solaris.dev.rdsk.c2t0d0 # asmvol00 # iscsitadm create target --type disk -b /dev/rdsk/c2t0d0s3 ocr # iscsitadm create target --type disk -b /dev/rdsk/c2t0d0s4 vot # iscsitadm create target --type disk -b /dev/rdsk/c2t0d0s5 asmdisk05