简介面向Oracle DBA与系统管理员的Oracle 11g R2 Grid Infrastructure在Windows 64位环境的安装配置资料针对集群管理、高可用存储等核心场景适合需要搭建Oracle RAC或学习Clusterware、ASM的进阶用户。包体共1495个文件以jar组件、dll运行库、exe安装配置程序为主辅以htm文档、xml配置、rsp响应文件与集群验证脚本压缩包约682MB。内容详解从安装前软硬件检查、依赖组件准备到创建集群、配置OCR与Voting Disk、初始化ASM磁盘组再到监听与命名服务、crs_stat验证的完整链路其中包含响应文件与验证脚本可辅助自动化安装与集群状态检查并穿插常见排错思路。已有373人学习参考对于准备在Windows 64位环境中部署Oracle Grid Infrastructure的技术人员具有直接借鉴价值。1. 手里的 win64_11gR2_grid.zip 不是普通压缩包它是 Oracle 11gR2 在 Windows Server 上跑 ASM 的唯一入口搜索这个文件名的人大概率是刚在 Windows Server 上装完数据库软件准备建库却发现存储类型列表里根本没有 ASM 选项。原因很简单从 11gR2 开始Oracle 把 ASM 从数据库安装包里拆了出去单独打包成 Grid InfrastructureGI。也就是说win64_11gR2_grid.zip 就是 Oracle 11g Release 2 Grid Infrastructure 针对 Windows x64 的官方安装介质想用 ASM 统一管理数据库文件就得先把这个 zip 里的 GI 装好。它解决的问题很具体不用把数据文件堆在 C 盘目录里而是用裸盘或者分区做成 ASM 磁盘组让数据库文件落在更可控的存储上。适合的读者是 Windows 平台上的 DBA、运维工程师以及从 Linux 环境转过来、对 11gR2 集群件不熟的从业者。接下来按实际安装顺序把这个 zip 从解压到验证讲清楚包括哪些步骤能省、哪些坑不能踩。2. 解压前先想清三件事包结构、Home 路径、给 ASM 用的磁盘2.1 zip 解压后是什么setup.exe、response 目录和 stage 目录各管什么先纠正一个常见误操作不要直接双击 zip 里的 setup.exe 尝试“以压缩包方式安装”。OUI 安装器需要读取相对路径下的 stage 内容并往临时目录写文件zip 包内运行时经常在中途报“无法定位 stage”或者路径错乱。正确做法是用 7-Zip 完整解压到纯英文路径比如C:\grid_install再执行解压后的 setup.exe。解压后你会看到这几个东西各自分工如下路径/文件作用安装时需要做什么setup.exe安装主入口图形安装从这里启动双击或配合 -silent 参数执行response/静默安装用的 rsp 响应文件模板照着模板复制一份再改参数stage/实际产品文件和组件占 zip 体积大头保持完整不要手动删减里面内容welcome.htm官方快速说明页看一眼即可不依赖它拿配额rpm/ 或 third_party/依赖组件比如 VC 运行库如果系统里缺OUI 会从这里自动装解压时要留意两个异常一是 7-Zip 报“Unexpected end of archive”或“加密头损坏”这是下载不完整导致官方发布的 GI 包不会带伪加密出现这种提示基本就是文件头坏了重新下载而不是尝试修复二是解压后 stage 目录大小异常通常它占整体体积的大部分如果解压完只有几百 MB基本可以确认包被截断。解压目标盘的空间按“解压后体积再多留 30%”准备安装过程中 OUI 还要在 stage 里再做一次展开。2.2 三个关键路径变量ORACLE_BASE、ORACLE_HOME 与 Windows 账号单机 ASM 虽然不需要配 SCAN 和心跳网卡但环境变量一个都不能少。OUI 在安装时会把路径写进 Windows 注册表后续服务启动时读的是系统级环境变量。用用户级变量或者普通 cmd 窗口里临时 export装完大概率“服务起来了但 ASM 实例找不到 home”。我一般会这样准备账号和环境变量# 管理员 PowerShell 执行 # 1. 创建 grid 账号并加入管理员组GI 在 Windows 上不允许用普通用户安装 net user grid YourPssw0rd /add net localgroup Administrators grid /add # 2. 预建 ASM 相关的本地组OUI 安装时也会自动创建提前建好更稳妥 net localgroup ORA_ASM_OSDBA /add net localgroup ORA_ASM_OSOPER /add # 3. 写系统级环境变量/M 表示 Machine 级别服务启动时才能读到 setx ORACLE_BASE C:\app\grid /M setx ORACLE_HOME C:\app\grid\11.2.0\grid /M setx ORACLE_SID ASM /M参数说明ORACLE_BASE 是 GI 的根目录日志、诊断文件都会挂在它下面ORACLE_HOME 指向实际的 Grid Home网上常见的目录结构是C:\app\grid\11.2.0\grid解压包安装后也会把文件放这里ORACLE_SID 固定写ASM不要改成别的名字单机 ASM 实例的 SID 就是它。PATH 里要追加%ORACLE_HOME%\bin但注意不要反复setx PATH %PATH%;...Windows 的环境变量有 1024 字符限制追加几次就截断。更稳的做法是先echo %PATH%备份一份再一次性把 bin 目录加进去。grid 账号的密码要满足复杂度要求长度至少 8 位且包含字母和数字否则 OUI 在权限校验阶段会直接拒绝。2.3 网络、磁盘与端口的准备清单静态 IP 和裸盘是关键单机 ASM 对网络依赖比 RAC 小得多但 OUI 在安装时仍会做主机名解析检查。最常见的翻车点是 Windows Server 用了 DHCP重启后 IP 变了安装时的 CVD 检查报“public 网络无法解析”。所以先把网卡改成静态 IP并确认主机名能 ping 通自己的 IP。存储侧的准备比网络更关键。给 ASM 用的磁盘不要格式化不要分配盘符磁盘管理里保持“未分配”状态。原因是 ASM 要直接读写盘头元数据如果盘上已经有 NTFS 文件系统或者 Windows 偷偷创建的隐藏分区ASM 读盘头时会认为盘不可用。虚拟化环境里尤其要检查Hyper-V 的虚拟磁盘如果中途做过快照合并盘内的分区表残留可能造成候选盘为 0。端口方面默认要放行 1521 给 ASM 监听。单机模式不需要 SCAN 和 GNS所以那些 1522、1575 之类的端口不用刻意开防火墙里放行 1521 就够。数据库实例的监听通常也在 1521注意数据库监听和 ASM 监听共用端口时不要冲突后面建库时如果报监听地址被占用先查是不是 ASM 实例已经占了 1521。准备项最低要求踩过的问题IP 地址静态 IP主机名可解析DHCP 导致 CVD 检查失败ASM 磁盘裸盘或裸分区无文件系统NTFS 残留导致候选盘为 0防火墙放行 1521数据库监听和 ASM 监听端口冲突磁盘空间比 zip 解压体积多留 30%stage 解包空间不足安装中断3. 图形化安装跑通最小 ASM从 setup.exe 到配置脚本3.1 安装类型三条路的分叉点Cluster、Standalone 与 Software Only双击 setup.exe 后OUI 会先做一次本机环境扫描然后进入安装类型选择页。这一步的分叉决定了后面几十个配置项。常见做法是选“Install and Configure Oracle Grid Infrastructure”然后在配置场景里选 Standalone Server独立服务器模式这是单机 ASM 的唯一正解。为什么不选 Cluster 模式Cluster 模式需要配置两到三块网卡、SCAN 名称、GNS还要额外的主机间 SSH 互信在 Windows 上纯属给自己找麻烦。11gR2 的 GI 在 Windows 上定位就是单机 ASMCluster 模式在 Windows 上支持度也远不如 Linux别被“Grid”这个词误导。第三条路是“Software Only”只解包安装文件不创建 ASM 实例后面手工跑 ASMCA 来配置。这个选项适合已经装了 GI 但又想重新配置磁盘组的场景。第一次安装建议直接走 Install and Configure让 OUI 顺手把 OCR 和表决盘写进初始磁盘组省得后面手工初始化 OCR。如果你对 ASMCA 的流程很熟也可以 Software Only 装完再用 ASMCA 补配两种路径最后得到的东西一致。3.2 磁盘组在哪一步创建初始 DATA 组、SYS 口令与 ASMSNMP选完 Standalone Server 后OUI 会进到磁盘组配置页。这里要填三样东西磁盘组名称、冗余级别、以及加入磁盘组的候选盘。磁盘组名称我习惯用 DATA和后面数据库文件路径保持一致。冗余级别在 Windows 单机上基本只能选 External——External 代表 ASM 不做冗余靠底层 RAID 或存储阵列保证数据安全。如果用的是本机单块磁盘又选了 NormalASM 会要求至少两个 failgroup单盘上根本凑不出来装到一半会卡住。关键是候选盘列表。此刻页面上看到的“候选磁盘”不是所有裸盘而是已经打过 ASM 标记的盘。Windows 上没有 Linux 那种/dev/sdb路径ASM 靠盘头的 OracleASM 标记来识别盘。给物理盘打标记的工具是 GI 自带的 asmtool位于%ORACLE_HOME%\bin下。用法是用管理员权限打开 cmd执行asmtool -help看参数-add用于给盘打标记并命名-list查看当前哪些盘已经被 ASM 识别。打完标记后回到 OUI 点“重新发现”盘才会出现在候选列表里。这一步的常见误用是直接在磁盘管理里格式化后再拿来当候选盘实际上格式化反而把盘弄脏ASM 可能拒绝接纳。口令设置页里要设 SYSASM 和 ASMSNMP 两组口令。SYSASM 是 ASM 实例的最高权限账号ASMSNMP 是给 OEM 或 Enterprise Manager 监控 ASM 用的。两组口令都要符合 Oracle 的密码复杂度要求至少 8 位、字母数字混合。如果后面建库时 DBCA 报无法连上 ASM 实例先确认这两组口令没记混ASMSNMP 不是 SYSASM 的别名。3.3 安装进行到 95% 要求执行配置脚本这一步在 Windows 上到底做了什么图形安装进行到 92% 到 95% 时OUI 会弹窗提示需要在管理员权限的 cmd 里执行一个配置脚本。脚本路径在弹窗里明确显示常见位置是C:\app\grid\11.2.0\grid\crs\config\gridconfig.bat不同小版本文件名可能略有差异以弹窗提示为准。:: 管理员 CMD 中执行路径以 OUI 弹窗为准 cd /d C:\app\grid\11.2.0\grid\crs\config gridconfig.bat这个脚本做的事比表面看起来多得多第一把 OCR 和表决盘写入前面创建的 ASM 磁盘组第二在 Windows 服务管理器里注册三个核心服务分别是 OracleCRSService集群同步服务、OracleASMServiceASMASM 实例服务、OracleClusterVolumeService集群卷服务第三在注册表里固化 grid home 路径和 ASM 实例参数。执行完回到安装器点 OKOUI 才会继续做完 relink 和最后的清理。为什么 Windows 上不让它自动执行因为 OUI 的进程权限和“管理员 cmd”不完全一致脚本里要调用 net localgroup 修改本地组、写盘头、注册 Windows 服务这些操作需要真实的管理员令牌。直接双击 bat 会闪退或者中途报权限不足原因是工作目录不对导致 perl 脚本找不到依赖而不是脚本本身有问题。执行前确认当前 cmd 窗口里set ORACLE_HOME能输出正确路径否则脚本第一步就失败。4. 静默安装 response file在无桌面的 Windows Server 上照样装完4.1 最小可用的 grid_install.rsp哪些键必须手工写生产环境的 Windows Server 很多时候不开图形桌面或者运维人员只能通过远程管理端口连进去。这时候走 OUI 图形界面不现实静默安装是唯一可靠路径。zip 解压后的response目录里有官方 rsp 模板复制一份改成grid_install_w64.rsp只改少量键值就能用。一个最小可用的单机 ASM response file 长这样# grid_install_w64.rsp # 注意 rsp 是 Java properties 格式路径里的反斜杠要双写 oracle.install.optionINSTALL ORACLE_BASEC:\\app\\grid ORACLE_HOMEC:\\app\\grid\\11.2.0\\grid oracle.install.asm.OSDBAORA_ASM_OSDBA oracle.install.asm.OSOPERORA_ASM_OSOPER oracle.install.asm.SYSASMPasswordPassw0rd#ASM oracle.install.asm.monitorPasswordPassw0rd#ASM oracle.install.asm.diskGroup.nameDATA oracle.install.asm.diskGroup.redundancyEXTERNAL # Windows 上磁盘发现串通常留空靠 ASM_DISKSTRING 自动发现 # oracle.install.asm.diskGroup.disks参数说明oracle.install.optionINSTALL表示全新安装如果你拿这个模板去做升级要改成 UPGRADEOSDBA 和 OSOPER 对应 Windows 本地组 ORA_ASM_OSDBA、ORA_ASM_OSOPER这两个组如果没提前建安装器会报错SYSASMPassword 和 monitorPassword 分别对应图形界面里的 SYSASM 和 ASMSNMP 口令两处密码可以一样但建议分开设置。磁盘组相关键里redundancy 只写 EXTERNAL不要试图在 Windows 单机本盘上写 NORMAL。diskGroup.disks这个键在 Windows 上通常留空让安装器用默认发现串去扫盘如果强制填盘符反而不稳定——asmtool 打标记后的盘在设备管理器里的路径可能变化。4.2 执行静默安装的命令与日志定位rsp 文件准备好后在管理员 cmd 里进入解压目录执行:: 管理员 CMD进入 zip 解压根目录 setup.exe -silent -responseFile C:\home\grid_install_w64.rsp -ignorePrereqFailure :: 查看退出码 echo %ERRORLEVEL%-silent和-responseFile必须成对出现只要有一个缺失安装器就会尝试拉起图形界面。-ignorePrereqFailure是跳过 CBD 预检查失败继续安装这里要说明白跳过预检查不代表问题消失只是把问题推迟到 root 脚本阶段。如果后面配置脚本报错回到第 2 章把系统准备项补齐再跑远比硬着头皮继续省事。静默安装的日志和图形安装不在同一个位置一般在%TEMP%\OraInstall时间戳和C:\Program Files\Oracle\Inventory\Logs下。判断成功与否不要看 cmd 窗口有没有报错而是去 installActions 日志尾部找“Successfully validated and installed”字样或者确认%ERRORLEVEL%为 0。失败时先看oraInstall.err的最后 20 行只有 SEVERE 和 ERROR 级别需要处理INFO 级别全是过程记录别被大段 INFO 干扰。4.3 静默装完后的三个服务状态检查静默安装执行完不等于 GI 已经可用。先检查 Windows 服务是否正常注册并启动sc query OracleCRSService sc query OracleASMServiceASM sc query OracleClusterVolumeService输出里关键是 STATE 列应为 RUNNINGSTART_TYPE 为 AUTO_START。如果 OracleCRSService 是自动但 OracleASMServiceASM 显示手动说明 gridconfig.bat 没有执行到位或者执行时权限不足。这时不要手动sc create去仿建服务GI 的 Windows 服务名、依赖关系和启动参数是由配置脚本写进注册表的手工注册的“山寨服务”没有对应资源依赖重启后必翻车。正确做法是删除掉手工注册的服务重新跑一次配置脚本收尾。这里还容易忽略 OracleClusterVolumeService。这个服务负责管理 ASM 磁盘的卷设备依赖它如果没起来后面 ASM 实例可能启动成功但磁盘组一直扫不到盘。看到它不是 RUNNING 时先看它的依赖服务而不是直接重启 ASM。5. 避坑清单Windows 上把 11gR2 GI 装到生产前的 5 条血泪记录5.1 解压路径带中文setup.exe 一半闪退现象双击 setup.exe 没反应或者从 cmd 启动后在 5% 左右中断日志里报“无法加载 OUI 组件”。原因OUI 对非 ASCII 路径支持很差。解压路径如果包含中文用户名比如C:\Users\张三\Downloads\win64_11gR2_grid安装器在读 stage 相对路径时解析失败。zip 本身是英文包问题全出在目标路径。解决把整个解压目录移到纯英文路径比如C:\grid_install重新双击。如果之前已经执行到一半先把 stage 目录删干净再解压不要覆盖式解压——残留的临时文件会让新安装读到脏配置。5.2 asmtool 标记后 OUI 仍说找不到候选磁盘现象磁盘组配置页的候选磁盘列表为空asmtool -list 也看不到预期盘。原因盘上还有残留的文件系统或者 Windows 的隐藏分区。虚拟机磁盘经常在创建时被系统盘初始化工具写入了 GPT 或 MBR 分区表ASM 读盘头发现不是裸盘直接过滤掉。解决用 diskpart 清理磁盘再打标记。管理员 cmd 里diskpart然后list disk、select disk 1、clean all这一步会彻底抹掉盘上的分区表和所有数据确认盘里没东西再执行。清完后回到 asmtool-add重新打标记。如果是 VMware 虚拟盘还要确认虚拟磁盘的“独立-持久”模式已开启否则快照回滚会把 ASM 盘头一起回滚造成磁盘组不可用。5.3 ASM 实例起来了磁盘组却迟迟 MOUNT 不上现象asmcmd lsdg 显示 DATA 组状态是 MOUNTING 或 OFFLINEalert_ASM.log 里报 ORA-15032 “not all alterations performed”。原因ASM_DISKSTRING 参数没有覆盖已打标记的盘路径。Windows 上 ASM 扫描磁盘的路径和 Linux 不一样asmtool 标记后的盘路径形如\\?\GLOBALROOT\Device\HarddiskX\PartitionY如果 ASM_DISKSTRING 还停留在默认值实例启动时扫不到已经存在磁盘组里的盘。解决先asmcmd lsdsk看实例能发现哪些盘再alter system set asm_diskstring\\?\GLOBALROOT\Device\Harddisk* scopeboth;把发现串放宽然后alter diskgroup DATA mount;。如果盘是磁盘组的一部分但实例发现不了问题在发现串如果盘根本不在列表里回到 5.2 检查 asmtool 标记。5.4 重启服务器ASM 没自动拉起现象Windows 重启后OracleASMServiceASM 停在“已停止”手动启动时报“服务依赖的服务不存在或已被标记删除”。原因GI 三个核心服务的启动依赖没有被正确写入注册表。常见诱因是安装配置脚本执行时杀毒软件拦截了服务注册或者运维人员在服务管理器里手工调整过依赖关系。解决打开服务管理器确认 OracleCRSService、OracleASMServiceASM、OracleClusterVolumeService 三个服务启动类型都是自动。再用srvctl enable asm把 ASM 资源设为随集群自启。做完后建议做一次干净的重启验证先crsctl stop crs再正常重启 Windows开机后看crsctl stat res -t里 ora.asm 是否 ONLINE。这一步在部署到生产前至少要完整演练一遍不要赌它第二次能自己好。5.5 杀毒软件把 oraAgent.exe 当成勒索病毒删掉现象安装完成后 OracleOHService 服务无法启动Windows 事件日志里有“文件已被防病毒软件隔离”的记录。原因oraAgent.exe 会遍历磁盘、写 ASM 盘头、探测网络端口这些行为和勒索软件的前期动作高度重合。Windows Defender 或者企业的 EDR 在实时防护模式下很容易误报。解决安装窗口期内把C:\app、C:\Program Files\Oracle、zip 解压目录加进杀毒软件白名单安装完成后再收窄白名单范围不要长期放行整个目录。企业环境有安全合规要求的话先走变更审批再关实时防护装完后第一时间恢复防护策略。这不算 Oracle 的 bug是安全软件和数据库软件的正常误杀事件保留好安装日志备查。6. 装完先跑这三条验证再考虑建库GI 装完ASM 实例也起来了别急着拿 DBCA 建库。先把下面三条命令跑一遍确认集群件和磁盘组真正健康crsctl check crs asmcmd lsdg srvctl status asm -vcrsctl check crs的输出里CSS、CRS、EVMD、ora.asm 四项都应该显示 ONLINE。只要有一项不是说明集群件依赖没起来后两项检查没必要继续。asmcmd lsdg看磁盘组状态STATE 列是 MOUNTEDFREE_MB 还有余地如果显示 DISMOUNTED 或 MOUNTING说明 ASM 实例和磁盘组的对接有问题去查 alert_ASM.log。srvctl status asm -v确认 ASM 实例的进程号和运行状态输出里能看到实例名 ASM 在哪个主机上运行以及它的启动方式是 normal 还是 failed。这三条命令跑通之后建库阶段 DBCA 里才看得到 ASM 磁盘组。有一点验证方法是日常值得保留的给%ORACLE_BASE%\diag\asm\ASM\trace\alert_ASM.log加一个文件大小监控每次超过 200MB 就检查告警里有没有大量 ORA-15032 或者磁盘离线记录。我自己的习惯是每次重启 Windows 主机前先执行crsctl stop crs -f正常停掉 GI再关机绝不直接点重启或者断电源。以前吃过一次亏机房电闸跳动机器直接断电重启起来后 DATA 组三个盘里有两个显示“过时”整整花了一个下午用 failgroup 手工恢复。ASM 盘头的写入不是同步的Windows 上异常断电的损坏概率比 Linux 还高这个步骤能省就省不得。另外磁盘组的空间不要等到快满了才扩。External 冗余下加盘容易alter diskgroup DATA add disk一行命令搞定但从 External 改成 Normal 冗余几乎等于重做磁盘组事前规划比事后补救重要得多。希望帮到你。本文还有配套的精品资源点击获取
