转载

图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

本文分为8个部分,以图文并茂的形式介绍了如何在VirtualBOX上安装与部署SLES11 SP3+Oracle 11gR2 RAC环境,旨在给有类似部署需求的读者作参考。


第一部分:安装
SLES 11

第二部分:安装完成后的基本配置

第三部分:创建RAC安装所需要的目录和用户

第四部分:安装 RAC前的预配置工作

第五部分:clone出第二个节点

第六部分:配置共享存储

第七部分:安装配置GI

第八部分:安装DB与建库


其中最后两个部分仅把笔者实施过程中遇到的问题进行了描述,不详细展开整个过程,有兴趣的读者可以参阅
oracle官方文档或者网上类似资料。

第一部分:安装SLES 11

新建虚拟机,选择openSUSE (64bit),图1

 

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

至少分配4G内存,图2

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

以下三个步骤在创建虚拟硬盘之前先设定硬盘属性,图345

 

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署
图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署
图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

 

6:设定虚拟文件路径及大小,定义80G

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

7:主界面已经显示出一个处于已关闭状态名为suse1的虚拟机了

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

8:在常规选项里对虚拟机的快照路径以及是否启用主机与虚拟机间的复制粘贴功能按需进行设置,注意后面需要在虚拟机里安装增强包才能真正使用复制粘贴的功能,这里只是起到一个开关的作用

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

9:在系统选项里可以设置虚拟机所能用到的cpu个数

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

11 & 12:因为RAC环境需要至少一张public的普通网卡和一张private的内联网卡,在网络选项里定义两张相应类型的网卡

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署
图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

 

13:在共享文件夹选项里,设定主机与虚拟机之间的共享目录,用于文件共享,比ftp方便不少

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

14:在Vbox右侧的界面里会把刚才的选择进行汇总,可以进一步确认是否还有需要改动的地方

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

16:启动名为suse1的虚拟机,选中SLES 11安装介质对应的iso文件

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

18:安装界面随即弹出

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

19202223:开始安装

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

24:在”expert”选项卡里对部分设置进行更改

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

25:更改磁盘分区

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

26:选中唯一一块硬盘sda进行分区,

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

--(1)boot分区:200M,图272829

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署


--(2)、根分区:12G、图3031

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

 

--(3)SWAP2G,图323334


 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署
图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

--(4)/oracle文件系统:剩下的都加入进去,约65G,需要先创建一个扩展分区,创建后再此扩展分区上建立/oracle文件系统,图35373839

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

4041:这就是最终的分区布局

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

4243:回到”change”,选择”software”选项,勾上必要的软件包,如”Oracle Server Base”(会创建oracle用户、oinstalldba用户组)

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

444546:点击”install”进入安装界面

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

474849:安装完成后的基本配置向导:设定root密码,主机名域名

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

50:进入”Network Interface”界面,给网卡配置IP地址

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

--(1) Public网卡,图51

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

--(2) private网卡,图52

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

5354:网卡汇总信息,点”Next”系统将进行配置

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

 

 

55:跳过网络连接测试

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

56:跳过网络服务配置

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

57:本地认证

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

58:先不创建任何用户

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

59:等待系统写入配置

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

6061:最后一步:扫描硬件

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

 

62:大功告成,勾选了”Clone This system for AutoYaST”表示安装期间的所有配置保存在/root/autoyast.xml文件里

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

第二部分:安装完成后的基本配置

安装Vbox的增强功能,便于方便的在hostOSguestOS间进行CV操作

63:在Vbox的安装目录下有一个名为VboxGuestAdditions.iso的安装映像文件,选中它

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

64:系统会自行启动Vbox增强工具的安装
图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

如果遇到上图中的” building the main guest additions module failed”错误的情况,按照提示安装上名为kernel-default-devel*package即可,安装过程就不展开了。

 

关闭防火墙

suse1:/etc # service SuSEfirewall2_init status

Checking the status of SuSEfirewall2                                                                            running

suse1:/etc # service SuSEfirewall2_setup status

Checking the status of SuSEfirewall2                                                                              running

suse1:/etc # service SuSEfirewall2_init stop

