本文将呈现:在RHEL6上部署Oracle database 11g数据库RAC架构的细节。

在开始本文前,首先说明一下我的环境以及需要预先作出的配置:
vmware_vms
如图所示:
Openfiler,提供RAC架构需要的共享存储的iSCSI LUN的分发
LinuxCenterService,提供对RAC架构的基础服务的支持,诸如:DNS域名解析、NTP时间服务,…等
Oracle11gRAC1与Oracle11gRAC2,为RAC架构中的节点服务器

由于是虚拟机,无法分配更多的资源,所以关于本文档最后实现的RAC架构的说明,如下:
Openfiler:
分发iSCSI LUN:
LUN名称:oracle11grac
容量:20 GB

共享存储的划分(这一部分也可以看成是:ASM Disk Group,分配策略):
OCR + Vote Disk
容量:1 GB
Rawdevices Mask:raw1

Data01
容量:19 GB
Rawdevices Mask:raw2

关于开始本文档的说明:
在开始本文档前,你需要像上面文首的截图中所示的那样:
1.成功安装了:VMware workstation 10.0.4
2.成功的创建了虚拟机,并且部署好了需要的系统:
Openfiler:openfiler 2.99
LinuxCenterService:Red Hat Enterprise Linux 5 64bit
Oracle11gRAC1/2:Red Hat Enterprise Linux 6 64bit

一、LinuxCenterService(后文简称:中心服务器)需要作出的准备

对于本文档,你需要中心服务器实现一个NTP的Server端,具体的做法请参考下文:
NTP Server在Linux上的部署,http://d-prototype.com/archives/2306

二、Openfiler Server

