☰
Oracle 11gR2 Grid Infrastructure Windows安装指南:从解压到RAC集群验证
2026/10/13 1:27:17 网站建设 项目流程

简介:本资源为Oracle 11g R2 Grid Infrastructure在Windows 64位环境下的安装包,面向需要搭建Oracle集群的DBA、运维工程师及数据库学习者,帮助解决集群部署与ASM存储配置中的环境准备、组件依赖与参数设置问题。压缩包共1495个文件,约682.04MB,以jar包、htm帮助文档、gif图示、dll动态库、xml配置、exe安装程序及properties、bat脚本等为主,涵盖安装向导、集群验证工具与文档支持。已有374人学习下载。资源完整保留Grid Infrastructure安装介质,可配合OCR与Voting Disk配置、ASM磁盘组创建、监听器与命名服务设置等环节使用,便于读者在真实环境中完成集群搭建、状态检查与故障排查,适合具备一定Oracle基础、希望深入掌握集群高可用架构的技术人员参考。

1. Oracle 11gR2 集群安装包:win64_11gR2_grid.zip 到底解决什么问题

如果你在 Windows Server 上折腾过 Oracle RAC,大概率见过这个文件名:win64_11gR2_grid.zip。它不是数据库安装包,而是Oracle Grid Infrastructure 11.2.0.x 的 Windows 64 位安装介质,负责装 Clusterware 和 ASM——也就是整个 RAC 的地基。没有它,win64_11gR2_database.zip装出来的只是单实例,跟集群没有半点关系。

这个包解决的核心问题就一个:让多台 Windows 机器在 Oracle 层面“看起来像一台”。它包含 Cluster Ready Services(CRS)、表决磁盘管理、ASM 实例、OCR 和 Voting Disk 的初始化工具。适合谁?适合需要在 Windows 环境下搭 RAC 做测试、做兼容性验证、或者维护遗留系统的 DBA。不适合生产环境——11gR2 在 Windows 上的 RAC 支持早就进入尾声,但测试和迁移场景依然绕不开。

我见过太多人把 grid 和 database 两个包搞混,装完 database 发现没有crsctl,回头找原因找了半天。这一篇就把这个包从解压到集群跑通的路径拆开讲,顺带把 Windows 平台特有的坑点标出来。

2. 装之前先把环境钉死:win64_11gR2_grid 的前置条件与选型逻辑

2.1 为什么 Windows 上装 Grid 比 Linux 更容易翻车

Linux 下装 Grid Infrastructure,你有一堆成熟的检查脚本和社区文档兜底。Windows 下情况完全不同:Oracle 在 Windows 上的集群实现依赖 Windows 自身的集群服务做底层支撑,Grid Infrastructure 的 Clusterware 和 Windows Cluster 之间存在一层耦合。这意味着你的 Windows 版本、补丁级别、域环境、网络配置,任何一个不对,安装程序可能连前置检查都过不去。

常见做法是:两台(或多台)机器加入同一个域,或者至少在同一工作组内能互相解析主机名。我一般会先把hostname、ping、nslookup三件事确认一遍,再动安装包。别小看这一步,主机名解析失败是 Grid 安装失败里排名前三的原因。

另一个选型逻辑:11gR2 的 Grid Infrastructure 在 Windows 上要求你提前配好Windows Failover Cluster。对,不是 Oracle 自己从零搭集群,而是它要复用 Windows 的集群框架。所以你的安装顺序应该是:装 Windows 集群功能 → 验证集群 → 再跑 Oracle Grid 安装程序。跳过 Windows 集群直接跑setup.exe,大概率卡在“Cluster Verification Utility”那一步。

2.2 硬件、系统与网络的最低配置清单

下面这张表是我在测试环境里反复用过的配置基线,低于这个配置不是装不上,是装上了也跑不稳:

项目最低要求建议值说明
操作系统Windows Server 2008 R2 SP1 64位Windows Server 2012 R211gR2 对 2012 之后版本支持有限
内存每节点 4GB每节点 8GB 以上ASM 实例 + 数据库实例叠加消耗
磁盘系统盘 50GB + 共享盘 20GB共享盘 100GB 以上共享盘用于 OCR/Voting Disk 和 ASM 数据盘
网卡2 块(公网 + 私网)2 块独立物理网卡私网必须直连或独立交换机
IP 规划公网 IP、私网 IP、VIP、SCAN IP每节点至少 4 个 IPSCAN 在 11gR2 里是必须的
域环境同域或同工作组同域工作组模式下需要额外配置

网络这块多说一句:私网必须是独立的网段,不能和公网混在一起。我见过有人用同一块网卡配两个 IP 当公私网用,安装时 CVU 直接报网络接口不满足要求。VIP 和 SCAN IP 必须是未使用的、和公网同网段的地址,提前用ping确认没有冲突。

2.3 解压与安装前的目录规划

win64_11gR2_grid.zip解压后你会看到grid目录,里面是安装程序本体。不要直接在压缩包里运行,也不要把解压目录放在中文路径或带空格的路径下。我一般会解到C:\stage\grid这种干净路径。

安装前需要手动创建几个目录:

# 以管理员身份打开 cmd,创建 Oracle 基目录和 Grid 主目录 mkdir C:\app\oracle\product\11.2.0\grid mkdir C:\app\oracle\product\11.2.0\dbhome_1 mkdir C:\app\oracle\oraInventory

逻辑说明:grid目录是 Grid Infrastructure 的 ORACLE_HOME,dbhome_1留给后面装数据库软件用,oraInventory是中央清单目录。这三个目录的权限要放开,安装程序会往里写文件。参数上注意:路径不要用Program Files,空格会让某些脚本解析出错。

提示:解压前先校验 zip 的完整性。11gR2 的 grid 包大概 1GB 出头,如果解压报错,重新下载比反复重试更省时间。

3. 从零跑通 Grid Infrastructure:安装步骤与参数怎么填

3.1 先配 Windows 集群还是先跑 Oracle 安装程序

这个问题我被问过很多次。答案是:先配 Windows Failover Cluster。Oracle 的 Grid 安装程序在 Windows 上会检测 Windows 集群服务是否已配置并运行。如果没配,安装程序会提示你先完成这一步,或者直接失败。

配置 Windows 集群的步骤大致是:在“服务器管理器”里添加“故障转移集群”功能,然后打开“故障转移集群管理器”,创建集群,把两个节点加进去,配置心跳网络。这个过程本身不复杂,但有几个点要注意:集群名称和 IP 要提前规划好,心跳网络要指定为私网网段,仲裁配置选“节点多数”即可。

配完 Windows 集群后,用cluster.exe或者图形界面确认集群状态是“正常”。然后才去跑C:\stage\grid\setup.exe。

3.2 安装程序里的关键选项:SCAN、ASM 和账户配置

运行setup.exe后,选择“为集群安装和配置 Grid Infrastructure”。接下来几个关键页面:

第一,集群配置。安装程序会自动识别 Windows 集群的节点,确认节点列表无误。SCAN 名称填你规划好的名字,SCAN IP 填三个地址(11gR2 要求至少三个 SCAN IP,虽然一个也能跑,但 CVU 会警告)。

第二,ASM 配置。这里要选“创建 ASM 磁盘组”。OCR 和 Voting Disk 放在同一个磁盘组里,通常叫CRS或者OCR_VOTE。磁盘组冗余选“外部冗余”还是“正常冗余”取决于你的共享盘配置。测试环境用外部冗余就行,前提是共享盘本身有 RAID 保护。

第三,账户配置。Grid 安装程序会要求你为 ASM 实例设置 SYSASM 密码,同时会创建grid用户(Windows 上是本地用户或域用户)。我一般用域用户,避免跨节点权限问题。密码策略如果嫌麻烦,可以在安装前把 Oracle 的密码复杂度校验关掉,但测试环境之外不建议这么做。

安装过程大概 30 到 60 分钟,取决于机器性能。中间会跑 root 脚本——Windows 上叫roothas.pl或者对应的 bat 脚本,按提示执行即可。

3.3 验证集群是否真的起来了:crsctl 和 olsnodes 实操

安装完成后,别急着装数据库。先用crsctl确认集群状态:

# 切换到 grid 用户环境,执行以下命令 crsctl check cluster -all crsctl stat res -t olsnodes -n

逻辑说明:crsctl check cluster -all会检查所有节点的集群服务状态,正常输出里每个节点都应该显示online。crsctl stat res -t列出所有集群资源及其状态,重点看ora.asm、ora.CRS.dg、ora.OCR.dg这些资源是不是ONLINE。olsnodes -n列出集群节点编号,确认两个节点都在。

参数上注意:crsctl必须在 Grid 的 ORACLE_HOME 环境下执行,或者用完整路径C:\app\oracle\product\11.2.0\grid\bin\crsctl。如果报“CRS-4535: Cannot communicate with Cluster Ready Services”,说明集群服务没起来,去 Windows 服务里看OracleOHService和OracleCRService是否在运行。

注意:Windows 上crsctl的输出格式和 Linux 略有差异,资源名大小写也可能不同,别拿 Linux 的输出去比对。

4. 避坑与排查:win64_11gR2_grid 安装中最容易翻车的 5 个点

4.1 现象:CVU 卡在“检查网络接口”不动

原因:私网和公网用了同一块网卡,或者私网网段和公网网段重叠。Oracle 的集群验证工具要求公私网物理隔离,至少是不同网段。

解决:给机器加一块独立网卡专门做私网,配一个不冲突的网段,比如192.168.100.0/24。然后在 Windows 防火墙里放行私网网段的所有流量,或者直接关掉防火墙测试。

4.2 现象:安装到 70% 报“ORA-15031: 磁盘组挂载失败”

原因:ASM 磁盘没有正确标记为共享盘,或者 Windows 磁盘管理里没有把磁盘设为“联机”且“共享”。Windows 下 ASM 用的磁盘必须是基本磁盘、NTFS 或 RAW 格式,并且要在两个节点上都可见。

解决:在磁盘管理里确认共享盘在两个节点都显示为“联机”,并且没有盘符冲突。如果是 iSCSI 或 FC 共享存储,确认多路径软件配置正确。测试环境用 VMware 共享磁盘的话,确保磁盘的“独立-持久”模式勾选正确。

4.3 现象:root 脚本执行报“系统找不到指定的路径”

原因:win64_11gR2_grid.zip解压路径里有中文或空格,或者环境变量ORACLE_HOME指向了错误位置。

解决:把解压目录移到纯英文无空格路径,重新设置ORACLE_HOME和PATH。执行 root 脚本时用管理员身份的 cmd,并且先cd到脚本所在目录。

4.4 现象:集群起来了但 VIP 漂移失败

原因:VIP 对应的网卡没有在 Windows 集群里正确配置,或者 VIP 地址被其他设备占用。

解决:在 Windows 集群管理器里检查网络配置,确认公网网卡绑定了正确的 IP。用ping确认 VIP 地址没有被占用。如果 VIP 漂移还是失败,检查ora.net1.network资源的状态,必要时用srvctl重新配置。

4.5 现象:安装完成后olsnodes只显示一个节点

原因:第二个节点的 Grid 软件没有正确注册到集群,或者节点间的互信没建立。

解决:检查第二个节点的OracleCRService是否启动,确认两个节点的hosts文件互相解析正确。如果还是不行,在第二个节点上重新跑一遍setup.exe的“添加节点”流程,或者手动执行roothas.pl注册。

5. 装完 Grid 之后:把 ASM 磁盘组和数据库实例接上去

5.1 用 asmca 创建数据磁盘组并调优 AU 大小

Grid 装好后,ASM 实例已经在跑了。接下来用asmca创建数据磁盘组。命令行方式更可控:

# 以 grid 用户执行,创建名为 DATA 的磁盘组,使用外部冗余 asmca -silent -createDiskGroup \ -diskGroupName DATA \ -diskList '\\.\ORCLDISK1','\\.\ORCLDISK2' \ -redundancy EXTERNAL \ -au_size 4

逻辑说明:-diskGroupName指定磁盘组名,-diskList是 Windows 下的物理磁盘路径,-redundancy EXTERNAL表示依赖存储层做冗余,-au_size 4把分配单元设为 4MB。参数上,AU 大小对性能有影响:OLTP 场景 4MB 够用,OLAP 或大数据量场景可以调到 8MB 或 16MB。改 AU 大小只能在创建磁盘组时指定,建完就改不了了,这是典型的“后悔药没得吃”。

5.2 用 dbca 建库时怎么指向 ASM 磁盘组

装数据库软件之后,用dbca建库。关键是在“数据库存储”页面选“自动存储管理(ASM)”,然后选你刚创建的DATA磁盘组。如果dbca里看不到 ASM 磁盘组,说明 ASM 实例和数据库软件不在同一个用户环境下,或者ORACLE_HOME和ORACLE_BASE设置有问题。

建库时还有一个参数值得注意:db_create_file_dest指向+DATA,这样数据文件自动落在 ASM 里。控制文件和日志文件也可以放 ASM,但归档日志建议放本地或共享文件系统,方便备份工具抓取。

5.3 验证 RAC 是否真的生效:一条 SQL 看实例分布

库建好后,用 SQL*Plus 连上去:

-- 查看当前实例和所有实例状态 SELECT instance_name, host_name, status FROM gv$instance; -- 查看集群节点间的负载分布 SELECT inst_id, COUNT(*) FROM gv$session GROUP BY inst_id;

逻辑说明:gv$instance是 RAC 特有的全局视图,能看到所有节点的实例。正常输出里两个实例都应该是OPEN状态。gv$session按inst_id分组统计会话数,用来确认连接是否真的分散到了不同节点。如果所有会话都集中在一个实例上,检查 SCAN 监听和负载均衡配置。

参数上,gv$开头的视图只在 RAC 环境下有意义,单实例下查会报错。另外,inst_id是实例编号,和olsnodes -n的输出对应。

6. 一个老 DBA 的收尾习惯:装完 Grid 先做这三件事

装完 Grid Infrastructure 只是开始,不是结束。我自己的习惯是,集群跑起来之后先做三件事,后面能省掉大量排查时间。

第一,备份 OCR 和 Voting Disk。11gR2 里 OCR 自动备份,但手动导出一份更放心:

# 查看 OCR 自动备份位置 ocrconfig -showbackup # 手动导出 OCR 到指定文件 ocrconfig -export C:\backup\ocr_export.dmp

逻辑说明:ocrconfig -showbackup列出自动备份的时间点和路径,默认在GRID_HOME\cdata\<cluster_name>下。ocrconfig -export手动导出一份,放到共享存储或另一台机器上。Voting Disk 的备份用crsctl query css votedisk查看位置,然后直接复制文件。

第二,记录所有 IP 和资源对应关系。把公网 IP、私网 IP、VIP、SCAN IP、ASM 磁盘组名、OCR 位置、Voting Disk 位置写到一个文本文件里,放在手边。下次出问题的时候,不用再去翻安装日志。

第三,测试一次节点重启。手动重启一个节点,观察集群资源是否正常漂移,VIP 是否跟着走,ASM 磁盘组是否自动挂载。这个测试能暴露 80% 的配置问题。我见过太多环境装完看着正常,一重启就起不来了。

最后说一个我踩过的坑:Windows 上的 Grid Infrastructure 对系统补丁很敏感。有一次打完 Windows 更新,集群服务直接起不来,查了半天发现是某个 .NET 组件版本冲突。从那以后,我在测试环境里装完 Grid 第一件事就是关掉自动更新,或者至少把更新策略设为“下载但不自动安装”。这个习惯帮我省了至少两次重装集群的时间。

希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询