suse1:/etc # service SuSEfirewall2_setup stop

Shutting down the Firewall                                                                                        done

suse1:/etc # service SuSEfirewall2_setup status

Checking the status of SuSEfirewall2                                                                              unused

suse1:/etc # service SuSEfirewall2_init status

Checking the status of SuSEfirewall2                                                                              unused

 

suse1:/media/sf_suse1_share # chkconfig --list | grep -i fire

SuSEfirewall2_init        0:off  1:off  2:off  3:on   4:off  5:on   6:off

SuSEfirewall2_setup       0:off  1:off  2:off  3:on   4:off  5:on   6:off

suse1:/media/sf_suse1_share # chkconfig --level 35 SuSEfirewall2_init off

suse1:/media/sf_suse1_share # chkconfig --level 35 SuSEfirewall2_setup off

suse1:/media/sf_suse1_share # chkconfig --list | grep -i fire

SuSEfirewall2_init        0:off  1:off  2:off  3:off  4:off  5:off  6:off

SuSEfirewall2_setup       0:off  1:off  2:off  3:off  4:off  5:off  6:off

 

必须要安装的包:

binutils-2.21.1-0.7.25 (实际安装版本:binutils-2.23.1-0.17.18)

gcc-4.3-62.198

gcc-c++-4.3-62.198

glibc-2.11.3-17.31.1 (实际安装版本:glibc-2.11.3-17.54.1)

glibc-devel-2.11.3-17.31.1(实际安装版本:glibc-devel-2.11.3-17.54.1)

ksh-93u-0.6.1(实际安装版本:ksh-93u-0.18.1)

libaio-0.3.109-0.1.46

libaio-devel-0.3.109-0.1.46

libcap1-1.10-6.10

libstdc++33-3.3.3-11.9

libstdc++33-32bit-3.3.3-11.9

libstdc++43-devel-4.3.4_20091019-0.22.17(实际安装版本:libstdc++43-devel-4.3.4_20091019-0.37.30)

libstdc++46-4.6.1_20110701-0.13.9 (实际安装版本:libstdc++46-4.6.9-0.11.38)

libgcc46-4.6.1_20110701-0.13.9 (实际安装版本:libstdc++46-4.6.9-0.11.38)

make-3.81  (实际安装版本:make-3.81-128.20)

sysstat-8.1.5-7.32.1 (实际安装版本:sysstat- 8.1.5-7.45.24)

xorg-x11-libs-32bit-7.4 (实际安装版本:xorg-x11-libs-32bit-7.4-8.26.32.1)

xorg-x11-libs-7.4 (实际安装版本:xorg-x11-libs-7.4-8.26.32.1)

xorg-x11-libX11-32bit-7.4 (实际安装版本:xorg-x11-libX11-32bit-7.4-5.9.1)

xorg-x11-libX11-7.4 (实际安装版本:xorg-x11-libX11-.4-5.9.1)

xorg-x11-libXau-32bit-7.4 (实际安装版本:xorg-x11-libXau-32bit-7.4-1.15)

xorg-x11-libXau-7.4 (实际安装版本:xorg-x11-libXau-7.4-1.15)

xorg-x11-libxcb-32bit-7.4 (实际安装版本:xorg-x11-libxcb-32bit-7.4-1.29.1)

xorg-x11-libxcb-7.4 (实际安装版本:xorg-x11-libxcb-7.4-1.29.1)

xorg-x11-libXext-32bit-7.4 (实际安装版本:xorg-x11-libXext-32bit-7.4-1.16.21)

xorg-x11-libXext-7.4 (实际安装版本:xorg-x11-libXext-7.4-1.16.21)

unixODBC-2.2.14 (64-bit) (实际安装版本:unixODBC-2.2.12-198.17)

unixODBC-devel-2.2.14 (64-bit) (实际安装版本:unixODBC-devel-2.2.12-198.17)

 

第三部分:创建RAC安装所需要的目录和用户

---创建用户组

groupadd -g 2000 oinstall

groupadd -g 2001 dba

groupadd -g 2002 asmdba

groupadd -g 2003 asmadmin

