kilabit.info
Build | GitHub | Mastodon | SourceHut |

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