Windows Server 2019安装Oracle 19c RAC Grid时OLR创建密钥失败(rc=100)求助
Windows Server 2019安装Oracle 19c RAC Grid时OLR创建密钥失败(rc=100)求助
你好,针对你遇到的这个OLR密钥创建失败、返回错误码100的问题,我整理了几个实用的排查方向和解决方案,你可以逐一尝试:
1. 先排查clscfg命令的参数错误
从报错信息里能明显看到,安装程序执行的clscfg命令里错误加入了-y参数,但根据clscfg的帮助文档,-localadd模式下根本没有这个参数,合法参数只有-z(指定站点GUID)、-p(集群属性列表)和-avlookup(升级时用)。这大概率是安装向导组装命令时出了问题。
- 建议先去Grid安装日志目录(通常在
C:\Program Files\Oracle\Inventory\logs或Grid主目录下的log文件夹)找到对应的installActions*.log,查看触发这个错误的上下文,确认是不是安装程序漏传了-z的参数值,反而错误加入了-y。 - 如果确认是参数问题,你可以尝试手动执行修正后的命令:
这里的站点GUID可以从集群配置里获取,或者如果是全新集群,也可以通过C:\software\WINDOWS.X64_193000_grid_home\bin\clscfg -localadd -z <你的有效站点GUID> -p CLUSTER_CLASS:Standalone,NODE_LIST:node1~node2~crsctl query crs site(HAS模式下)查询,实在拿不准的话,也可以先尝试省略-z参数(部分场景下安装程序会自动生成)。
2. 验证Hosts文件配置的一致性与正确性
你的Hosts文件里配置了多个nodecluster的IP(SCAN IP)、VIP和私网IP,要确保以下几点:
- 所有节点(node1、node2、dc、st)的Hosts文件完全一致,包括条目顺序和IP对应关系,修改后记得执行
ipconfig /flushdns刷新DNS缓存。 - SCAN IP(10.0.1.21/22/23)必须是未被占用的空闲IP,且和公网IP在同一子网;VIP(node1-vip、node2-vip)同理,不能被其他设备使用。
- 私网IP(node1-pri-ip、node2-pri-ip、storage-pri-ip)要在同一个独立子网,并且没有被其他服务占用,RAC的私网通信依赖这个子网的稳定性。
3. 检查OLR文件的状态与权限
OLR(本地注册表)损坏或权限不足也会导致这个错误:
- 先检查OLR文件的路径(默认是
C:\Windows\system32\olr),确保Oracle安装用户对该文件有完全控制的权限。 - 执行命令检查OLR状态:
如果提示OLR损坏,建议先备份现有OLR,然后停止Grid服务,执行初始化命令重新创建:ocrcheck -local
这个操作要谨慎,最好在确认没有其他依赖后执行。ocrconfig -local -init
4. 确认安装用户的权限配置
虽然你说已经完成了预检查,但还是再确认一下:
- 安装Grid的用户必须是本地管理员组的成员,并且拥有作为服务登录、调整进程内存配额、替换进程级别令牌等高级权限(这些是Oracle RAC在Windows上安装的必备权限)。
- 确保该用户对Grid安装目录(
C:\software\WINDOWS.X64_193000_grid_home)有完全控制权限。
5. 检查Windows系统补丁与依赖服务
- 确保Windows Server 2019已经安装了最新的累积更新,尤其是和集群服务、网络驱动相关的补丁,旧补丁可能会导致兼容性问题。
- 确认
Remote Registry、Windows Management Instrumentation这两个服务已经启动,并且设置为自动启动,Oracle安装程序依赖这些服务获取系统信息。
如果以上方法都没解决问题,建议你把安装日志里更多的上下文信息(比如触发错误前的配置步骤)贴出来,这样能更精准地定位问题根源。
备注:内容来源于stack exchange,提问作者shenhengbin




