Solaris裸设备安装三节点RAC102(一)

利用裸设备安装Solaris上的三节点Oracle 10.2 RAC

这一篇介绍环境准备工作。

 

 

三个节点中的两个服务器的版本是Solaris8,另外一个是Solaris10。对于Solaris8安装10gRAC,需要打以下的补丁:

108528-23, SunOS 5.8: kernel update patch

108652-66, X11 6.4.1: Xsun patch

108773-18, SunOS 5.8: IIIM and X I/O Method patch

108921-16, CDE 1.4: dtwm patch

108940-53, Motif 1.2.7 and 2.1.1: Runtime lib. patch for Solaris 8

108987-13, SunOS 5.8: Patch for patchadd and patchrm

108989-02, /usr/kernel/sys/acctctl & /.../exacctsys patch

108993-45, SunOS 5.8: LDAP2 client, libc, libthread and libnsl libraries patch

109147-24, SunOS 5.8: linker patch

110386-03, SunOS 5.8: RBAC Feature Patch

111023-02, SunOS 5.8: /kernel/fs/mntfs and ... sparcv9/mntfs

111111-03, SunOS 5.8: /usr/bin/nawk patch

111308-03, SunOS 5.8: /usr/lib/libmtmalloc.so.1 patch

111310-01, SunOS 5.8: /usr/lib/libdhcpagent.so.1 patch

112396-02, SunOS 5.8: /usr/bin/fgrep patch

111721-04, SunOS 5.8: Math Library (libm) patch

112003-03, SunOS 5.8: Unable to load fontset ... iso-1 or iso-15

112138-01, SunOS 5.8: usr/bin/domainname patch

其中最后三个是可选的。这些补丁可以单独打,也可以通过J2SE补丁包一起打。单个补丁的下载和安装可以参考:http://yangtingkun.itpub.net/post/468/252372

下面简单介绍一下安装J2SE Patch Cluster的步骤:

安装补丁的下载地址是:http://sunsolve.sun.com/private-cgi/show.pl?target=patches/patch-access

选择J2SE Solaris 8,下载到本地后,执行unzip解压:

# unzip J2SE_Solaris_8_Recommended.zip

# cd J2SE_Solaris_8_Recommended
# ./install_cluster

安装之后为了使补丁生效需要重启系统:

# reboot

当然,也可以等到一会修改系统参数后一起重启:

对于Solaris10系统,不需要任何的补丁,Oracle10g要求的版本小于Solaris 10提供的版本。

服务器操作系统和补丁都安装结束后,下面检查系统是否满足RAC的安装需求,这些检查需要在三个服务器上进行:

# /usr/sbin/prtconf |grep "Memory Size"
# /usr/sbin/prtconf | grep "Memory size"
Memory size: 4096 Megabytes
# /usr/sbin/swap -s
total: 20928k bytes allocated + 4680k reserved = 25608k used, 11801848k available
# df -k /tmp
Filesystem            kbytes    used   avail capacity  Mounted on
swap                 11799856      24 11799832     1%    /tmp
# df -k /data
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/dsk/c1t1d0s7    35009161 1427455 33231615     5%    /data
# /bin/isainfo -kv
64-bit sparcv9 kernel modules

系统满足安装需要,下面可以创建oracle用户和相关组了,在一个节点上先创建:

# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# mkdir /export/home/oracle
# /usr/sbin/useradd -g oinstall -G dba -d /export/home/oracle oracle
# chown oracle:oinstall /export/home/oracle
# chown -R oracle:oinstall /data
# passwd oracle

下面检查nobody用户是否存在,如果nobody不存在,需要创建该用户。并检测oracle的用户iddbaoinstall的组id

# id nobody
uid=60001(nobody) gid=60001(nobody)
# id oracle
uid=100(oracle) gid=100(oinstall)
# more /etc/group
root::0:root
other::1:
bin::2:root,bin,daemon
sys::3:root,bin,sys,adm
adm::4:root,adm,daemon
uucp::5:root,uucp
mail::6:root
tty::7:root,tty,adm
lp::8:root,lp,adm
nuucp::9:root,nuucp
staff::10:
daemon::12:root,daemon
sysadmin::14:
nobody::60001:
noaccess::60002:
nogroup::65534:
oinstall::100:
dba::101:oracle

根据上面的信息,在另两台服务器上建立组和用户:

# groupadd -g 100 oinstall
# groupadd -g 101 dba
# mkdir /export/home/oracle
# useradd -u 100 -g oinstall -G dba -d /export/home/oracle oracle
# chown oracle:oinstall /export/home/oracle
# chown -R oracle:oinstall /data
# id nobody
uid=60001(nobody) gid=60001(nobody)
# passwd oracle

下面为ORACLE用户设置环境变量,在一台服务器上切换oracle用户登陆,编辑.profile文件,输入以下内容:

# su - oracle
Sun Microsystems Inc.   SunOS 5.8       Generic Patch   October 2001
$ vi .profile
umask 022
ORACLE_SID=testrac1
export ORACLE_SID
ORACLE_BASE=/data/oracle
export ORACLE_BASE
ORACLE_HOME=/data/oracle/product/10.2/database
export ORACLE_HOME
NLS_LANG='SIMPLIFIED CHINESE_CHINA.ZHS16GBK'
export NLS_LANG
PATH=$PATH:$ORACLE_HOME/bin
export PATH
DISPLAY=172.25.5.202:1.0
export DISPLAY

由于准备使用XMANAGE作为图形工具进行安装,所以DISPLAY变量设置的是当前本机的IP地址。

在另两台服务器执行同样的操作,不过将ORACLE_SID的内容替换为testrac2testrac3

下面设置网络环境,选择简单的rcp方式。首先编辑三个服务器的/etc/hosts文件,分别输入下面的信息:

