Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 图 1 :这是一个简易的 RAC 示意图
我在写这个文章以前也参考了很多网友写的关于Oracle RAC集群系统的安装文章,其中最重要的是Oracle官网上Jeffery M. Hunter的Build Your Own Oracle RAC on Oracle Enterprise Linux and iSCSI一篇文章,其中详细介绍了RAC的概念及在Linux系统中的安装部署。其实RAC系统在Solaris系统上的安装与在Linux上的安装大同小异,在这里我把一些不同之处和一些特别需要注意的地方写出来供大家参考。还有就是参考官方的联机帮助文档更为重要,其中会提供很多重要信息。与单机安装Oracle相比,RAC集群系统的安装只是步骤繁多,但按步骤安装,要保证每一步都正确即可,总体上并不复杂,在3台普通的PC机(要求两个RAC节点是64位的CPU)上就可以顺利完成安装。
11g第二版在新功能上与第一版有了很大的改进,这里把本次安装用到的新功能简单介绍一下,其中主要是把Clusterware 集群件集成到了Grid网格组件中,并且添加了Grid Naming Service(GNS)网格名称服务提供名称转换,这样两个RAC节点的虚拟IP地址(VIP)可以通过DHCP自动获取,不需要手工指定了,这是变化比较大的一点;还有Cluster Time Synchronization Service(CTSS)集群时间同步服务,在没有NTP服务时,该功能可以保证所有RAC节点的时间保持一致;ASM可以作为统一的存储把Oracle Cluster Registry(OCR)和Voting disks统一安装在ASM磁盘上,不再需要单独安装集群文件系统了,11g第二版也不再支持裸设备了(之前可以把集群件安装到裸设备上);还有一个有趣的功能SCAN(Single Client Access Name)即单客户端访问名称而且该功能包括了Failover故障自动切换功能,在访问集群是只写一个SCAN名称就可以了,不需要象以前要把所有节点的VIP写在应用程序的配置文件里面了,这样就大大方便了客户端程序对RAC系统的访问,但该功能需要DNS服务器的支持,这个功能本文中会重点介绍因为我是一个应用程序员感觉这是一个最好的新功能,在用Spring框架连接RAC系统时也非常方便;还有一些新特性如Automatic Storage Management Cluster File System(ACFS) ASM集群文件系统和Intelligent Platform. Management Interface(IPMI)集成,等等新功能本次安装都没有用到,大家可以自己探索。
在开始安装之前,先看一下网络拓扑图,并介绍一下软硬件的安装环境:
网络拓扑图如下:Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4
软硬件的安装环境:
|
| 网络共享存储系统 | RAC节点1 | RAC节点2 | DNS DHCP服务器/管理主机 |
软件 | 操作系统 | Openfiler2.3_x86 32位版本,镜像名称openfiler-2.3-x86-disc1.iso,共享存储不必须是64位,32位也可以 | Solaris10_x86_64 64位版本,镜像名称sol-10-u8-ga-x86-dvd.iso,11g R2只支持64位硬件平台 (注意:这里使用的是Solaris10 Update8因为u8里面包括了所有11g R2 需要的系统更新包) | Solaris10_x86_64 64位版本,镜像名称sol-10-u8-ga-x86-dvd.iso | Windows Server 2003 企业版,并启用DNS和DHCP服务 |
数据库软件及其他 | (无) | Grid组件solaris.x64_11gR2_grid.zip和数据库的安装文件solaris.x64_11gR2_database_1of2.zip、solaris.x64_11gR2_database_2of2.zip在第二版中分成2个文件 | (RAC节点2上不用安装数据库软件) | XManager3.0远程登陆的软件(安装Oracle的过程中需要图形界面,XManager可以显示图形界面,其它远程登陆软件不支持) | |
硬件 | CPU | 1.6G 单核32位 | ADM Athlon II x2 245(64位双核主频2.9GHz),CPU一定要64位 | ADM Athlon 64 x2 4000+ (64位双核主频2.1GHz),节点2的CPU较老一些 | 1台笔记本电脑 |
RAM | 1G | 2 x 2G (DDR800) | 2 x 2G (DDR800) | ||
Hard Disk | 1 x 80G (安装Openfiler2.3系统) 2 x 1T SATA 32M缓存 (用作数据存储) | 1 x 120G SATA | 1 x 120G SATA | ||
NIC | 1 x Relteck 100M Nic 1 x Relteck 1000M Nic 千兆网卡用于Private Network | 2 x Intel 100M Nic,在Solaris系统中普通网卡一般不能被识别,在开发环境中为节省成本都使用了百兆网卡 | 2 x Intel 100M Nic |
说明:管理主机使用1台笔记本电脑,操作系统使用Windows Server 2003,远程登陆软件XManager安装在上面,DNS和DHCP服务器也跑在上面。还有2台交换机和网线等联网所必需的设备。
(注意:如果条件有限要在VMWare中安装,运行两个RAC节点的主机要好一些(主要是CPU性能)否则安装会失败,因为Solaris系统比Linux系统对硬件的要求要高很多,我用1台AMD Athlon II x2 245 双核64位主频2.9GHz Cpu,6G内存,1T硬盘的主机,安装也成功了,但Cpu使用较老一点的Athon 64 x2 4000+ 就不行,跑2个RAC节点Cpu占用率经常到100%,安装起来非常困难。)
整个安装过程分为11个大的步骤,前7个属于前置安装任务;8、9、10是软件安装及建立集群数据库的步骤;最后第11个是安装后任务,主要包括故障切换、SCAN的使用等等。
一、安装Solaris10操作系统,在两个做RAC节点的主机上安装,并在安装完毕后作相关的系统设置。
二、安装Openfiler2.3系统,在作为共享存储的PC机上安装,并在安装之后为集群数据库划分存储及建立iqn。
三、在所有RAC节点上配置iSCSI卷。
四、为安装Oracle RAC集群系统建立用户和组,并建立安装目录。
五、给共享磁盘建立软连接并授权,并为SSH建立软连接。
六、在两个RAC节点之间建立用户等效性。
七、在 Windows系统上安装DNS和DHCP服务,用于安装Grid组件时配置GNS服务和SCAN服务。
(安装Grid组件前检测)
八、安装Grid网格组件(代替了以前的Clusterware)。
九、安装Database软件,并用asmca建立共享ASM磁盘组。
十、用dbca建立RAC集群数据库。
十一、安装后任务。
我对安装RAC数据库的体会是前置安装任务更为重要,一般安装Grid(或以前的Clusterware)和建库时出现的问题都是前置任务没有安装正确导致,关键是把前面的操作每一步都设置正确,总体上安装还是比较简单的。下面把每一步中的要点和容易出错的地方列出,关键步骤有截图。
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 一、安装 Solaris10 操作系统,在两个 RAC 节点的主机上安装,并在安装完毕后作相关的系统设置
1.安装Solaris10操作系统,安装的具体过程从略,只把要注意的几点一一指出
(1)主机名和IP地址的分配,在安装过程中要把2块网卡都选中,分别设置主机名和IP地址
每台主机都有2块网卡,把第一块作为公网使用的网卡,把第二块作为私网使用的网卡,公网和私网的网段分开
| 网卡1 | 网卡2 | ||||
公网节点名称 | Public IP(公网) | Public Gateway | 私网节点名称 | Private IP(私网) | Private Gateway | |
RAC节点1 | racnode1 | 192.168.1.151/24 | 192.168.1.1 | racnode1-priv | 192.168.2.151/24 | 无 |
RAC节点2 | racnode2 | 192.168.1.152/24 | 192.168.1.1 | racnode2-priv | 192.168.2.152/24 | 无 |
注意:如果在安装过程中没有设置正确,可以在系统安装完毕后修改,在Solaris中修改方法如下:
①改主机名:#setuname -n 新名称 (如 #setuname -n racnode1)
②改网卡对应的主机名:找到 /etc/hostname.网卡名 文件 (如:/etc/hostname.iprb0 写为 racnode1;/etc/hostname.iprb1 写为 racnode1-priv)
③改默认网关:先创建文件 #touch /etc/defaultrouter,之后在其中添加 192.168.1.1
④改 /etc/netmasks 文件:在最后一行添加 192.168.2.0 255.255.255.0
(2)在选择安装类型一步,要选择“Custom Install”,如下截图
![bb](http://img.blog.itpub.net/blog/attachments/2010/03/26712_201003112105351.jpg?x-oss-process=style/bb)
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 在选择 Solaris 系统安装包时,按下面截图所示选择,这样可以安装全部系统所需要的包,在安装完系统后就不用单独安装 Oracle 11g R2 所需要的包了。
![bb](http://img.blog.itpub.net/blog/attachments/2010/03/26712_201003112105352.jpg?x-oss-process=style/bb)
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 (3) 在给文件系统分区时,要做修改,如下截图所示,点击 “Modify” 按钮做修改 注意:系统默认分配的swap交换空间太小了,要修改为10G(最少要保证2G),否则在安装Database软件时到Link RMAN一步会报错。
![bb](http://img.blog.itpub.net/blog/attachments/2010/03/26712_201003112105353.jpg?x-oss-process=style/bb)
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4
![bb](http://img.blog.itpub.net/blog/attachments/2010/03/26712_201003112105354.jpg?x-oss-process=style/bb)
如果在安装过程中没有修改swap空间的大小为2G以上,在系统安装完毕之后可以用添加文件的方式来增加swap空间,方法如下:
增加一个磁盘分区来扩展swap的空间,如 # swap -a /dev/dsk/c1t1d0s3,这里/dev/dsk/c1t1d0s3只是一个例子,是把分区设置在了slice3上,关于Solaris_x86_64磁盘分区的知识会在后面介绍。再修改 /etc/vfstab 文件,如
swap - /tmp tmpfs - yes size=2048M
2.在安装完成后首先启用远程登陆
# vi /etc/ssh/sshd_config
在其中找到 PermitRootLogin no 一行,把no修改为yes,再执行以下命令来重启ssh服务
# svcadm restart ssh
做完此修改后,就可以在管理机上用XManager远程登录软件来操作两个RAC节点了。
3.改用bash SHELL
Solaris系统默认使用的是sh SHELL,使用起来不是很方便,我们可以把默认的SHELL改为bash
# vi /etc/passwd
把第一行中的/sbin/sh 改为 /usr/bin/bash
重新登录系统后的操作符就会变为bash的提示符
-bash-3.00#
4.切换图形界面和字符界面,在服务器上关闭图形界面可以节省资源,下面介绍几个相关的命令
在图形界面下
-bash-3.00# /usr/dt/bin/dtconfig -d (禁用)
-bash-3.00# /usr/dt/bin/dtconfig -e (启用)
在字符界面下启动图形界面
-bash-3.00# /usr/dt/bin/dtsession
-bash-3.00# /usr/dt/bin/dtlogin
5.禁用 ntp 和 sendmail 服务
Oracle 11g R2 中新添加了时间同步服务Cluster Time Synchronization Service(CTSS),要想使用该功能,就必须先关闭ntp服务
-bash-3.00# svcadm disable ntp
-bash-3.00# svcadm disable sendmail
6.添加安装Oracle所必须的包
查看必须安装的包,使用命令
-bash-3.00# pkginfo -i 包名
-bash-3.00# pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibC SUNWlibm SUNWlibms SUNWsprot SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt SUNWcsl
添加一个包,使用命令
-bash-3.00# pkgadd -d 路径 包名 (如:#pkgadd -d /cdrom/Product SUNWgcc)
执行以下命令添加包
-bash-3.00# pkgadd -d /cdrom/SOL_10_1009_X86/SOLARIS_10/PRODUCT SUNWarc
7.设置udp参数
在Oracle的官方文档中的方法是把udp参数写在/etc/system中,该方法不对,要按以下方法操作
在 /etc/init.d/ 目录下创建upd_rac文件
-bash-3.00# touch /etc/init.d/udp_rac
在其中添加以下内容
#!/sbin/sh
case "$1" in
'start')
ndd -set /dev/udp udp_xmit_hiwat 65536
ndd -set /dev/udp udp_recv_hiwat 65536
;;
'state')
ndd /dev/udp udp_xmit_hiwat
ndd /dev/udp udp_recv_hiwat
;;
*)
echo "Usage: $0 { start | state }"
exit 1
;;
Esac
最后建立一个软连接
-bash-3.00# ln -s /etc/init.d/udp_rac /etc/rc3.d/S86udp_rac
8.改系统参数(重启系统修改后的参数才能生效)
-bash-3.00# vi /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=23767
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmset=10
9.改/etc/hosts 文件,来配置Public Network 和 Private Network
我们在这里只写上两个RAC节点的公网和私网地址就可以了,VIP和共享存储的IP地址不用写,本次安装要使用11g R2 的最新功能,在安装Grid组件是选择配置Grid Naming Service(GNS)服务,RAC节点的VIP靠DHCP服务自动获取。
两个RAC节点的hosts文件内容如下
RAC节点1 | RAC节点2 |
# # Internet host table # 127.0.0.1 localhost
#Public network 192.168.1.151 racnode1 loghost 192.168.1.152 racnode2
#Private network 192.168.2.151 racnode1-priv 192.168.2.152 racnode2-priv | # # Internet host table # 127.0.0.1 localhost
#Public network 192.168.1.151 racnode1 192.168.1.152 racnode2 loghost
#Private network 192.168.2.151 racnode1-priv 192.168.2.152 racnode2-priv |
注意:如果要使用GNS服务,这里一定不要写SCAN VIP地址(如:192.168.1.110 racnode-cluster-scan),否则在安装完Grid做集群配置时,配置Listener时会报错(在/etc/hosts文件中写SCAN VIP和配置GNS服务,连个操作不能同时作)。如果把SCAN地址写在hosts文件中只能有一个地址,通过DNS服务可以设置3个SCAN VIP地址。
10.在Solaris10系统上启用DNS客户端功能,使RAC节点支持Grid Naming Service(GNS)功能
(1) 创建并修改 /etc/resolv.conf 文件
-bash-3.00# touch /etc/resolv.conf
-bash-3.00# vi /etc/resolv.conf
在其中添加以下内容
domain racnode.com
nameserver 192.168.1.130
(其中第一行“domain racnode.com”在Solaris系统中必须写,在Linux系统中是不必写的)
(2) 修改 /etc/nsswitch.conf 文件
找到hosts和networks两行,在后面加dns,改之后为
hosts: files dns
networks: files dns
说明:作以上两点修改,就是在Solaris系统上启用DNS客户端功能,为支持11g R2中提供的新功能(GNS, SCAN等),在RAC节点上必须启用DNS客户端功能,我把DNS服务器配置在一台Windows2003的主机上(IP: 192.168.1.130),即作管理的那台笔记本电脑,这部分只介绍Solaris系统的设置,DNS服务器的设置在后面单独说明。
11.双机时间同步
把节点2的时间与节点1同步,下面两个操作在两个RAC节点都执行
-bash-3.00# svcs -a|grep time
显示以下内容 (都处于不可用状态)
disabled 8:54:40 svc:/network/daytime:dgram
disabled 8:54:40 svc:/network/daytime:stream
disabled 8:54:40 svc:/network/time:dgram
disabled 8:54:40 svc:/network/time:stream
把后面2个改为可用
-bash-3.00# svcadm enable time:stream
-bash-3.00# svcadm enable time:dgram
(以上内容两个RAC节点都执行)
在节点2上执行以下命令,与节点1的时间同步
-bash-3.00# rdate racnode1
12.Solaris系统关机及重启
使用命令关闭Solaris系统的方法是 (root用户)
-bash-3.00# shutdown -i 5
-bash-3.00# poweroff
重启动
-bash-3.00# shutdown -i 6
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26712/viewspace-629276/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26712/viewspace-629276/