windows 2008+Oracle 11g R2 故障转移群集配置完整版
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://shawnephay.blog.51cto.com/2573807/475066
        在最近项目中,有个客户要搭建windows 2008+Oracle 10 R2群集。由于windows 下的Oracle HA大都是在windows 2003环境实施的。所以事先就利用VMware 把2008群集测试了一下,发现2003和2008的群集还是有蛮大的变动的。但万变还是不离其宗得,不多废话了,先看实验再说。具体的涉及到的一些该注意的地方会在实验最后陈述。欢迎大家相互交流和讨论。
 
 
 
 
一. 故障转移群集环境介绍
 
1.1 逻辑拓扑图
                       windows2008+Oracle故障转移群集_windows2008
 
1.2 服务器A
      OS:win 2008 entprise sp1             ServerName:node1
      Pubic_IP:192.168.200.1/24            DNS:192.168.200.1
      Heartbeat_IP:10.10.10.10/24
 
1.2 服务器B
      OS:win 2008 entprise sp1             ServerName:node2
      Public_IP:192.168.200.2/24            DNS:192.168.200.1
      Heartbeat_IP:10.10.10.20/24
 
1.3 群集cluster
      DomainName:mscs.com           ClusterName:cluster
      Cluster_IP:192.168.200.3/24
 
1.4 服务器C(通过starwind软件虚拟仲裁和共享盘)
       IP:192.168.200.200/24
      仲裁盘Q:Quorum/1GB
      共享盘R:Sharedisk/12GB
 
二、准备工作:
 
2.1 服务器A、B网卡的设置
 
  (1)网卡优先级:“Heartbeat”网卡置顶
windows2008+Oracle故障转移群集_Oracle_02
 
 
windows2008+Oracle故障转移群集_群集_03
 
(2)修改服务器A和B的“Heartbeat”网卡属性
        windows2008+Oracle故障转移群集_Oracle_04
 
windows2008+Oracle故障转移群集_Oracle_05
 
2.2 分别在本地host文件添加各自的记录(C:\windows\system32\drivers\etc\hosts)
    A:192.168.200.2          node2
           192.168.200.3          cluster
           192.168.200.200      BackupServer 
    B:192.168.200.1          node1
           192.168.200.3          cluster
           192.168.200.200      BackupServer
 
2.3  A和B防火墙设置:把两片网卡勾去掉,不然彼此不能正常通信
   windows2008+Oracle故障转移群集_windows2008_06
 
三、创建仲裁盘和共享盘:
 
3.1 在服务器C上安装starwind软件(我用的是破解的4.0版本,现在已经更新至5.x版本了),安装比较简单,就截几张重要的图。
 
 
windows2008+Oracle故障转移群集_故障转移_07
   (下面要选择完全安装)
 
windows2008+Oracle故障转移群集_Oracle_08
 
 
windows2008+Oracle故障转移群集_Oracle_09
 
 
3.2 连接Starwind软件
windows2008+Oracle故障转移群集_故障转移_10
 
 
windows2008+Oracle故障转移群集_群集_11
 
 
3.3 创建仲裁盘
 
(1)如图右击“添加设备”
windows2008+Oracle故障转移群集_故障转移_12
 
 
(2)选择p_w_picpath文件设备
windows2008+Oracle故障转移群集_windows2008_13
 
(3)选择创建新的虚拟磁盘(我创建在C盘的根目录,一定是以“.img”后缀结尾的文件)
windows2008+Oracle故障转移群集_故障转移_14
windows2008+Oracle故障转移群集_故障转移_15
 
 
(4)置顶Img文件参数:第三个选项一定勾上,否则建群集找不到仲裁盘和共享盘
windows2008+Oracle故障转移群集_休闲_16
 
 
(5)给设备文件命名
windows2008+Oracle故障转移群集_windows2008_17
 
 
(6)创建完成
windows2008+Oracle故障转移群集_群集_18
 
 
3.4 创建共享盘(不作过多描述,同理中裁判的创建)
    (1)(2)(3)步骤同3.3的一样操作
windows2008+Oracle故障转移群集_故障转移_19
 
windows2008+Oracle故障转移群集_windows2008_20
 
windows2008+Oracle故障转移群集_休闲_21
 
windows2008+Oracle故障转移群集_休闲_22
 
 
windows2008+Oracle故障转移群集_Oracle_23
 
 
 
四、在服务器A和B上连接仲裁盘和共享盘
     
 首先让iSCSI服务通过防火墙
windows2008+Oracle故障转移群集_故障转移_24
      第二就是在服务里把iSCSI服务设置为自动启动(不然下面的工作就进行不下去了)
 
4.1 在A上打开“ISCSI发起程序”:
 
(1)开始-->管理工具-->ISCSI发起程序
 