# more /etc/hosts
#
# Internet host table
#
127.0.0.1       localhost      
172.25.198.222  racnode1        loghost
172.25.198.224  racnode1-vip
10.0.0.1        racnode1-priv
172.25.198.223  racnode2
172.25.198.225  racnode2-vip
10.0.0.2        racnode2-priv
172.25.198.226 racnode3
172.25.198.227 racnode3-vip
10.0.0.3 racnode3-priv

第二个服务器:

$ more /etc/hosts
#
# Internet host table
#
127.0.0.1       localhost      
172.25.198.223  racnode2        loghost
172.25.198.222  racnode1        loghost
172.25.198.224  racnode1-vip
10.0.0.1        racnode1-priv
172.25.198.225  racnode2-vip
10.0.0.2        racnode2-priv
172.25.198.250  backup
172.25.198.226 racnode3
172.25.198.227 racnode3-vip
10.0.0.3 racnode3-priv

第三个服务器:

$ more /etc/hosts
#
# Internet host table
#
::1     localhost      
127.0.0.1       localhost
172.25.198.226 racnode3 loghost
172.25.198.227 racnode3-vip
10.0.0.3 racnode3-priv
172.25.198.222 racnode1
172.25.198.224 racnode1-vip
10.0.0.1 racnode1-priv
172.25.198.223 racnode2
172.25.198.225 racnode2-vip
10.0.0.2 racnode2-priv

分别在racnode1racnode2racnode3上编辑oracle用户下的/export/home/oracle/.rhosts文件,添加如下内容:

$ vi .rhosts
racnode1
racnode1-vip
racnode1-priv
racnode2
racnode2-vip
racnode2-priv
racnode3
racnode3-vip
racnode3-priv

下面为系统添加私有IP地址:

# ifconfig -a
lo0: flags=1000849 mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
ce0: flags=1000843 mtu 1500 index 2
        inet 172.25.198.222 netmask ffff0000 broadcast 172.25.255.255
        ether 0:3:ba:38:4a:2f
# ifconfig ce1 plumb
# ifconfig ce1 10.0.0.1 netmask 255.255.255.0 broadcast 10.0.0.255 up

为了启动后,ce1可以自动配置,编辑/etc/hostname.ce1文件:

# vi /etc/hostname.ce1
racnode1-priv

然后添加相应的掩码和广播地址,在/etc/netmasks文件后面添加:

10.0.0.0        255.255.255.0

另外需要添加默认的网关:

# vi /etc/defaultrouter
172.25.2.1

racnode2racnode3上冲突类似的操作。至此,网络配置完成。

在三个节点上检查nscd进程是否启动,该进程默认会在系统启动时启动:

# ps -ef|grep nscd
    root   216     1  0 16:14:27 ?        0:00 /usr/sbin/nscd
    root   374   342  0 16:30:23 pts/1    0:00 grep nscd

如果没有启动,可以使用/etc/init.d/nscd start来启动。

在三个节点上下面检查软件包是否都已经安装:

# uname -r
5.8
# pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibC SUNWlibm SUNWlibms SUNWsprot SUNWtoo SUNWi1of SUNWxwfnt SUNWsprox
system      SUNWarc        Archive Libraries
system      SUNWbtool      CCS tools bundled with SunOS
system      SUNWhea        SunOS Header Files
system      SUNWi1of       ISO-8859-1 (Latin-1) Optional Fonts
system      SUNWlibC       Sun Workshop Compilers Bundled libC
system      SUNWlibm       Sun WorkShop Bundled libm
system      SUNWlibms      Sun WorkShop Bundled shared libm
system      SUNWsprot      Solaris Bundled tools
system      SUNWsprox      Sun WorkShop Bundled 64-bit make library
system      SUNWtoo        Programming Tools
system      SUNWxwfnt      X Window System platform. required fonts

 

下面要修改操作系统的核心参数,在三个节点上编辑/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

修改完成后重启系统:

# reboot

检查UDP协议的配置:

# ndd /dev/udp udp_xmit_hiwat
8192
# ndd /dev/udp udp_recv_hiwat
8192

增加其配置,将其修改为65536。在两个节点上执行:

# ndd -set /dev/udp udp_xmit_hiwat 65536
# ndd -set /dev/udp udp_recv_hiwat 65536

为了确保修改在重启后仍然有效,添加/ect/init.d/nddudp文件:

# vi /etc/init.d/nddudp
ndd -set /dev/udp udp_xmit_hiwat 65536
ndd -set /dev/udp udp_recv_hiwat 65536

然后在/etcrc1.drc2.drcS.d目录下建立连接,连接必须以S70S71为前缀:

# ln -s -f /etc/init.d/nddudp /etc/rc1.d/S70nddudp
# ln -s -f /etc/init.d/nddudp /etc/rc2.d/S70nddudp
# ln -s -f /etc/init.d/nddudp /etc/rcS.d/S70nddudp

注意,这里Oracle文档给出的方法是错误的,在/etc/system目录下设置这两个参数是无效的。具体描述见:http://yangtingkun.itpub.net/post/468/271793

对于Solaris10环境,则不需要进行上面的步骤,系统默认值已经足够。

下面在三个节点上建立ORACLE的安装目录和ORACLECRS安装目录:

# su - oracle
Sun Microsystems Inc.   SunOS 5.8       Generic Patch   October 2001
$ mkdir -p /data/oracle/product/10.2
$ mkdir /data/oracle/oraInventory
$ mkdir /data/oracle/product/10.2/crs
$ mkdir /data/oracle/product/10.2/database

至此,操作系统的准备工作已经完成,下面准备安装ORACLECLUSTERWARE软件。

 

请使用浏览器的分享功能分享到微信等