groupadd -g 2004 asmoper

 

---创建用户,设定密码

useradd -G asmdba,dba -g oinstall -s /bin/ksh -u 3000 oracle

useradd -G asmdba,asmadmin,asmoper -g oinstall -s /bin/ksh -u 3001 grid

passwd oracle

passwd grid

 

---创建GIDB安装目录,设置权限

mkdir -p /oracle/app                           <---central Inventory的上层目录

mkdir -p /oracle/app/11.2.0/grid                                          <---grid用户的ORACLE_HOME

mkdir -p /oracle/app/grid                                                       <---grid用户的ORACLE_BASE

chown -R grid.oinstall /oracle/app/

 

mkdir -p /oracle/app/oracle/                     <---oracle用户的ORACLE_BASE

mkdir -p /oracle/app/oracle/product/11.2.0/db_1    <---oracle用户的ORACLE_HOME

chown -R oracle.oinstall /oracle/app/oracle

 

chmod g+w /oracle/app  <---GI安装完属主会变成root.oinstall,提前加上同组写权限,以便Inventory目录能够正常创建

 

第四部分:安装 RAC前的预配置工作

---配置/etc/hosts

192.168.1.121 suse1 suse1.oracle.com

192.168.1.122 suse1-vip

172.168.1.121 suse1-priv

 

192.168.1.123 suse2 suse2.oracle.com

192.168.1.124 suse2-vip

172.168.1.123 suse2-priv

 

192.168.1.126 suse-cluster suse-cluster-scan

 

---定义grid用户环境变量

export ORACLE_BASE=/oracle/app/grid

export ORACLE_HOME=/oracle/app/11.2.0/grid

export PATH=$PATH:$ORACLE_HOME/bin

export ORA_NLS10=$ORACLE_HOME/nls/data

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH:

export CLASSPATH=$ORACLE_HOME/JRE/lib:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

set -o vi

 

---定义oracle用户环境变量

export ORACLE_BASE=/oracle/app/oracle

export ORACLE_HOME=/oracle/app/oracle/product/11.2.0/db_1

export PATH=$PATH:$ORACLE_HOME/bin

export ORA_NLS10=$ORACLE_HOME/nls/data

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH:

export CLASSPATH=$ORACLE_HOME/JRE/lib:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

set -o vi

 

---设定gridoracle用户的limit参数,在/etc/security/limits.conf里加入

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

oracle hard stack 32768

 

grid soft nproc 2047

grid hard nproc 16384

grid soft nofile 1024

grid hard nofile 65536

grid soft stack 10240

grid hard stack 32768

 

---设定系统内核参数,在/etc/sysctl.conf里加入,并使之生效

kernel.sem=250 32000 100 128    #(系统缺省1250 32000 100 256)

kernel.shmall=524288                 #(系统缺省2097152)

kernel.shmmax= 2147483648    #(系统缺省3294967296)

kernel.shmmni=4096

fs.file-max=6815744

fs.aio-max-nr=1048576

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

vm.hugetlb_shm_group= 2000   #(oinstallgroupid)

 

sysctl -p

chkconfig boot.sysctl on    #系统启动时能读取/etc/sysctl.conf

 

---/etc/pam.d/xdm/etc/pam.d/su两个文件里加入PAM相关设定

session required pam_limits.so

 

---配置时间同步

(1)     /etc/ntp.conf

删除

server 127.127.1.0            # local clock (LCL)

加入

server 192.168.1.121            # local clock (LCL)

注释掉

fudge  127.127.1.0 stratum 10 # LCL is unsynchronized

 

(2)     /etc/sysconfig/ntp

NTPD_OPTIONS="-g -u ntp:ntp"

修改成

NTPD_OPTIONS="-x -g -u ntp:ntp"

 

(3)     ntp服务设置并启动

suse1:/etc/sysconfig # chkconfig --level 35 ntp on