(2)点击“发现”选项,然后添加target端的IP地址(服务器C)
windows2008+Oracle故障转移群集_windows2008_25
 
 
(3)点击“目标”(开始的时候“quo”和“sha”默认都是“不活动”的),把鼠标移到“quo”上,然后点击下面的“登陆”,就会弹出右边的对话框,把第一个勾勾上就可以了。此时“quo”和“sha”的状态都是“已经接”。
windows2008+Oracle故障转移群集_故障转移_26
 
 
(4)iSCSI发起程序已经设置好了,接下来打开磁盘管理器,初始化磁盘,分别格式化并分配盘符。
windows2008+Oracle故障转移群集_windows2008_27
 
 
4.2 在服务器B上做同样的操作,具体参考4.1的步骤
 
4.3 服务器A和B都操作完后,再到服务器C上,进入starwind软件就会发现,仲裁盘和共享盘已成功分配给A和B。如下图:
windows2008+Oracle故障转移群集_休闲_28
 
 
五、安装主域控和备份域控
 
5.1 在A上安装主域控(安装都比较简单,见图说话)
 
(1)运行dcpromo
windows2008+Oracle故障转移群集_群集_29
 
 
windows2008+Oracle故障转移群集_Oracle_30
 
 
windows2008+Oracle故障转移群集_休闲_31
 
 
 
windows2008+Oracle故障转移群集_Oracle_32
 
windows2008+Oracle故障转移群集_群集_33
 
 
windows2008+Oracle故障转移群集_windows2008_34
 
 
windows2008+Oracle故障转移群集_Oracle_35
 
windows2008+Oracle故障转移群集_故障转移_36
 
 
windows2008+Oracle故障转移群集_windows2008_37
 
 
 
windows2008+Oracle故障转移群集_windows2008_38
 
 
windows2008+Oracle故障转移群集_群集_39
 
 
windows2008+Oracle故障转移群集_群集_40
 
 
5.2 在B上安装备份域控
 
(1)运行dcpromo
windows2008+Oracle故障转移群集_Oracle_41
 
windows2008+Oracle故障转移群集_Oracle_42
 
 
windows2008+Oracle故障转移群集_休闲_43
 
windows2008+Oracle故障转移群集_群集_44
 
windows2008+Oracle故障转移群集_故障转移_45
 
windows2008+Oracle故障转移群集_windows2008_46
 
windows2008+Oracle故障转移群集_windows2008_47
 
windows2008+Oracle故障转移群集_群集_48
 
windows2008+Oracle故障转移群集_windows2008_49
 
windows2008+Oracle故障转移群集_Oracle_50
 
windows2008+Oracle故障转移群集_群集_51
 
windows2008+Oracle故障转移群集_windows2008_52
 
windows2008+Oracle故障转移群集_群集_53
 
windows2008+Oracle故障转移群集_Oracle_54
 
 
windows2008+Oracle故障转移群集_休闲_55
 
                //至此,主域控和备份域控已经安装好了//
 
 
六、安装和配置故障转移群集
 
6.1 分别在A和B上安装“故障转移群集管理”
 
(1)开始-->管理工具-->服务器管理器-->右击左上角“功能选项”,选择“添加功能”
windows2008+Oracle故障转移群集_Oracle_56
 
 
(2)选中“故障转移群集”
 
windows2008+Oracle故障转移群集_群集_57
 
 
(3)确认选择并开始安装
 
windows2008+Oracle故障转移群集_故障转移_58
 
 
6.2 待A和B都安装完了之后,开始创建故障转移群集了(A和B可以一起创建,群集会自动关联仲裁盘和数据盘的;也可以先创建一个,然后把另外一个添加到群集)
 
(1)在管理工具里点击故障转移群集
windows2008+Oracle故障转移群集_故障转移_59
 
(2)点击右上角“创建一个群集”
windows2008+Oracle故障转移群集_休闲_60
 
 
(3)选中要加入群集的服务器A和B
windows2008+Oracle故障转移群集_windows2008_61
 
 
 
(4)测试群集的安装环境
windows2008+Oracle故障转移群集_Oracle_62
 
 
(5)测试通过后,下一步就是输入群集名和群集IP(一般来说测试通过的话群集也就差不多成功一大半了)
 
windows2008+Oracle故障转移群集_休闲_63
 
 
(6)确认群集信息
 
windows2008+Oracle故障转移群集_群集_64
 
 
(7)正在配置群集
windows2008+Oracle故障转移群集_Oracle_65
 
 
(8)此时群集已经创建完成
windows2008+Oracle故障转移群集_休闲_66
 
 
 
6.3 模拟群集故障转移环境:
 
   (1)停掉活动节点的群集服务,把群集切换到不活动节点上
   (2)关机或重启活动群集的服务器,切换到另一台上
     群集切换没问题的话,接下来可以直接安装数据库了。
 
