WindowsOracleRAC系统构建.docx
《WindowsOracleRAC系统构建.docx》由会员分享,可在线阅读,更多相关《WindowsOracleRAC系统构建.docx(17页珍藏版)》请在冰豆网上搜索。
![WindowsOracleRAC系统构建.docx](https://file1.bdocx.com/fileroot1/2023-2/2/2ab8e6f6-5926-4b59-9251-c9ac8b99df32/2ab8e6f6-5926-4b59-9251-c9ac8b99df321.gif)
WindowsOracleRAC系统构建
Windows2003下OracleRAC系统构建
1前言
在Windows2003平台下安装OracleRAC实属无奈之举,而且Windows下面的相关资料少的可怜,就连Oracle官方的文档也是不完全正确,安装过程历尽艰辛,经过在VMWare上多次测试,终于可以在正式的环境的安装成功!
本文详细记录了安装的过程,以及反复安装过程中的重点事项和问题,为今后在Windows2003上安装OracleRAC提供示范和经验。
以下安装Oralce软件的版本为10.2.0。
2安装环境准备
真实硬件配置
两个节点服务器配置如下:
浪潮NF520D2
CPU:
2个4核XeonMPE74502130MHZ
内存:
8GBECC
硬盘:
2个SAS150GRaid1
网卡:
2个千兆网卡
共享存储配置如下:
浪潮AS800
硬盘:
10个SAS300G15000转
共享存储需要在两个节点服务器上都可以看见,并且务必保证存储可以在两个服务器上同时读写,Linux下有测试工具,可以Windows下没有发现,如果这里有问题,联系硬件厂商吧!
虚拟机配置
如果需要在虚拟机上测试,需要使用VMWareServer上测试(这里使用的是VMWareGSXServer3.2.1),除正常安装Windows2003外,同时添加两个网卡,需要通过如下设置配置共享硬盘:
1)创建共享磁盘文件,使用如下命令
vmware-vdiskmanager-c-s6gb-alsilogic-t3"E:
\SYS-RAC\share\share0.vmdk"
注:
6gb为硬盘大小,可以根据情况调整。
2)将共享磁盘添加到安装好的Windows2003系统
scsi1.present="TRUE"
scsi1.virtualDev="lsilogic"
scsi1.sharedBus="virtual"
scsi1:
0.present="TRUE"
scsi1:
0.mode="independent-persistent"
scsi1:
0.filename="E:
\SYS-RAC\share\share0.vmdk"
scsi1:
0.deviceType="plainDisk"
disk.locking="false"
diskLib.dataCacheMaxSize="0"
diskLib.dataCacheMaxReadAheadSize="0"
diskLib.DataCacheMinReadAheadSize="0"
diskLib.dataCachePageSize="4096"
diskLib.maxUnsyncedWrites="0"
注:
添加的共享硬盘必须和原有的硬盘不在一个通道上,例如上面的共享的硬盘为scsi1通道,原来2003系统使用的是SCSI0通道上。
VMWare中的网络设置可以使用默认的桥接,其他设置也可只要保证网络可以访问即可,其他的虚拟机中安装OracleRAC和在正式的环境中一致。
操作系统
操作系统的安装需要注意如下事项:
1)Windows2003需要安装SP2,关闭网络防火墙和防病毒软件;
2)机器名分别设置为rac1和rac2(可以设置其他名称,但必须和host文件中对应,参见下面网络设置部分);
3)修改注册表,
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Tcpip\Parameters
增加DisableDHCPMediaSense,十六进制值为“1”;
4)内存大小至少为1GB,虚拟内存两倍于物理内存,大于4GB内存的服务器,建议安装64bit的Windows2003,32bit的windows每个服务最大内存2GB;
网络环境
每个节点服务器上需要有两个网卡,一个为Public(访问Oracle用),一个为Private(两个Oracle实例的心跳连接,只需要集群服务器间可以访问即可),每个网卡需要在分别各自的服务器上取相同的名字,如下即可:
设置两个服务器上的网卡的顺序(在网络连接中,“高级”>“高级设置”),public在前,private在后,设置如下:
设置public网卡的IP,如下:
public网卡
IP地址
192.168.3.154
子网掩码
255.255.255.0
网关
192.168.3.1
注:
1.网关必须要设置;
2.Public网卡如果是192、10、172开头,可能安装时候会报错误,不过可以解决;
3.DNS可以不设置
设置private网卡的IP,如下:
private网卡
IP地址
192.168.0.101
子网掩码
255.255.255.0
网关
注:
1.网关可以不设置;
2.DNS可以不设置;
3.IP也可以和public网卡一个网段,能通即可;
设置虚拟网卡,虚拟网卡不需要设置IP,只需要修改host文件,两个服务器上host文件一致,设置如下:
127.0.0.1localhost
#Public
192.168.3.154rac1
192.168.3.155rac2
#Private
192.168.0.101rac1-priv
192.168.0.102rac2-priv
#Virtual
192.168.3.111rac1-vip
192.168.3.112rac2-vip
虚拟IP必须保证将来各个客户端能否访问到,OracleRAC安装完成后该虚拟IP将作为各个服务器的访问IP(通过ipconfig可以查看到)。
共享硬盘分区
Oracleclusterware软件和Oracle数据库软件可以安装在本地磁盘上,其他Oracle数据文件、控制文件等需要在共享磁盘上,同时OCR和voitingdisk(表决磁盘)必须也安装在共享磁盘上(可以在一个分区上),OCR和voitingdisk建议设置为512M(多了也没有用),OracleRAC可以使用的共享存储的管理方式有多种ASM(自动管理)、OCFS(Oracle数据格式)、RAW(裸设备)等,其中ASM是Oracle推荐的管理方式,也是效率最高的,后面的安装都是使用ASM的管理方式,步骤如下:
1)初始化磁盘
在“计算机管理中”选择“磁盘管理”,选择共享硬盘,右键“”显示如下:
2)新建分区,先建扩展分区,再在扩展分区上建逻辑分区,主要逻辑分布不要格式化,不要分配盘符,点击每个分区查看属性,显示为RAW;
3)在第二个节点上磁盘管理中,使用刷新按钮,查看分区,删除系统分配的盘符(这个非常重要);
4)重启电脑,确认硬盘分区(没有格式化也没有分区),每个电脑的显示分区如下:
5)很多文档包括Oracle官方文档提示需要去除磁盘的写入缓存,这里发现这个设置不需必须的,去除写入缓存是考虑到Windows意外关闭后数据的丢失情况,而且实际上有的磁阵也没有办法禁用写入缓存。
安装环境检查
使用如下命令检查OracleRAC软件的环境,在安装文件的\clusterware\cluvfy\runcluvfy.bat使用如下:
runcluvfy.bat–precrsinst–nrac1,rac2-verbose
检查提示如下:
…….
找不到用户VIP的合适接口集
…….
系统检查失败
注:
系统提示VIA的错误,没有关系,安装后可以调用viaca.bat脚本解决,这里的错误和设置public网卡为192、172和10开头有关。
3安装Oracleclusterware软件
Oracleclusterware软件和Oracle数据库软件只需要在一个服务器上安装,安装程序会自动在其他服务器上复制文件和配置环境,所以务必保持服务器的环境都是一致的。
安装前需要在每个节点服务器上使用netuse命令,确定在其他节点服务器安装目录可以访问,例如:
netuse\\rac2\c$
系统安装执行文件,开始安装,显示如下:
选择“下一步”,显示如下:
集群软件装在本地磁盘上,选择“下一步”,显示如下:
执行安装检查,应该都是成功的,选择“下一步”,显示如下:
这里我们需要添加第二个节点服务器,参考上面网络设置中host文件的信息,这里我们选择添加第二个节点,rac2、rac2-priv、rac2-vip,选择“下一步”,显示如下:
将public的接口类型改为“公用”,选择编辑,显示如下:
选择“公用”,“确定”回到安装界面,显示如下:
选择“下一步”,列出所有裸分区,显示如下:
分别将其中两个512M的裸分区分别设置为OCR和表决磁盘,设置如下:
确定后,返回安装界面,数据库文件分区暂时使用不到,显示如下:
选择“下一步”,会有一些警告信息提示
这里因为磁盘是外部冗余的,可以忽略,显示如下:
选择安装,开始在多个节点上,复制文件,显示如下:
选择“下一步”,开始配置,显示如下:
在进行到虚拟IP配置时候会提示“OUT-25031”错误(虚拟IP配置的前面三个服务必须已经成功运行),可以确定,选择关闭,然后在命令行中,运行脚本“c:
\oracle\product\10.2.0\crs\BIN\vipca.bat”,显示如下:
输入我们在host文件中分别设置的虚拟ip的别名,选择下一步,显示如下:
开始配置,结束后提示关闭安装程序,到这里Oracle集群软件的服务以及就需了,在windows的服务中,可以看到如下服务:
4安装Oracle数据库软件
5创建Oracle数据库
6JDBC连接测试
在Java中可以使用如下代码完成针对OracleRAC的连接工作,代码如下:
Class.forName("oracle.jdbc.driver.OracleDriver");
Stringurl="jdbc:
oracle:
thin:
@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1-vip)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=rac2-vip)(PORT=1521))(LOAD_BALANCE=yes)(FAILOVER=ON)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=gtis)))";
Connectionc=DriverManager.getConnection(url,"system","sys");
Statements=c.createStatement();
ResultSetr=s.executeQuery("select1fromdual");
while(r.next()){
System.out.println(r.getString
(1));
}
连接字符串如下:
ORA-RAC=
(DESCRIPTION=
(ADDRESS_LIST=
(FAILOVER=on)
(LOAD_BALANCE=on)
(SOURCE_ROUTE=off)
(ADDRESS=
(PROTOCOL=TCP)
(HOST=rac1-vip)
(PORT=1521)
)
(ADDRESS=
(PROTOCOL=TCP)
(HOST=rac2-vip)
(PORT=1521)
)
)
(CONNECT_DATA=
(SERVER=dedicated)
(SERVICE_NAME=gtis)
)
)
其中连接均为上面配置的虚拟IP的别名,以上字符串同时也可以添加到tnsnames.ora作为连接字符串。
注:
以上虚拟IP的别名一定要在客户端的host文件添加,否则会报“TheNetworkAdaptercouldnotestablishtheconnection”错误,host文件添加如下:
192.168.3.154rac1
192.168.3.155rac2
192.168.3.111rac1-vip
192.168.3.112rac2-vip