insserv: warning: current start runlevel(s) (3 5) of script `vboxadd-x11' overwrites defaults (empty).

 

suse1:/etc/sysconfig # chkconfig --list ntp

ntp                       0:off  1:off  2:off  3:on   4:off  5:on   6:off

 

suse1:/etc/sysconfig # rcntp status

Checking for network time protocol daemon (NTPD):                                                                                                                     unused

suse1:/etc/sysconfig # rcntp start

Starting network time protocol daemon (NTPD)                                                                                                                          done

suse1:/etc/sysconfig # rcntp status

     remote           refid      st t when poll reach   delay   offset  jitter

==============================================================================

 suse1           .INIT.          16 u    -   64    0    0.000    0.000   0.000

 

Checking for network time protocol daemon (NTPD):    

 

suse1:/etc/sysconfig # ps -ef|grep -i ntp | grep -v grep         

ntp      24032     1  0 17:13 ?        00:00:00 /usr/sbin/ntpd -p /var/run/ntp/ntpd.pid -x -g -u ntp:ntp -i /var/lib/ntp -c /etc/ntp.conf     

                     

第五部分:clone出第二个节点

656667:从suse1.tpl这个虚拟机Clone出一个名为suse1的虚拟机

 

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署
图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署
图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

 

以上clone的过程默认会将目标主机与源主机的.vdi文件放在同一个盘符下,如果想放在不同的盘符里,可以在clone完之后使用如下方法将目标主机的.vdi文件挪至新的盘符:

A)      suse1-disk1.vdi从源目录F:/VBoxVMs/SUSE 11/suse1移到目标目录G:/VBoxVMs/SUSE 11/suse1

 

B)      执行如下命令在VBOX命令行为新路径下的.vdi文件生成一个新的UUID

"E:/Program Files/VirtualBox/VBoxManage.exe" internalcommands sethduuid "G:/VBoxVMs/SUSE 11/suse1/suse1-disk1.vdi"

 

UUID changed to: a9f2a180-8c4b-4558-bef1-a7af09139f8a

 

C)      存储设置界面中删除原来的.vdi文件,指向新的.vdi文件,图67-167-267-3

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

备份位置和共享目录有必要的话也改一下,图6869

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

 

---要使clone出来的节点能正常启动,还须完成如下配置

首次启动clone节点是会停在以下界面,图70

 
图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

原因在于clone出来的节点上的硬盘编号与源主机硬盘编号不同,但在clone主机的/boot/grub/menu.lst文件里仍保留着源主机上的硬盘编号,启动时按照menu.lst文件中的编号在clone主机上找当然找不到对应的硬盘,于是就出现了上述界面,’ata-VBOX_HARDDISK_VB52946b9d-44ce5752’这一串就是源主机上的硬盘编号在clone主机无法找到对应硬盘。

解决方法:

按照界面的提示输入”n”进入shell提示符,在/dev/disk/by-id目录下找到clone主机真正的硬盘编号,图71

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

通过SLES 11安装光盘引导重启clone主机到Rescue模式,图7273

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

手工mount /boot,图74

mount /dev/sda1 /boot

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

修改/boot/grub/menu.lst里的”52946b9d-44ce5752”替换成”73b3b14c-7e51ecb7”,图75,保存后重启主机,注意这次从硬盘启动

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

启动时还是会有些小问题,在fsck的时候还是去找了源主机上的硬盘,图76,按提示进入maintenance模式:

 

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

77/etc/fstab文件中上半部分还是使用了源主机的硬盘编号,把这部分也改成新的编号

 

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

修改后再次重启成功,事后经过多次测试可以在mount /boot的同时mount /dev/sda2 /mnt,将/mnt/etc/fstab里的硬盘编号也改成新的,这样就少了一次重启

 

---clone出来的节点作配置修改

因为RAC要求不同节点对应的网卡名称必须相同,先删除多余网卡、配置IP地址,再到/etc/udev/rules.d/70-persistent-net.rules里修改网卡名称”eth2”修改为”eth0” ”eth3”修改为”eth1”,然后重启主机,进行IP地址配置,图77-2787980

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

配置完成从源主机Ping测试网络连通性

suse1:/etc/sysconfig/network # ping suse2

PING suse2 (192.168.1.123) 56(84) bytes of data.

64 bytes from suse2 (192.168.1.123): icmp_seq=1 ttl=64 time=5.89 ms

64 bytes from suse2 (192.168.1.123): icmp_seq=2 ttl=64 time=0.257 ms

^C

--- suse2 ping statistics ---

2 packets transmitted, 2 received, 0% packet loss, time 1001ms

rtt min/avg/max/mdev = 0.257/3.075/5.894/2.819 ms

suse1:/etc/sysconfig/network # ping suse2-priv

PING suse2-priv (172.168.1.123) 56(84) bytes of data.

64 bytes from suse2-priv (172.168.1.123): icmp_seq=1 ttl=64 time=4.80 ms

^C

--- suse2-priv ping statistics ---

1 packets transmitted, 1 received, 0% packet loss, time 0ms

rtt min/avg/max/mdev = 4.804/4.804/4.804/0.000 ms

 

 

第六部分:配置共享存储

---Vbox界面里给第1个节点后添加存储,图818283

 

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

 

总共添加了1G2G4G三种规格的盘,每种盘各8块,将这些盘的属性改为共享,图84

 

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

---让第2个节点认出刚才在第1个节点上配置的共享存储,同样需要先关闭节点,图8586

 

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

---重启suse1suse2两个节点完成udev的配置,使之成为ASM candidate device

suse1:/dev # ls -l sd*

brw-rw---- 1 root disk  8,   0 Jun 15 07:33 sda

brw-rw---- 1 root disk  8,   1 Jun 15 07:33 sda1

brw-rw---- 1 root disk  8,   2 Jun 15 07:33 sda2

brw-rw---- 1 root disk  8,   3 Jun 15 07:33 sda3

brw-rw---- 1 root disk  8,   4 Jun 15 07:33 sda4

brw-rw---- 1 root disk  8,   5 Jun 15 07:33 sda5

brw-rw---- 1 root disk  8,  16 Jun 15 07:33 sdb

brw-rw---- 1 root disk  8,  32 Jun 15 07:33 sdc

brw-rw---- 1 root disk  8,  48 Jun 15 07:33 sdd

brw-rw---- 1 root disk  8,  64 Jun 15 07:33 sde

brw-rw---- 1 root disk  8,  80 Jun 15 07:33 sdf

brw-rw---- 1 root disk  8,  96 Jun 15 07:33 sdg

brw-rw---- 1 root disk  8, 112 Jun 15 07:33 sdh

brw-rw---- 1 root disk  8, 128 Jun 15 07:33 sdi

brw-rw---- 1 root disk  8, 144 Jun 15 07:33 sdj

brw-rw---- 1 root disk  8, 160 Jun 15 07:33 sdk

brw-rw---- 1 root disk  8, 176 Jun 15 07:33 sdl

brw-rw---- 1 root disk  8, 192 Jun 15 07:33 sdm

brw-rw---- 1 root disk  8, 208 Jun 15 07:33 sdn

brw-rw---- 1 root disk  8, 224 Jun 15 07:33 sdo

brw-rw---- 1 root disk  8, 240 Jun 15 07:33 sdp

brw-rw---- 1 root disk 65,   0 Jun 15 07:33 sdq

brw-rw---- 1 root disk 65,  16 Jun 15 07:33 sdr

brw-rw---- 1 root disk 65,  32 Jun 15 07:33 sds

brw-rw---- 1 root disk 65,  48 Jun 15 07:33 sdt

brw-rw---- 1 root disk 65,  64 Jun 15 07:33 sdu

brw-rw---- 1 root disk 65,  80 Jun 15 07:33 sdv

brw-rw---- 1 root disk 65,  96 Jun 15 07:33 sdw

brw-rw---- 1 root disk 65, 112 Jun 15 07:33 sdx

brw-rw---- 1 root disk 65, 128 Jun 15 07:33 sdy

 

输出配置内容加入到99-oracle-asmdevices.rules

cd /dev

ls -1 sd* | grep -v [0-90] | grep -v sda | cut -c 3-3|while read v_alpha 
do  
echo "KERNEL==/"sd*/", SUBSYSTEM==/"block/", PROGRAM==/"/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev//$name/", RESULT==/"`/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$v_alpha`/", NAME=/"asm$v_alpha/", OWNER=/"grid/", GROUP=/"asmadmin/", MODE=/"0660/""  
done >>
/etc/udev/rules.d/99-oracle-asmdevices.rules  

同步到suse2

scp  /etc/udev/rules.d/99-oracle-asmdevices.rules suse2:/etc/udev/rules.d/

启动udev

suse1:/dev # /etc/init.d/boot.udev stop

Stopping udevd:                                                                                                                                                       done

suse1:/dev # /etc/init.d/boot.udev start

Starting udevd:                                                                                                                                                       done

Loading drivers, configuring devices:

 

检查asm device已在/dev/目录下生成

suse1:/dev # ls -ld asm*

brw-rw---- 1 grid asmadmin  8,  16 Jun 15 16:54 asmb

brw-rw---- 1 grid asmadmin  8,  32 Jun 15 16:54 asmc

brw-rw---- 1 grid asmadmin  8,  48 Jun 15 16:54 asmd

brw-rw---- 1 grid asmadmin  8,  64 Jun 15 16:54 asme

brw-rw---- 1 grid asmadmin  8,  80 Jun 15 16:54 asmf

brw-rw---- 1 grid asmadmin  8,  96 Jun 15 16:54 asmg

brw-rw---- 1 grid asmadmin  8, 112 Jun 15 16:54 asmh

brw-rw---- 1 grid asmadmin  8, 128 Jun 15 16:54 asmi

brw-rw---- 1 grid asmadmin  8, 144 Jun 15 16:54 asmj

brw-rw---- 1 grid asmadmin  8, 160 Jun 15 16:54 asmk

brw-rw---- 1 grid asmadmin  8, 176 Jun 15 16:54 asml

brw-rw---- 1 grid asmadmin  8, 192 Jun 15 16:54 asmm

brw-rw---- 1 grid asmadmin  8, 208 Jun 15 16:54 asmn

brw-rw---- 1 grid asmadmin  8, 224 Jun 15 16:54 asmo

brw-rw---- 1 grid asmadmin  8, 240 Jun 15 16:54 asmp

brw-rw---- 1 grid asmadmin 65,   0 Jun 15 16:54 asmq

brw-rw---- 1 grid asmadmin 65,  16 Jun 15 16:54 asmr

brw-rw---- 1 grid asmadmin 65,  32 Jun 15 16:54 asms

brw-rw---- 1 grid asmadmin 65,  48 Jun 15 16:54 asmt

brw-rw---- 1 grid asmadmin 65,  64 Jun 15 16:54 asmu

brw-rw---- 1 grid asmadmin 65,  80 Jun 15 16:54 asmv

brw-rw---- 1 grid asmadmin 65,  96 Jun 15 16:54 asmw

brw-rw---- 1 grid asmadmin 65, 112 Jun 15 16:54 asmx

brw-rw---- 1 grid asmadmin 65, 128 Jun 15 16:54 asmy

 

第七部分:安装配置GI

这部分大家都比较熟了,不作详细解释,只截取关键步骤的截图,图8788899091929394

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

之后在按照提示运行root.sh的时候,出现了 USM driver install actions failed错误

suse1:~ # /oracle/app/11.2.0/grid/root.sh

Performing root user operation for Oracle 11g

 

The following environment variables are set as:

    ORACLE_OWNER= grid

    ORACLE_HOME=  /oracle/app/11.2.0/grid

 

Enter the full pathname of the local bin directory: [/usr/local/bin]:

The contents of "dbhome" have not changed. No need to overwrite.

The contents of "oraenv" have not changed. No need to overwrite.

The contents of "coraenv" have not changed. No need to overwrite.

 

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root script.

Now product-specific root actions will be performed.

Using configuration parameter file: /oracle/app/11.2.0/grid/crs/install/crsconfig_params

User ignored Prerequisites during installation

Installing Trace File Analyzer

USM driver install actions failed

/oracle/app/11.2.0/grid/perl/bin/perl -I/oracle/app/11.2.0/grid/perl/lib -I/oracle/app/11.2.0/grid/crs/install /oracle/app/11.2.0/grid/crs/install/rootcrs.pl execution failed

 

MOS上提供了p17475946_112040_Linux-x86-64.zip补丁解决该问题,先退出图形安装界面,安装17475946补丁

 

---1、节点1运行opatch auto安装17475946补丁

su - grid

$ORACLE_HOME/OPatch/ocm/bin/emocmrsp   <---生成OCM文件缺省是$HOME目录下的grid.rsp

 

su - root

suse1:/oracle/media/17475946p # ls

17475946  README.html  README.txt  bundle.xml

 

suse1:/oracle/media/17475946p # cd ..

suse1:/oracle/media # /oracle/app/11.2.0/grid/OPatch/opatch auto /oracle/media/17475946p -och /oracle/app/11.2.0/grid -ocmrf /home/grid/ocm.rsp   <--改用-och,此选项用于CRS未启动的情况

 

以下是安装补丁期间的输出

Executing /oracle/app/11.2.0/grid/perl/bin/perl /oracle/app/11.2.0/grid/OPatch/crs/patch11203.pl -patchdir /oracle/media -patchn 17475946p -och /oracle/app/11.2.0/grid -ocmrf /home/grid/ocm.rsp -paramfile /oracle/app/11.2.0/grid/crs/install/crsconfig_params

This is the main log file: /oracle/app/11.2.0/grid/cfgtoollogs/opatchauto2016-06-17_19-10-55.log

This file will show your detected configuration and all the steps that opatchauto attempted to do on your system:

/oracle/app/11.2.0/grid/cfgtoollogs/opatchauto2016-06-17_19-10-55.report.log

2016-06-17 19:10:55: Starting Clusterware Patch Setup

Using configuration parameter file: /oracle/app/11.2.0/grid/crs/install/crsconfig_params

/oracle/app/11.2.0/grid/bin/crsctl query crs activeversion ... failed rc=8 with message:

 Oracle Cluster Registry initialization failed accessing Oracle Cluster Registry device: PROC-26: Error while accessing the physical storage ORA-29701: unable to connect to Cluster Synchronization Service 

Stopping CRS...

Stopped CRS successfully

patch /oracle/media/17475946p/17475946  apply successful for home  /oracle/app/11.2.0/grid     <---表示17475946补丁安装成功

Starting CRS...

Installing Trace File Analyzer

CRS-4123: Oracle High Availability Services has been started.

。。。中间隔了大约5分钟

Oracle Grid Infrastructure stack start initiated but failed to complete at /oracle/app/11.2.0/grid/crs/install/crsconfig_lib.pm line 11814.

---安装完成后使用opatch lsinventory能看到该补丁安装成功

Interim patches (1) :

Patch  17475946     : applied on Fri Jun 17 19:15:51 CST 2016

Unique Patch ID:  18978376

Patch description:  "ACFS Interim patch for 17475946"

   Created on 29 May 2015, 06:35:10 hrs PST8PDT

   Bugs fixed:

     17475946

---2、节点2运行opatch auto安装17475946补丁

过程及输出同节点1

 

---3、由于之前配置CRS的过程中遇到了 USM driver install actions failed”报错而半途中断,这里需要重新配置CRS

deconfig,清理掉上次残留下的配置

 

节点1、节点2:分别执行deconfig.sh

su - root

/oracle/app/11.2.0/grid/crs/install/rootcrs.pl -deconfig -force -verbose

 

Successfully deconfigured Oracle clusterware stack on this node   <---出现这行表示Deinstall成功

 

节点1:重新执行config.sh

su - grid

cd $ORACLE_HOME/crs/config

./config.sh

 

再按照提示分别在node 1node 2执行

/oracle/app/11.2.0/grid/root.sh   <---命令输出如下,这次没有了"USM driver install actions failed"错误,说明17475946补丁确实生效了,但出现了下面这条的错误:

 

Creation of ASM spfile in disk group failed. Following error occured: ORA-29780: unable to connect to GPnP daemon [CLSGPNP_ERR]

上述错误MOS指出是由执行root.sh的用户设置的GRID_HOME不正确引起的,果然我们看到root用户的环境变量中存在ORA_CRS_HOMEORA_ASM_HOME两个环境变量,这两变量并非我们人为设置,其它还有ORACLE_SIDORACLE_BASEORACLE_HOME三个变量也不是我们所设置,猜测可能是因为我们在安装OS时选择了安装oracle_server包所致

suse1:/etc # env | grep ORA

ORA_CRS_HOME=/opt/oracle/product/11gR1/crs

ORA_ASM_HOME=/opt/oracle/product/11gR1/asm

ORACLE_SID=orcl

ORACLE_BASE=/opt/oracle

ORACLE_HOME=/opt/oracle/product/11gR1/db

 

暂时没找到这些环境变量放在那些个系统配置文件里,于是干脆在node 1node 2两节点的/root/.profile里清空掉这些变量

unset ORA_CRS_HOME

unset ORA_ASM_HOME

unset ORACLE_SID

unset ORACLE_BASE

unset ORACLE_HOME

 

节点 1:完成上述调整后重新执行root.sh

su - root

/oracle/app/11.2.0/grid/root.sh

 

这回终于往下走了

 

。。。省略了部分内容

ASM created and started successfully.

Disk Group DATA mounted successfully.

clscfg: -install mode specified

Successfully accumulated necessary OCR keys.

Creating OCR keys for user 'root', privgrp 'root'..

Operation successful.

CRS-4256: Updating the profile

Successful addition of voting disk 5dcd311cc84b4fe8bfb70fc21cea2d34.

Successful addition of voting disk 076d2279e9ad4fe9bfaf2fcf2d944d20.

Successful addition of voting disk 0f97acb2b7ea4fb1bfc2965317c2a0f2.

Successfully replaced voting disk group with +DATA.

CRS-4256: Updating the profile

CRS-4266: Voting file(s) successfully replaced

##  STATE    File Universal Id                File Name Disk group

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

 1. ONLINE   5dcd311cc84b4fe8bfb70fc21cea2d34 (/dev/asmb) [DATA]

 2. ONLINE   076d2279e9ad4fe9bfaf2fcf2d944d20 (/dev/asmc) [DATA]

 3. ONLINE   0f97acb2b7ea4fb1bfc2965317c2a0f2 (/dev/asmd) [DATA]

Located 3 voting disk(s).

CRS-2672: Attempting to start 'ora.asm' on 'suse1'

CRS-2676: Start of 'ora.asm' on 'suse1' succeeded

CRS-2672: Attempting to start 'ora.DATA.dg' on 'suse1'

CRS-2676: Start of 'ora.DATA.dg' on 'suse1' succeeded

Configure Oracle Grid Infrastructure for a Cluster ... succeeded

节点 2:同样需要执行root.sh

su - root

/oracle/app/11.2.0/grid/root.sh

 

执行完后检查Clusterware状态正常,图95

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

节点1:回到原图形安装界面继续下面的步骤

96

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

97:忽略掉Oracle Cluster Verification UtiliyFailed,因为”suse-cluster-scan”名称我们是通过本地hosts解析的没有通过DNS所以验证时报错

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

第八部分:安装DB与建库

---安装DB软件

这里也是把一些主要步骤的截图提供出来,不一一列举了,图9899100101102103

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

 

在安装DB软件的过程中唯一需要注意的地方是:

oracle用户下的环境变量ORA_NLS10要么不要设置要么设置为$GRID_HOME/nls/data,如果设置为$ORACLE_HOME/nls/data,则在进行到”Prerequisite Checks”阶段时会遇到如下错误:

An internal error occurred within cluster verification framework

Unable to obtain network interface list from Oracle Clusterware PRCT-1011 : Failed to run "oifcfg". Detailed error: nullMOS文档1380183.1对此有记载。可以在DB安装完之后恢复ORA_NLS10参数的设定

 

---建库

这里也是把一些主要步骤的截图提供出来,不一一列举了,图104105106107108109110

 图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署

 

 

 

 

 

 

 

 

 

 

正文到此结束
Loading...