七、开始安装Oracle 11g R2数据库
 
7.1 在A节点安装Oracle 11g,但不创建数据库
 
   (1)把群集切换到A节点上
   (2)把Oracle 11g的两个“.zip”文件解压到同一个目录中,然后点击“setup”程序开始安装。
 
    (3)有邮件的输入电子邮件,没有就直接下一步
windows2008+Oracle故障转移群集_windows2008_67
 
 
(4)选择第二个,只安装软件
windows2008+Oracle故障转移群集_群集_68
 
 
(5)选择第一个,这里不是搭建Oracle RAC
windows2008+Oracle故障转移群集_群集_69
 
(6)选择语言
windows2008+Oracle故障转移群集_群集_70
 
(7)选择所需安装的版本
windows2008+Oracle故障转移群集_群集_71
 
 
(8)Oracle软件和相关目录都安装在共享磁盘 R盘上
windows2008+Oracle故障转移群集_休闲_72
 
(9)直接点击完成
windows2008+Oracle故障转移群集_windows2008_73
 
(10)正在安装中
windows2008+Oracle故障转移群集_windows2008_74
 
(11)已经安装成功
windows2008+Oracle故障转移群集_休闲_75
 
(11)至此,A节点的Oracle 软件已经安装完。
 
7.2 在节点B上安装Oracle 11g ,但不创建数据库
 
(1)把群集切换到节点B上,
(2)接下来的步骤同7.1的一样,Oracle 软件直接安装覆盖7.1的安装目录(即同一目录下)
 
7.3 在节点A上创建Oracle 11g 数据库
 
(1)把群集切换到节点A上
(2)运行“dbca”,配置数据库
windows2008+Oracle故障转移群集_群集_76
 
(3)下一步
windows2008+Oracle故障转移群集_Oracle_77
 
(4)创建数据库,下一步
windows2008+Oracle故障转移群集_群集_78
 
(5)选择第一个,下一步
windows2008+Oracle故障转移群集_windows2008_79
 
(6)配置数据库名“oracluster”,下一步
windows2008+Oracle故障转移群集_windows2008_80
 
(7)下一步
windows2008+Oracle故障转移群集_群集_81
 
(8)配置Oracle账户密码
windows2008+Oracle故障转移群集_休闲_82
 
(9)指定数据库的安装位置---共享盘 R盘上
windows2008+Oracle故障转移群集_Oracle_83
 
(10)下一步
windows2008+Oracle故障转移群集_休闲_84
 
(11)下一步
windows2008+Oracle故障转移群集_Oracle_85
 
(12)下一步
windows2008+Oracle故障转移群集_群集_86
 
(13)点击完成,开始创建
windows2008+Oracle故障转移群集_群集_87
 
(14)确认数据库的配置信息
windows2008+Oracle故障转移群集_windows2008_88
 
(15)正在创建数据库
windows2008+Oracle故障转移群集_群集_89
 
(16)数据库创建完成
windows2008+Oracle故障转移群集_windows2008_90
 
 此时A节点的数据库已经创建完。
 
7.4 在节点B上创建数据库
 
(1)把群集切换到节点B上
(2)运行“dbca”创建数据库,过程和7.3一样,数据库的安装路径也A节点都是在同一个目录(即覆盖安装)
(3)节点B的数据库创建完
 
7.5 在节点B上创建Oracle侦听程序
 
(1)运行“netca”
windows2008+Oracle故障转移群集_休闲_91
 
(2)第一个,下一步
windows2008+Oracle故障转移群集_Oracle_92
 
 
(3)添加,下一步
windows2008+Oracle故障转移群集_休闲_93
 
(4)直接下一步
windows2008+Oracle故障转移群集_Oracle_94
 
(5)下一步
windows2008+Oracle故障转移群集_群集_95
 
(6)下一步
windows2008+Oracle故障转移群集_windows2008_96
 
(7)选择否,下一步
windows2008+Oracle故障转移群集_windows2008_97
 
 
(8)监听程序配置完成
windows2008+Oracle故障转移群集_Oracle_98
 
(9)节点B的监听程序配置完成
 
7.6 在节点A上创建监听程序
 
(1)把群集切换到节点A上,运行“netca”配置
         从第二步道第九步和7.5的一样,除了第三步:
在这里要选择“第二个”---->“重新配置”
 
windows2008+Oracle故障转移群集_群集_99
 
7.7 把Oracle 实例服务和监听服务添加到群集里
 
 7.7.1  分别在A和B节点上,修改Oracle实例服务和监听程序服务为手动
(1)节点A
 
windows2008+Oracle故障转移群集_Oracle_100
 
(2)节点B
 