关于存储服务器:Openfiler的部署可以参考日志:http://d-prototype.com/archives/423
关于它的配置,可以参考以前的RAC部署文档中的Openfiler部分的说明,它们没有本质的差别,都是类似的,或者说雷同的:
在该文档(http://d-prototype.com/archives/1463)中,Ctrl + F检索“Openfiler”,即可找到该部分需要的文档。

三、Oracle11gRAC1/2节点服务器需要作出的配置

主机名:/etc/sysconfig/network
默认情况下,安装好了操作系统,主机名是:localhost.localdomain,这显然是不满足需求的。
你可以通过“host ”临时的将主机名改为你需要的,但是关机重启后,更改就失效了。
为了永久的生效对主机名的修改,你需要修改:/etc/sysconfig/network中的“HOSTNAME”条目的值,如下:

关闭防火墙与SELINUX:
为了防止防火墙意想不到的拦截了RAC需要用到的端口与网络通讯,以及为了防止SELINUX意外的阻碍了RAC的程序对操作系统的资源的调度,最好选择在安装前就关闭它们,并且在RAC运行后,也不予开启。
具体的做法如下:
关闭防火墙:chkconfig iptables off

禁用SELINUX:
停用SELINUX需要修改:/etc/selinux/config中的“SELINUX”条目的值为:disable,默认,该值为:enforcing。
具体如下:

需要注意的是:对于SELINUX的修改不会立即生效,而是在下一次操作系统重启后生效的。
查看当前的SELINUX状态:

配置HOSTS表
在Linux中,默认情况下,解析主机名与IP地址的关联的时候,本地的HOSTS表是优先于DNS解析被查看的。所以,不论是否真的有配置DNS服务,本地的HOSTS表都是需要被适当的配置的点。
根据我的环境,我的Linux本地HOSTS表的配置如下所示:

按照上面的主机名与IP的关系,配置各个节点服务器的公共网卡与私有网卡:eth0、eth1
与网卡有关的配置文件有:
/etc/sysconfig/network-scripts/ifcfg-ethX
/etc/resolv.conf
对于Oracle RAC架构来说,你需要保障的是:公共网卡需要明确的指定网关地址。
这里有一个可选的建议:网卡的IP地址最好是静态指定的,而不是DHCP动态分配。
具体做法,如下所示:
(节点一)

上述的配置,为在节点一上的状态,对于节点二,网卡部分的配置是类似的。

时间同步:
在我的环境中,已经配置了时间同步服务器:192.168.80.131。
所以,需要将RAC的节点服务器以及RAC的共享存储服务器的时间同步指向到该地址。

需要注意的是在节点服务器中,NTPD的启动参数需要加上“-x”,具体如下所示:

在默认配置中,是没有“-x”的。

启用了“-x”之后,你可以在ntpd服务启动后看到进程的差异:
没有启用“-x”的进程状态:

启用了“-x”的进程状态:

NTP的配置:
你可以通过图形化工具(system-config-date)配置时间同步策略。
你也可以直接修改配置文件:/etc/ntp.conf实现相同的目的,因为图形化工具,最终也是要修改的该配置文件的。

如上所示,在配置文件中加上“server ”,即可。

然后,启动或重启“ntpd”服务:service ntpd restart。
通过“ntpstat”,你可以看当前NTP服务的状态,你需要它们如下显示,方为正常工作:

YUM与软件包:

软件包的安装:
yum install -y binutils.x86_64 compat-libcap1.x86_64 compat-libstdc++-33.i686 compat-libstdc++-33.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.x86_64 glibc.i686 glibc-devel.x86_64 glibc-devel.i686 ksh.x86_64 libgcc.x86_64 libgcc.i686 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libaio.x86_64 libaio.i686 libaio-devel.i686 libaio-devel.x86_64 libXext.x86_64 libXext.i686 libXtst.x86_64 libXtst.i686 libX11.x86_64 libX11.i686 libXau.x86_64 libXau.i686 libxcb.x86_64 libxcb.i686 libXi.x86_64 libXi.i686 make.x86_64 sysstat.x86_64 elfutils-libelf-devel.i686 elfutils-libelf-devel.x86_64

文件:/etc/security/limits.conf

文件:/etc/sysctl.conf

对于sysctl.conf文件的修改立即生效:sysctl -p,具体如下所示:

文件:/etc/pam.d/login

创建用户组与用户:

用户环境变量:
GRID:/home/grid/.bash_profile

ORACLE:/home/oracle/.bash_profile

创建需要的目录结构:

SSH等价性:
ssh-keygen
ssh-copy-id
(节点一)

共享存储的划分:
在本环境中,共享存储由Openfiler分发。
首先,需要在节点服务器上或得到Openfiler分发的LUN,具体如下:

然后,对共享存储分区:

配置RAW:
文件:/etc/rc.local

配置UDEV:
/etc/udev/rules.d/60-raw.rules

生成RAW:

至此,节点服务器的操作系统准备就完成了。

四、Grid Infrastructure

接下来,就可以上传软件介质到服务器了。
按照我的个人习惯,我会将上传的介质保存在:/software。

介质如下:
Oracle11gRAC_Media
1/2是数据库的介质,3是Grid的介质。

上传中:
Transforing_data

解压:

安装CVUQD软件包:

运行“./runInstaller”调出OUI,图形化安装:
grid_1

grid_2

grid_3

grid_4

grid_5

grid_6

grid_7

grid_8

grid_9

grid_10

grid_11

grid_12

grid_13

grid_14

grid_15

grid_16

grid_17

grid_18

grid_19

grid_20
执行脚本。
1.节点一:orainstRoot.sh

2.节点二:orainstRoot.sh

3.节点一:root.sh

4.节点二:root.sh

继续OUI:
grid_21

grid_22
这里的报错可以忽略,CVU在做自检的时候,确实是有点问题的,这是官方证实了的BUG。

grid_23
最后,Grid Infrastructure就安装完成了。

查看下当前的CRS状态:

五、Database

接下来是Database软件的安装。

首先,上传介质:
Database_Media_Update

解压:

Command is:
unzip p13390677_112040_Linux-x86-64_1of7.zip ;unzip p13390677_112040_Linux-x86-64_2of7.zip

解压后,“./runInstaller”调用OUI:

图形化安装:
database_1

database_2

database_3

database_4

database_5

database_6

database_7

database_8

database_9

database_10

database_11

database_12

database_13
执行脚本:
1.节点一:root.sh

2.节点二:root.sh

最后,安装就结束了:
database_14

六、ASM Disk Group

在开始建库之前,需要配置存储数据库数据文件的ASM磁盘组。
完成这部分的配置需要使用到:asmca。

在grid用户下,使用“asmca”可以调出asmca的图形化界面:

图形化的操作:
asmca_1

asmca_2

asmca_3

asmca_4

asmca_5

asmca_6

asmca_7

asmca_8

也可以通过字符界面查看,如下:

如上,这样ASM磁盘组的创建就完成了。

七、创建实例(建库)

这一部分通过DBCA实现。

通过oracle用户,执行“dbca”调出DBCA的图形界面:

图形化界面:
dbca_1

dbca_2

dbca_3

dbca_4

dbca_5

dbca_6

dbca_7

dbca_8

dbca_9

dbca_10

dbca_11

dbca_12

dbca_13

dbca_14

dbca_15

dbca_16

dbca_17

dbca_18

至此,DBCA建库完成。

此时的RAC的CRS资源如下所示:

连入数据库:

八、终了

至此,Oracle database 11g RAC在RHEL6上的双节点搭建,已经全部完成。

——————————————————
Finished。

1 thought on “Install Oracle database 11g RAC on RHEL6”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

隐藏
变装