上传clusterware_linux32.zip安装介质后,以unzip命令对这个文件进行解压缩,解压完成之后得到clusterware这个文件夹。
[oracle@rac1 cluvfy]$ /data/rhel5/clusterware/cluvfy/runcluvfy.sh stage -pre crsinst -n rac1,rac2 -verbose
在这个过程中,系统可能会报错,比如说什么包需要安装啊,swap区过小啊,这些东西统统不用管他们,跳过即可。这里说明一下,ORACLE有时候报的错莫名其妙,牛头不对马嘴,比如说前段时间我在HP环境下配置ORACLE RAC,在加载裸设备ocr的时候,系统报错说赋予ocr的权限和属主有问题,建议查清后再说。仔细检查之后,权限跟属主一点问题没有,结果是因为共享卷组没有激活导致,这想起来就很气人了,有这样忽悠群众的吗?所以ORACLE下的报错不必较真,就像这里一样,经过一番检查,他认为你试验环境没有达标,但你硬要往下做他也拿你没招,典型的吃硬不吃软。下面开始安装clusterware:
5,又到了安装前期的环境检查,这里需要把握的就是,凡是系统检查没有报告“failed”,那么就不用管,“warning”或者“not executed”都没有关系,只要我们在对应的小方框里面打勾就可以了:
6,这个地方系统默认只显示一个节点,另一个节点需要我们手工添加进来:
7,指定网卡类型,这里系统把所有可用的网卡都扫描进来,而我们实际需要用到的只有eth0跟eth1而已,除了手工屏蔽掉eth2跟virbr0之外(设置为not use),还需要把eth0设置为public方式:
先告一段落,后续再接上。
接着上回说,下面要导入裸设备文件ocr跟vote。
1,导入ocr所对应裸设备路径,点击“next”:
2,导入“vote”所对应裸设备路径,点击“next”:
3,磁盘、网络、安装路径设置完之后,下面开始正式的安装过程:
主节点安装完成后,系统会自动往RAC2对应目录下拷贝clusterware的所有文件。
4,献上一幅美图:
从这个图上可以看出系统的繁忙程度,在进行远程拷贝操作的时候,网卡繁忙得不行,同时本地磁盘也没有闲着。
5,安装过程完成之后,需要两个节点各自以root身份运行一些小脚本:
到这块就没这么轻松了,其实在/opt/ora10g/oraInventory下执行orainstRoot.sh都没有问题,在RAC1下执行/opt/ora10g/product/10.2.0/crs_1下执行root.sh也没有问题,难就难在rac2下执行root.sh脚本,不知道是系统bug的问题还是什么,反正就不让你好好做完,怎样都会报错,最后还需要手工运行vipca来启动一些进程,根据君三思提供的解决方案,下面列出一个专题来进行说明。
这里附上各节点执行sh脚本的一些情况:
1,RAC1节点执行orainstRoot.sh:
2,RAC2节点执行orainstRoot.sh:
3,RAC1节点执行root.sh:
到这里前期的执行都是没有问题的。从RAC2开始执行root.sh这一刻起,问题来了,下面就着问题给出正确的解决方案:
4,RAC2节点上执行root.sh之前需要编辑两个文件,这两个文件都位于/opt/ora10g/product/10.2.0/crs_1/bin下,文件名分别为vipca和srvctl。首先编辑vipca文件,找到如下内容:
Remove this workaround when the bug 3937317 is fixed
arch=`uname -m`
if [ "$arch" = "i686" -o "$arch" = "ia64" ]
then
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
fi
#End workaround
在fi 后新添加一行:
unset LD_ASSUME_KERNEL
然后编辑srvctl文件,找到如下内容:
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
同样在其后新增加一行:
unset LD_ASSUME_KERNEL
对应的报错信息是:
/opt/ora10g/product/10.2.0/crs_1/jdk/jre//bin/java: error while loading shared libraries: libpthread.so.0:
cannot open shared object file: No such file or directory
5,然后到RAC2节点下用root用户身份执行/opt/ora10g/product/10.2.0/crs_1下的root.sh:
看到了吗?又报错了,对应这个错误的解决方案如下图所示:
这时候没有必要再返回重新执行root.sh了,需要我们手工执行vipca命令来为两个节点添加一些必要的进程,至于在哪个节点上运行,这个就无所谓了,这里我是在RAC2上执行vipca命令:
点击“next”:
系统自动找到public的eth0,点击“next”:
在空白处填写各节点对应的vip名称以及IP地址(其实只要填写RAC1的vip名称,再点其他空白处,就自动获取出来了),点击“next”:
下面开始安装:
这个地方安装完之后就可以点击“ok”退出了。这个步骤执行完了之后我们还需要执行一个收尾的步骤,还记得clusterware的安装是在RAC1上进行的吗?上一篇文章给出最后一幅图片是到各个节点上运行脚本,这里我们手工运行完vipca之后,如果成功,那么相当于RAC2的root.sh也顺利完成使命,下一步需要做的就是返回到RAC1节点,执行剩下的步骤,如下图所示:
执行完毕之后退出整个clusterware的安装过程。
辛辛苦苦安装完clusterware之后,为的就是能在各自节点上看到CRS进程,如果这个也没问题,那才表示clusterware软件彻底安装成功:
到这里,可以看到RAC1和RAC2上各自对应的CRS进程都已经起来,可以放心了,clusterware安装过程结束。
clusterware软件安装结束,在各自节点也看到了CRS进程,下面继续database数据库软件的安装过程,因为这个过程比较简单,这里就简要奉上截图:
1,上传10201_database_linux32.zip到“ly_media”文件系统,以unzip命令解压database软件,赋予正确的权限和属主,再以
Oracle身份登陆进行安装:
2,弹出oracle安装界面:
3,点击“next”:
4,oraInventory仍然使用系统默认的路径,点击“next”:
5,选择企业版安装方式,点击“next”:
6,选择ORACLE数据库的安装路径,点击“next”:
7,选中两个节点,点击“next”:
8,按惯例,执行系统级检查:
9,在“warning”和“not executed”的小方框里面打勾,点击“next”:
10,这里只安装database软件,实例在后期安装:
11,下面是安装过程,因为在虚拟机+linux操作系统+
Oracle数据库安装程序同时运行,内存消耗比较大,所以这个过程比较长:
12,在安装进行到尾声的时候,在弹出来的对话框中按要求执行几个脚本程序,和clusterware安装阶段类似:
这个地方要注意一下,系统提示要在RAC1上以root执行orainstRoot.sh这个脚本,对RAC2没有要求。但没有要求并不等于不需要做,先来看看RAC1下执行orainstRoot.sh都执行了什么步骤:
可见这一步主要是给oraInventory目录赋予正确的权限和属主,即使系统没有要求,我们也需要到RAC2上执行类似的操作,给与oraInventory目录真确的权限和属主,否则在最后阶段会有报错信息。
11,分别到各个节点执行root.sh脚本:
12,点击“next”进行退出,database软件部分安装结束:
数据库软件安装完成之后,接下来要做的是给两个节点配置listener,也就是监听。监听在
Oracle RAC中的地位非常重要,如果监听没有配置好,后期使用RAC方式建立实例就会出问题,下面在RAC1节点上以oracle身份登陆,运行netca,打开网络配置,来完成监听过程的全过程。
1,通过oracle运行netca,打开网络配置界面,选择cluster配置方式,点击“next”:
2,选中两个节点,点击“next”:
3,选择监听配置模式,点击“next”:
4,选择“添加”,点击“next”:
5,给监听起一个名称,可以使用系统默认的LISTENER,然后点击“next”:
6,选择可使用的协议,这里选择TCP协议,点击“next”:
7,使用1521端口,点击“next”:
8,系统问是否还要配置其他监听,选择“No”,点击“next”:
9,监听配置完毕,点击“next”退出:
10,在终端窗口可以看到监听的配置情况:
11,在/opt/ora10g/product/10.2.0/crs_1/bin下运行命令crs_stat -t,可以看到刚配置好的两个监听进程已经启动:
到这里,监听部分的配置过程结束,接下来是要进行ORACLE RAC环节中的最后一步,也就是实例的创建过程。
在进行数据库的创建和ASM实例的安装之前,我们要确保三件事,一要确保两个节点的CRS进程都已经起来,二要确保两个节点的监听进程都已经启动,三要确保vip都运行在各自的节点上,不能发生vip飘移的现象,否则ASM实例的创建过程会出问题。这三点无误,那么下面来到数据库以及ASM实例的创建过程:
1,仍然在RAC1节点上,以
Oracle用户登陆,运行dbca:
2,选择RAC方式创建数据库,点击“next”:
3,选择“创建一个数据库”,点击“next”:
4,选上两个节点RAC1和RAC2,点击“next”:
5,选择“Custom Database”,点击“next”:
6,创建数据库名为“RACDB”,点击“next”:
7,Enterprise Manager(图形化管理界面)这个地方可选可不选,因为我空间足够大,所以这个地方选上了,点击“next”继续:
8,创建管理员密码,点击“next”:
9,选择“ASM”方式,点击“next”:
10,再次创建密码,以及相关的参数文件类型,点击“next”:
11,系统提示即将创建ASM实例,点击“OK”进行ASM实例的创建:
12,点击“CREATE NEW”来创建共享卷组:
13,点击创建卷组之后,系统会扫描可用的裸设备,因为前期创建了2GB大小的/dev/sdd和/dev/sde两块盘,这里被系统扫描出来。选中两块磁盘,给卷组命名为“rac_disk”,冗余方式选择“External”,然后点击“OK”:
14,创建共享卷组“rac_disk”过程:
15,创建好后,卷组自动在两个节点mount,如下图所示:
值得一提的是,我在两次实验过程中都发现,两节点上CRS进程、监听都运行得好好的,但是在创建共享卷组的时候会莫名其妙的出来一错误提示,说RAC2上的监听没有生效,因此无法在RAC2节点上mount卷组。遇到这种情况的解决方法是在RAC2节点上停掉CRS进程重启一次,然后再回到RAC1图形界面下点击“Mount All”可以解决。
------>>
http://www.linuxidc.com/Linux/2011-02/31976p30.htm