windows2008+Oracle故障转移群集_群集_101
 
 
7.7.2添加Oracle 实例服务到群集里。
 
(1)打开群集管理器,右击“服务和应用程序”,选择“配置服务或应用程序”
windows2008+Oracle故障转移群集_群集_102
 
 
(2)直接下一步
 
windows2008+Oracle故障转移群集_Oracle_103
 
 
(3)选择通用服务,下一步
windows2008+Oracle故障转移群集_Oracle_104
 
 
(4)选择Oracle实例服务
windows2008+Oracle故障转移群集_故障转移_105
 
 
(5)输入服务名称和关联的IP(群集IP)
windows2008+Oracle故障转移群集_休闲_106
 
 
(6)选择关联的存储,即共享磁盘。
windows2008+Oracle故障转移群集_休闲_107
 
 
(7)下一步
windows2008+Oracle故障转移群集_Oracle_108
 
 
(8)确认信息,下一步
windows2008+Oracle故障转移群集_Oracle_109
 
 
(9)Oracle实例服务已经成功添加到群集
windows2008+Oracle故障转移群集_群集_110
 
 
7.7.3添加监听程序到群集。
 
(1)右击“服务和应用程序”,选择“配置服务或应用程序”,下一步
 
windows2008+Oracle故障转移群集_故障转移_111
 
 
(2)选择通用服务
windows2008+Oracle故障转移群集_群集_112
 
(3)选择Oracle监听服务,下一步
windows2008+Oracle故障转移群集_windows2008_113
 
 
(4)输入监听程序服务名称和关联的IP(群集IP)
windows2008+Oracle故障转移群集_群集_114
 
(5)下一步
windows2008+Oracle故障转移群集_故障转移_115
 
 
(6)下一步
windows2008+Oracle故障转移群集_故障转移_116
 
(7)确认信息
windows2008+Oracle故障转移群集_windows2008_117
 
 
(8)监听程序服务已经添加完成
windows2008+Oracle故障转移群集_群集_118
 
 
(9)在群集中查看添加的服务
windows2008+Oracle故障转移群集_休闲_119
 
 
八、最后验证windows 2008+Oracle 11g 故障转移群集
 
双向验证:
 
1. 把群集切换到节点A上,运行  sqlplus  " /as  sysdba" 。如显示下图表示已经连接到实际的数据库,否则就是连接到一个空的实例
 
windows2008+Oracle故障转移群集_故障转移_120
 
 
2.  把群集切换到节点B上,运行  sqlplus  " /as  sysdba" 。如显示下图表示已经连接到实际的数据库,否则就是连接到一个空的实例。
 
windows2008+Oracle故障转移群集_故障转移_121
 
*****切记:Oracle实例服务和监听程序服务启动了,并不代表已经连接到了实际的数据库,如果群集配置切换不成功的话,往往就会在这个服务上给人假象,只要通过“splplus” 已连接就知道了。而且在切换之后也可以通过查看Oracle进程,来判断Oracle数据库有没有起来。
 
 
九、实验过程中的问题
 
1. windows 2008群集存储(仲裁盘和共享盘)使用的是最新的 SCSI-3标准,已不支持SCSI-2的标准了。
          所以我们在通过openfiler或者VMware自带的工具创建仲裁盘和共享盘时,windows 2008会报错(认不到存储,或者开机不了等等),但是像FreeNAS和starwind软件来创建群集存储时就不会报错了。
 
2. windows 2008群集对Oracle版本的要求。
          官网说时要安装Oracle 10g 10.2.0.4或以上版本。难怪第一次用10.2.0.1 安装的时候一直报错(软件装不了、不能正常创建数据库、要打补丁等等),正好有的11g R2版本的,就直接拿来安装了。
 
3. 当添加Oracle实例服务和监听程序服务时,选择地IP是群集的IP地址。
         但是我的群集IP地址就一直是添加不上去,于是选择了另外两个IP。估计和DNS里的主机记录有关,不过切Oracle群集切换的时候,还是可以正常的连接到数据库的,不需手动发起。
 
4. Oracle软件和数据库都安装在共享磁盘上。
          在MSCS 2003+Oracle HA是Oracle软件安装在本地磁盘,数据库安装在共享磁盘时,当做Oracle群集切换的时候,有的时候成功,有的时候不成功。不成功情况会显示:“splplus 就会连接到一个空的Oracle实例”,然后解下来又要手动开启数据库。但是之间把Oracle软件和数据库都放在共享磁盘上,做Oracle群集切换的时候就很少会出现那种情况了。
 
如有问题和建议直接提出,以求共同提高。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

本文出自 “销魂Bird” 博客,请务必保留此出处http://shawnephay.blog.51cto.com/2573807/475066

windows2008+Oracle故障转移群集_windows2008_122
0人
了这篇文章