Oracle 11gR2 Grid Infrastructure在Windows安装指南:ASM与RAC部署避坑
简介本资源为Oracle 11g R2 Grid Infrastructure在Windows 64位环境下的安装包面向需要搭建Oracle集群的DBA、运维工程师及数据库学习者帮助解决集群部署与ASM存储配置中的实际问题。压缩包共1495个文件约682.04MB以jar包、htm帮助文档、gif图示、dll动态库、xml配置、exe安装程序及properties属性文件为主另含pdf手册、bat批处理脚本与rsp响应文件覆盖安装向导、集群验证与存储管理等模块。已有374人学习下载。资源完整保留官方安装介质结构可配合集群创建、OCR与Voting Disk配置、ASM磁盘组规划及crs_stat状态检查等环节使用便于读者在真实环境中复现安装流程、排查依赖组件与网络服务配置问题是掌握Oracle集群高可用架构的实用参考。1. win64_11gR2_grid.zip 到底是什么从文件名拆出三个关键信息拿到win64_11gR2_grid.zip这个包第一反应不该是解压而是先读文件名。win64说明它是 64 位 Windows 平台专用32 位系统直接出局11gR2是 Oracle 数据库 11g 第二版也就是 11.2.x 这条产品线属于很多存量业务系统还在跑的老版本grid才是重点它对应的是 Grid Infrastructure 安装介质不是数据库软件本身。很多人把 grid 包当成数据库安装包解压完发现找不到setup.exe里熟悉的“创建数据库”选项直接懵掉。这个包解决的是集群基础设施层的问题ASM 磁盘管理、Clusterware 集群服务、网络心跳与 VIP 资源。适合谁适合要在 Windows Server 上搭 RAC、或者单机想用 ASM 管盘的人。如果你只是想要一个单实例数据库这个包不是不能碰但你要清楚它装的是“地基”不是“房子”。2. 装 grid 之前必须想清楚的选型问题2.1 单机 ASM 还是 RAC先定架构再动手win64_11gR2_grid.zip这个介质既能装 Oracle Restart 单机高可用也能装完整 RAC 集群。两条路对磁盘和网络的要求完全不同。单机 ASM 只需要本机磁盘做 ASM 盘网络用默认的 public 网卡就行配置量小适合测试和中小业务。RAC 则要求至少两块网卡做 public 和 private 心跳共享存储必须能被所有节点同时看到Windows 上常见的是 iSCSI 或 FC 存储。我一般会先问一句你到底是要高可用还是只要 ASM如果只是嫌 NTFS 管数据文件麻烦单机 ASM 足够别为了 RAC 去折腾共享存储和域环境。选型错了后面所有步骤都是白费。2.2 Windows 版本与补丁的前置检查11gR2 这个版本对 Windows 版本很挑。Windows Server 2008 R2 和 2012 R2 是常见能跑通的再新的系统比如 2016 以后安装程序可能直接报兼容性错误。动手前先确认三件事系统是不是 64 位、有没有装 .NET Framework 3.5、有没有关掉 UAC 或者用管理员账户。常见做法是建一个本地管理员账户专门用来装 Oracle不要用域账户带特殊字符的。另外win64_11gR2_grid.zip解压路径不要带中文和空格我见过解压到“新建文件夹”里然后安装程序找不到文件的翻车现场。路径用C:\grid这种短路径最稳。2.3 磁盘和 ASM 盘的准备方式ASM 要的是裸盘或者未格式化的分区不能是已经挂载了盘符的 NTFS 卷。Windows 上做 ASM 盘常见两种方式一是用未分配空间建分区但不格式化、不分配盘符二是用 ASM 过滤驱动直接拿整块盘。11gR2 在 Windows 上推荐用asmtool或者磁盘管理里创建分区后删掉盘符。注意一旦盘被 ASM 接管Windows 磁盘管理里看到的就是“未知分区”别手贱去重新初始化。我一般会提前把要用的盘在磁盘管理里确认好编号装的时候直接选避免装到一半发现盘被系统占用了。3. 用 win64_11gR2_grid.zip 跑通安装的最小步骤3.1 解压与安装程序启动先把 zip 解压到短路径然后进到grid目录找setup.exe。右键以管理员身份运行。如果双击没反应大概率是解压不完整或者路径太长。命令行方式更稳# 进入解压后的 grid 目录用管理员 cmd 执行 cd C:\grid\grid setup.exe -ignorePrereq -J-Doracle.install.crs.config.ignoreDownNodetrue-ignorePrereq是跳过一些系统前提检查测试环境常用生产环境不建议。-J-Doracle...那个参数是忽略节点 down 的状态单机装的时候有时会误报。启动后第一个界面会让你选安装类型单机选“Install and Configure Oracle Grid Infrastructure for a Standalone Server”RAC 选“Install and Configure Oracle Grid Infrastructure for a Cluster”。3.2 配置 ASM 磁盘组的关键参数安装向导走到 ASM 磁盘组配置那一步会让你选盘并给磁盘组命名。常见做法是数据盘组叫DATA恢复区盘组叫FRA冗余级别测试环境选 External 就行生产至少 Normal。这里有个参数叫 AUAllocation Unit大小默认 1MB如果后面要放数据仓库的大表可以调到 4MB 或 8MB但 11gR2 里改这个要在建组时定后面改不了。选盘的时候如果看不到候选盘回到磁盘管理确认盘是不是没有盘符、没有格式化。确认后点下一步安装程序会格式化盘并创建 ASM 实例。3.3 执行 root 脚本与验证集群状态Windows 上没有 Linux 那种root.sh但会有对应的roothas.bat或rootcrs.bat在%ORACLE_HOME%\crs\install目录下。安装向导最后会提示你用管理员权限跑这个脚本。跑完后用crsctl stat res -t看资源状态# 在 grid 用户下执行查看集群资源 crsctl stat res -t crsctl check crscrsctl check crs会输出 CSS、CRS、EVM 三项的状态全是 online 才算正常。如果 CSS 是 offline先看%ORACLE_HOME%\log\下对应节点的日志。常见原因是 ASM 盘没准备好或者网络心跳不通。验证通过后这个 grid 层就算立住了后面才能装数据库软件。4. 避坑win64_11gR2_grid 安装里最容易翻车的五件事4.1 现象安装程序卡在“正在启动 Oracle Universal Installer”不动原因解压不完整或者临时目录空间不足。win64_11gR2_grid.zip解压后有好几个 G如果 C 盘剩余空间小于 10GOUI 解压临时文件时会卡死。解决换到空间大的盘解压清理%TEMP%目录关掉杀毒软件实时扫描再试。4.2 现象ASM 磁盘组创建时报 ORA-15018 或 ORA-15031原因选的盘已经被 Windows 分配了盘符或者有分区表残留。解决进磁盘管理把目标盘的所有卷删掉确保显示为“未分配”。如果之前装过 ASM 没清干净用asmtool -delete清一下 ASM 标记再重新选盘。4.3 现象跑完 root 脚本后 crsctl 显示 CSS offline原因Windows 防火墙拦了集群心跳端口或者 private 网卡配错了。解决临时关掉防火墙测试确认后把%ORACLE_HOME%\bin\下的关键进程加白名单。RAC 环境还要确认 private 网卡是专用心跳不要和 public 混用。4.4 现象安装到一半报“INS-20802 Oracle Cluster Verification Utility failed”原因这是 CVU 检查失败多数是系统前提不满足比如 hosts 文件没配、IP 地址是 DHCP 动态获取的。解决把节点 IP 改成静态hosts 文件里加上IP 主机名的映射单机也要加。然后重新跑一遍安装或者用runcluvfy单独验证。4.5 现象装完后数据库连不上 ASM 实例原因ORACLE_SID和ORACLE_HOME环境变量指向了数据库软件目录而不是 grid 目录。解决确认ORACLE_SID是ASMORACLE_HOME指向 grid 的安装路径。用sqlplus / as sysasm能连上才说明 ASM 实例正常。连不上就看%ORACLE_HOME%\log\下的 ASM 日志。5. 装完 grid 之后验证 ASM 和准备数据库安装的衔接技巧5.1 用 asmcmd 确认磁盘组可用性装完 grid 只是第一步得确认 ASM 真的能读写。用asmcmd进去看# 以 grid 用户执行 asmcmd lsdg lsdsklsdg列出所有磁盘组lsdsk列出磁盘。如果磁盘组 mount 状态是MOUNTED磁盘是MEMBER说明正常。我一般还会建一个测试目录写点东西再删掉确认 I/O 没问题。这一步不做后面装数据库软件时选 ASM 存储会直接报错回头查更麻烦。5.2 为数据库安装准备 ORACLE_BASE 和目录权限grid 装完后数据库软件要用另一个 ORACLE_HOME。常见做法是 grid 和 oracle 两个用户分开Windows 上就是两个本地账户。确认ORACLE_BASE目录存在且 oracle 用户有写权限。如果 grid 和 oracle 用同一个账户权限问题少一些但生产环境不建议混用。目录结构一般是C:\app\oracle\product\11.2.0\dbhome_1提前建好别等安装程序去建有时候权限不对会卡住。5.3 用 runcluvfy 做一次完整的前置验证在装数据库软件之前用 grid 的runcluvfy再跑一次检查runcluvfy stage -pre dbinst -n 本机主机名 -verbose这个命令会检查内核参数、内存、磁盘空间、网络配置等。输出里如果有FAILED先解决再往下走。我见过内存不够导致数据库实例起不来的也见过 hosts 文件里主机名解析不对导致监听起不来的。这一步花十分钟能省后面几小时的排查。5.4 一个容易忽略的收尾习惯装完 grid 后把crsctl stat res -t的输出和 ASM 磁盘组状态截图存一份。后面不管装数据库还是调集群先对比这份基线。有次客户环境跑了一个月突然 ASM 盘掉线翻出当初的基线一看发现有个盘当时就是PROVISIONED状态没转MEMBER只是当时没注意。这个习惯不花时间但能当后悔药用。希望帮到你。本文还有配套的精品资源点击获取