说明:因工作需要,苦练RAC安装。在百度狂搜之后,发现还没有一份完整版的,适合新手搭建RAC 11G环境的安装手册。

      本安装步骤手册通过本人根据实践,整理后的真实安装步骤。

      在通过对RAC 10g和11g进行安装,发现还有有些区别。在RAC 11g中,RAC已经被整合到oracle grid infrastructure.下面是整个安装步骤,与需要的朋友分享下。

 

     安装环境列表:

            1、VMwave 9.0 64位虚拟机

            2、安装2台操作系统:RedHat 6.4 64bit

            3、oracle Grid Infrastructure软件包:linux.x64_11gR2_grid.zip

            4、Oracle数据库软件包:linux.x64_11gR2_database_1of2.zip

                                   linux.x64_11gR2_database_2of2.zip

 

    RAC 11g的安装整体分为7大块:

            1、vmware创建共享磁盘

            2、共享存储ASM的配置

            3、ORACLE clusterverify 集群验证工具

            4、安装前的系统配置

            5、oracle grid infrastructure的安装

            6、oracle RAC数据库软件安装

            7、oracle RAC数据库创建

 

*******安装步骤*******

步骤一:vmware创建共享磁盘

         

1、创建物理共享磁盘

新建一个E:\share-vm文件夹,打开cmd,

cd C:\Program Files (x86)\VMware\VMware Workstation                进入vmware安装目录

vmware-vdiskmanager.exe -c -s 2000Mb -a lsilogic -t 2 "E:\share-vm\sharedisk1.vmdk

vmware-vdiskmanager.exe -c -s 2000Mb -a lsilogic -t 2 "E:\share-vm\sharedisk2.vmdk

vmware-vdiskmanager.exe -c -s 2000Mb -a lsilogic -t 2 "E:\share-vm\sharedisk3.vmdk

 

出现以下提示表示创建成功。

Create: 100% done.  Virtual disk creation successful.

 

2、虚拟机添加物理共享磁盘

进入已安装操作系统的虚拟服务器所对应的虚拟系统目录(不是虚拟机软件安装目录),找到.vmx(VMware配置文件),用记事本打开,添加如下记录:

 

disk.locking = "false"

diskLib.dataCacheMaxSize = "0"

scsi1.present = "TRUE"

scsi1.virtualDev = "lsilogic"

scsi1:0.present = "TRUE"

scsi1:0.fileName = "E:\share-vm\sharedisk1.vmdk"

scsi1:1.present = "TRUE"

scsi1:1.fileName = "E:\share-vm\sharedisk2.vmdk"

scsi1:2.present = "TRUE"

scsi1:2.fileName = "E:\share-vm\sharedisk3.vmdk"

 

 

 

重新点击虚拟服务器可看到:

wKiom1P-zPOjOiL7AAEsL6_ugxY119.jpg

 

其他需要共享的服务器同样进行配置。

 

 

3、进入对应服务器后,通过fdisk -l查看

 

3块硬盘进行分区

 

fdisk /dev/sdb

n -> p -> 1 -> w

会生成/dev/sdb1系统文件

 

 

步骤二:共享存储ASM的配置

 

配置共享存储ASM(所有节点)         --配置前需使用fdisk -l看到裸盘

1)安装三个rpm包:

 

kmod-oracleasm-2.0.6.rh1-2.el6.x86_64.rpm            需要去redhat网或百度下载(该补丁只适用于redhat 6.4版本)

oracleasmlib-2.0.4-1.el6.x86_64.rpm                            oracle官网下载

oracleasm-support-2.1.8-1.el6.x86_64.rpm                  oracle官网下载

 

 

2)配置oracle ASM驱动程序:

 

/etc/init.d/oracleasm configure

 

wKiom1P-zeiz-pexAAIHET8zV20547.jpg

 

3)创建Oracle ASM共享设备(只需在第一个集群节点操作)

对磁盘进行分区:

fstab /dev/sdb

fstab /dev/sdc

fstab /dev/sdd

n -> p -> 1 -> 回车 -> 回车 -> w

 

标记ASM头信息:

清空分区表头:

[root@oracle01 ~]# dd if=/dev/zero of=/dev/sdb1 bs=1M count=10

[root@oracle01 ~]# dd if=/dev/zero of=/dev/sdc1 bs=1M count=10

[root@oracle01 ~]# dd if=/dev/zero of=/dev/sdd1 bs=1M count=10

表头标记为ASM头信息:

[root@oracle01 ~]# /usr/sbin/oracleasm init

[root@oracle01 ~]# /usr/sbin/oracleasm createdisk DISK1 /dev/sdb1

[root@oracle01 ~]# /usr/sbin/oracleasm createdisk DISK2 /dev/sdc1

[root@oracle01 ~]# /usr/sbin/oracleasm createdisk DISK3 /dev/sdd1

 

验证当前ASM磁盘信息:

