虚拟机:VMware 9.0
OS:Window Server 2003 Enterprise (32 Bit)
Clusterware:10.2.0.1->10.2.0.4
Database:10.2.0.1->10.2.0.5
以前习惯了在Linu环境下搭建玩RAC,昨天第一次尝试在Windows上玩了一把,有人肯定会觉得很不屑,觉得Windows平台没什么实用价值,谁说不是呢?话虽如此,但也不能说就一定没有用windows的生产环境了,既然如此,那么作为DBA的我们,就要成为多面手,无论处理何种平台,都要做到心中有数,遇事才不会慌了手脚。下面我把部署过程中遇到的一些问题分享一下,不会讲具体操作过程,只会列出几个比较需要注意的问题:
1.必须确保使用administrator用户执行安装,不允许空密码
2.推荐使用远程桌面连接方式安装,如VNC等
3.要修改2个环境变量
TEMP=C:\WINDOWS\TEMP,TMP=C:\WINDOWS\TEMP
4.网络配置(重点)
主网卡(桥接),配上VIP地址,要有网关
副网卡(Host Only),配上PRIV地址,无需网关
配置完后要用PING和NET USE \\NODE1\C$测试一下,看网络是否连同,这是正确安装RAC的基本保障
另外,由于Windows是网络传输敏感性的,所以还要修改一下注册表,在HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters项目中,要添加一个DoubleWord字段,值为1。改完后作为网络连通性测试,还要连一下远程注册表,看能否正常连上节点2的注册表,必须是可以的才行
最后,一定要注意把网卡顺序调成PUBLIC在第一位,PRIVATE在后面,否则安装OUI时,执行到添加节点这里,会自动添加-PRIVv到相应的节点名称后面,如:
原来在%sysroot%\DRIVERS\ETC\HOSTS文件中明明写了NODE NODE-VIP NODE-PRIV将会变成NOD-PRIV NODE-VIP-PRIV NODE-PRIV-PRIV这样,就算你修改成和HOST中配置的文件一样也没用,无法NEXT的,所以一定千万要注意!!!
5.运行services.msc,把其中一个服务关闭,名字是Distributed Tracation Coordinator
6.时间同步也要注意,保证2个节点的时间是一致的,可以双击任务栏中的时间,然后选择“Internet时间”,选择相应的服务器进行同步
7.配置共享磁盘(也是重点)
具体不多说,可以去网上搜命令和方法,主要讲讲我的经验。这块如果配置不好,2个节点间是无法正常通信的,因为RAC环境的两个重要部分OCR和VOTINGDISK都是需要放在共享磁盘中的。主要就是注意,提前规划好磁盘大小,因为一旦确定了OCR和VOTINGDISK磁盘,就不太会再动了,我的经验是,10g的话,OCR只有100多M,给个500M就足够了,VOTINGDISK也不需要给很多,500M也足够了,如果是11g那相应要多给一点,1G吧。Windows查看磁盘工具是DISKPART,挺好用的,具体用法可以不带参数直接输入DISKPART按回车,就能看帮助了,10g我们一般是用裸盘,不要格式化文件系统,也不要给盘符,只要建立好分区和逻辑驱动器就可以了
另外,如果是VMware来搞的话,要注意在“节点名”.vmx文件中添加入disk.locking = "FALSE",否则当你同时启动2个虚拟机时,会报一个xx磁盘被lock的错误弹窗,无法正常开启。
8.做完以上步骤以后,其实就可以clone一个主机作为节点2了,然后修改主机名、网卡IP等信息,需重启生效
9.安装RAC之前,要先用命令预检一下,看各个配置环节有没有疏漏,命令如下:runcluvfy.bat stage -pre crsinst -n node1,node2 [-verbose]
安装完以后,也可以用这个命令再次检验一下:runcluvfy.bat stage -post hwos -n node1,node2 [verbose]
10.坑爹的来了,这个问题困扰了我一天,前前后后装了足足4次,就是关于vipca在10.2.0.1 RAC的bug引发的一系列问题,官方是这么说的,由于Windows在10.2.0.1这个版本下存在Oracle相关服务不能自动启动的BUG,必须安装一个后续PATCH中才有的工具来解决,名字叫做opmd.exe。否则当你顺利装完RAC后,满心欢喜去执行VIPCA就以为大功告成的时候,会很悲催的,会报PRKH-1010和PRKR-1062的错误,丝毫没有别的解决办法,手动去启动SERVICE服务也没用,执行crsctl start crs就卡住,而且日志信息也没有明显的ERROR提示。安装完opmd以后,一切问题都搞定,整个人都轻松了好多,执行VIPCA也正常了。
好了,先写这么多,希望对大家以后在Windows上玩RAC带来一定的帮助。最后应用一下官方对这个bug SOLUTION的说明:
Oracle BUG:4537790 was logged for this issue, although the problem is more of an OS initialization problem than a CSS problem. The fix for BUG:4537790 is to provide an executable called 'opmd.exe' . The opmd.exe allows the creation of a new service called the 'Oracle Process Manager'. The Oracle Process Manager will control the startup of the clustering services to prevent the OracleCSService (or OracleCMService9i) from starting up before the rest of the OS services have started.
To resolve this problem, you must obtain the patchset for your release which contains the 'opmd.exe'. The following patches contain this utility: