(Oracle10gR2 + ClusterWare + Windows2003 + OCFS)
RAC(Real Application Clusters,实时应用集群),是多台主机组成的集群计算环境,是Oracle数据库支持网格计算环境的核心技术。
普通Oracle数据库,只能在一台主机上运行,数据库的实例和数据库文件都在一台主机上,是单实例单数据库。
RAC实时应用集群,可以在多台主机上运行,每台节点主机上运行一个数据库实例,通过共享存储磁盘访问相同的数据库文件,是多实例单数据库,单一节点故障不影响数据库的使用,负载能力也会随节点主机的增加而加强。
RAC集群的关键点:
1.共享存储
2.节点间需要内部通讯,以协调集群正常运行,所以每个节点需要提供外部网络与内部网络.
3.CRS集群软件: 需要集群软件(Clusterware)协调各节点.
4.集群注册文件(OCR): 需要注册集群,保存在共享磁盘上.
5.仲裁磁盘(Voting Disk): 需要协调各节点决定控制权,做为表决器,保存在共享磁盘上.
6.虚拟IP(Virturl IP): 提供客户端连接,IP由集群软件接管,当集群就绪时,虚拟IP可以连接.
共享存储访问方式(存储系统):
1.集群文件系统(CFS:Cluster File System)
2.自动存储管理(ASM:Automatic Storage Management)
3.网络文件系统(NFS)
4.裸设备(RAW)
单机文件系统FAT32,NTFS,ext3不能作为共享存储
由于自动存储管理Oracle只支持Linux平台,所以在Windows下选择以下储存方案来建立集群系统:
项目 存储系统 存储位置
Clusterware软件 NTFS 本地磁盘
voting disk OCFS 共享磁盘
OCR OCFS 共享磁盘
数据库软件 OCFS 共享磁盘
数据库 OCFS 共享磁盘
下面说说Oracle RAC在Windows2003下的安装过程。
一.配置多主机节点环境
主要为学习测试之用,可以使用虚拟机模拟来实现多台主机,比较好的选择是VMware Workstation8.0.4.
1.使用VMware Virtual Network Editor添加网络适配器(VMnet1,VMnet2),生成两个网段,VMnet1的网段用于节点外部通讯(PublicNet)
,VMnet2网段用于节点间通讯(PrivateNet).
2.使用VMware创建两台主机,在每台主机上安装Windows2003系统,每台需要虚拟两张网卡,IP分配如下:
节点主机 主机公网IP 虚拟IP 私网IP(内部网络)
RAC01 192.168.89.166 192.168.89.66 192.168.234.166
RAC02 192.168.89.167 192.168.89.67 192.168.234.167
公网与私网IP设置在网卡上,虚拟IP不用设置.
设置网络访问顺序,公网在前,私网在后(网络连接/高级/高级设置)
3.设置DNS解析,修改2台虚拟机上的C:\WINDOWS\system32\drivers\etc\hosts文件,添加以下内容:
192.168.89.166 RAC01
192.168.89.167 RAC02
192.168.89.66 RAC01V
192.168.89.67 RAC02V
192.168.234.166 RAC01P
192.168.234.167 RAC02P
4.创建共享磁盘
Disk Mode 选择Independent Persistent,不用缓存,以便多机访问共享.
磁盘总线选择SCSI 1:1或1:x,与本地磁盘(SCSI 0:0)分开
另外需要修改各虚拟机目录中的vmx文件,解除锁并取消缓存,以便多机访问,添加
disk.locking="false"
diskLib.dataCacheMaxSize = "0"
创建后另一台主机也挂载同一个磁盘.
5.磁盘设置
在两台虚拟机上启动磁盘的自动挂载功能,在命令行中输入
diskpart
automount enable
exit
禁用共享磁盘的写入缓存(真实硬件环境才有,虚拟环境没有缓存选项)
6.磁盘分区
共享磁盘创建后指定为扩展分区,分成两个逻辑分区,一个用于安装Oracle数据库软件,一个用于安装数据库,不要格式化,不要指定盘符.另一台主机应该也同步看到有分区,需要把盘符删除。
二.安装RAC.
1.安装集群协调软件Clusterware
在节点RAC01上运行clusterware的setup.exe文件,安装位置为本地磁盘,安装程序会自动将Clusterware安装到其它节点主机上,所以各节点主机的管理员用户需设置相同密码,并能访问共享。
1>指定集群配置
集群名称 crs
公共节点名 专用节点名 虚拟主机名
RAC01 RAC01P RAC01V
RAC02 RAC02P RAC02V
2>修改网卡PublicNet接口类型为共用.
3>集群配置存储,两个逻辑分区分别
D: 用CFS来格式化分区,分区用于存储软件
E: 用CFS来格式化分区,分区用于存储数据,将主OCR放到此分区,将表决磁盘放到此分区.
4>安装
在Configuration Assistant第4步可能失败,这是在公用接口上使用了私有IP,忽略选择下一步,在退出后手动执行VIPCA就可以了.
在crs的bin目录,运行vipca,指定虚拟主机别名及虚拟IP
RAC01V 192.168.89.66
RAC02V 192.168.89.67
2.安装Oracle数据库软件.
运行database下的setup.exe。
主目录按规划放在D盘,节点全选,仅安装数据库软件
3.设置监听程序.
运行netca配置,选择所有节点.
4.创建数据库.
运行dbca,选择Oracle Real Application Clusters数据库,节点全选,使用集群文件系统,所有数据库文件使用公共位置(按规划放在E盘下文件夹).
5.测试数据库
运行sqlplus,以dba权限登录Oracle系统后执行以下语句查询集群节点状态:
select instance_name,host_name,status from gv$instance;