刷新ASM磁盘分区:

[root@oracle01 ~]# /usr/sbin/oracleasm scandisks

查看当前ASM磁盘分区:

[root@oracle01 ~]# /usr/sbin/oracleasm listdisks

 

步骤三:ORACLE clusterverify 集群验证工具

 

解压linux.x64_11gR2_grid.zip

 

安装前的集群验证工具clusterverify(一台执行即可)

[grid@oracle01 grid]$ ./runcluvfy.sh stage -list

 

 

USAGE:

runcluvfy stage {-pre|-post} <stage-name> <stage-specific options>  [-verbose]

 

有效的阶段选项和阶段名称为:

        -post hwos    :  后期检查硬件和操作系统

        -pre  cfs     :  预检查 CFS 设置

        -post cfs     :  后期检查 CFS 设置

        -pre  crsinst :  预检查 CRS 安装

        -post crsinst :  后期检查 CRS 安装

        -pre  hacfg   :  预检查 HA 配置

        -post hacfg   :  后期检查 HA 配置

        -pre  dbinst  :  预检查数据库安装

        -pre  acfscfg  :  预检查 ACFS 配置。

        -post acfscfg  :  后期检查 ACFS 配置。

        -pre  dbcfg   :  预检查数据库配置

        -pre  nodeadd :  预检查添加节点。

        -post nodeadd :  后期检查添加节点。

        -post nodedel :  后期检查节点删除。

 

检查集群的状态(硬件和操作系统)

./runcluvfy.sh stage -post hwos -n oracle01,oracle02 -verbose

 

对于RAC包括grid infrastructure的所有组件

./runcluvfy.sh comp  -list

 

步骤四:安装前的系统配置

 

1、配置域名解析(所有节点)

vim /etc/hosts

#Public Host Names

192.168.100.101 oracle01.us.oracle.com  oracle01

192.168.100.201 oracle02.us.oracle.com  oracle02

 

#Private Host Names

10.10.100.101   oracle01-priv.us.oracle.com     oracle01-priv

10.10.100.201   oracle02-priv.us.oracle.com     oracle02-priv

 

#Virtual Host Names

192.168.100.100 oracle01-vip.us.oracle.com      oracle01-vip

192.168.100.200 oracle02-vip.us.oracle.com      oracle02-vip

 

#SCAN

192.168.100.88   rac-scan.localdomain rac-scan

 

 

 

2、配置时钟同步

集群中所有服务器上的系统时间保持同步:

vim /etc/sysconfig/ntpd

OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"

同步服务器:

vim /etc/ntp.conf

server  127.127.1.0

restrict 192.168.0.0 mask 255.255.0.0 nomodify

 

同步客户端:

crontab -e

0 * * * * /usr/sbin/ntpdate 192.168.100.101 ; /sbin/hwclock -r

 

3、设置组和用户(所有节点)

root用户:

[root@oracle-1 ~]# /usr/sbin/groupadd -g 501 oinstall

[root@oracle-1 ~]# /usr/sbin/groupadd -g 502 dba

[root@oracle-1 ~]# /usr/sbin/groupadd -g 504 asmadmin

[root@oracle-1 ~]# /usr/sbin/groupadd -g 506 asmdba

[root@oracle-1 ~]# /usr/sbin/groupadd -g 507 asmoper

[root@oracle-1 ~]# /usr/sbin/useradd -u 501 -g oinstall -G asmadmin,asmdba,asmoper grid

[root@oracle-1 ~]# /usr/sbin/useradd -u 502 -g oinstall -G dba,asmdba oracle

 

确认下:

[root@oracle-1 ~]# id oracle

uid=502(oracle) gid=501(oinstall) =501(oinstall),502(dba),506(asmdba)

[root@oracle-1 ~]# id grid

uid=501(grid) gid=501(oinstall) =501(oinstall),504(asmadmin),506(asmdba),507(asmoper)

 

 

5、保护外壳和用户限制配置

vim /etc/security/limits.conf

grid soft nofile 1024

grid hard nofile 65536

grid soft nproc 2047

grid hard nproc 16384

grid soft stack 10240

grid hard stack 32768

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft stack 10240

oracle hard stack 32768

 

vim /etc/pam.d/login

session required        pam_limit.so

 

6、内核参数配置

vim /etc/sysctl.conf

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 536870912

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

 

sysctl -p               使其生效

 

 

7、集群心跳网卡配置

至少包含一根公用网卡,一根专业网卡(心跳)

 

8、集群gridoracle用户做互信

 

[grid@oracle02 ~]$ ssh-keygen -t dsa

[grid@oracle02 ~]$ cat  ~/.ssh/id_dsa.pub  | ssh grid@oracle01 "cat - >> ~/.ssh/authorized_keys"

 

[oracle@oracle02 ~]$ ssh-keygen -t dsa

[oracle@oracle02 ~]$ cat  ~/.ssh/id_dsa.pub  | ssh oracle@oracle01 "cat - >> ~/.ssh/authorized_keys"

 

 

 

9、使用clusterverify工具验证(无任何报错才能进入下一步)

 

[oracle@oracle01 grid]$ ./runcluvfy.sh stage -post hwos -n oracle01,oracle02 -verbose

 

 

10、安装所需补丁包

yum install *.rpm -y

elfutils-libelf-devel-0.152-1.el6.x86_64.rpm

gcc-c++-4.4.7-3.el6.x86_64.rpm

glibc-devel-2.12-1.107.el6.x86_64.rpm

glibc-headers-2.12-1.107.el6.x86_64.rpm

libaio-devel-0.3.107-10.el6.x86_64.rpm

unixODBC-devel-2.2.14-12.el6_3.x86_64.rpm

libstdc++-4.4.7-3.el6.i686.rpm

 

rpm -ivh *.rpm --nodeps --force

libaio-0.3.106-5.i386.rpm

libaio-devel-0.3.106-5.i386.rpm

compat-libstdc++-33-3.2.3-61.i386.rpm

libgcc-4.1.2-48.el5.i386.rpm

libstdc++-4.1.2-48.el5.i386.rpm

unixODBC-devel-2.2.11-7.1.i386.rpm

unixODBC-2.2.11-7.1.i386.rpm

pdksh-5.2.14-36.el5.i386.rpm

 

 

 

11、安装grid前验证

 ./runcluvfy.sh stage -pre crsinst -n oracle01,oracle02

 

步骤五:oracle grid infrastructure的安装

 

在安装前,必须进行验证(需无任何报错后,才能进行下一步):

[oracle@oracle01 grid]$  ./runcluvfy.sh stage -pre crsinst -n oracle01,oracle02

 

安装grid infrastructure(仅在第一个节点安装),最好使用grid用户,以方便后续管理。

[grid@oracle01 grid]$script /tmp/install_screen.`date +%Y%m%d%H%M%S`.out               #将后续的输出重定向到文件

[grid@oracle01 grid]$  ./runInstaller

 

注:如果执行报错,提示系统为32位,需修改LONG_BIT参数值

getconf  LONG_BIT           确认结果值是否为32

cd /usr/libexec/getconf/

rm -rf default

ln -s  POSIX_V6_LP64_OFF64 default

getconf  LONG_BIT           确认结果值为64是否生效

 

    ----------进入安装界面-------------

 

 

 

 

安装条执行到100%,执行如下脚本:

[root@oracle01 ~]# /u01/app/oraInventory/orainstRoot.sh

[root@oracle01 ~]# /u01/app/11.2.0/grid/root.sh

 

执行步骤:

1)在第一个节点执行这2个脚本,至执行完成

2)在其他节点(除最后一个节点),并行执行这2个脚本,至执行完成

3)在最后一个节点执行这2个脚本,至执行完成

 

 

-----------------------------------------

注意:11g r2有个BUG

BUG内容:当执行 /u01/app/11.2.0/grid/root.sh 脚本报错如下:

Adding daemon to inittab

CRS-4124: Oracle High Availability Services startup failed.

CRS-4000: Command Start failed, or completed with errors.

ohasd failed to start: 对设备不适当的 ioctl 操作

ohasd failed to start at /u01/app/11.2.0/grid/crs/install/rootcrs.pl line 443.

 

解决办法:

1执行脚本回滚root.sh操作

[root@oracle01 ~]# /u01/app/11.2.0/grid/crs/install/roothas.pl -verbose -delete -force

2)重新执行root.sh操作

(开启2个会话,在出现“Adding daemon to inittab”时,同步操作dd命令(直到成功执行为止))

[root@oracle01 ~]# /u01/app/11.2.0/grid/root.sh

 

dd操作:

[root@oracle01 ~]# /bin/dd if=/var/tmp/.oracle/npohasd of=/dev/nullbs=1024 count=1

 

 

 

 

验证oracle grid infrastructure的安装

使用验证工具:

$./runcluvfy.sh stage -post crsinst -n oracle01,oracle02

 

显示集群资源状态

$crsctl stat res -t

 

查看scan的配置信息

$srvctl config scan

 

步骤六:oracle RAC数据库软件安装

 

进行数据库安装前系统配置验证(通过后才能进行下一步):

[oracle@oracle01 grid]$ ./runcluvfy.sh stage -pre dbinst -n oracle01,oracle02 -osdba dba

 

进行数据库安装前数据库配置验证(通过后才能进行下一步):

 

 

./runInstaller

 

安装完成后,所有节点执行:

 

#/u01/app/oracle/product/11.2.0/dbhome_1/root.sh

 

步骤七:oracle RAC数据库创建

 

$cd  $ORACLE_HOME/bin

$./dbca

 

******end*********

至此,整个RAC 11g安装完成。