ITPub博客

首页 > 数据库 > Oracle > 记一次 ora.net1.network 掩码问题导致 RFS 传输失败案例分析

记一次 ora.net1.network 掩码问题导致 RFS 传输失败案例分析

原创 Oracle 作者:龙山游龙 时间:2026-02-09 15:51:27 0 删除 编辑

1 、故障描述

某次某用户操作系统重启后,执行容灾同步恢复操作时出现异常,具体表现为:数据库实例可正常启动至只读状态,但开启 MRP (介质恢复进程)后,归档日志未如期从生产环境传递至备库;执行 `defer` 、 `enable` 命令重启归档传输开关,归档日志传输问题仍未解决;通过 `tnsping` 验证 1521 端口连通性,显示端口不通,初步判断网络或监听存在问题。

2 、根因分析

( 1 )、监听与实例注册问题定位

通过 `su - grid 、 lsnrctl status` 检查容灾环境监听状态,发现监听服务已开启,但数据库实例未正确注册到监听;

查看实例的 `remote listener` 和 `local listener` 参数,确认配置与预期一致,无参数错误;

手工重置上述两个参数并执行 `alter system register` 触发生效,重新检查监听注册状态,问题依旧,排除参数配置异常。

( 2 )、集群服务状态深度检查

使用集群命令 `crsctl status res -t` 检查所有集群服务状态,发现监听资源 `ora.LISTENER.lsnr` 实际未启动(此前 “ 监听已开启 ” 为误判);

执行 `crsctl start res ora.LISTENER.lsnr` 尝试启动监听,系统报错提示 “ 依赖服务 `ora.net1.network` 未启动 ” ;

文本 AI 生成的内容可能不正确。

图形用户界面, 文本 AI 生成的内容可能不正确。

进一步执行 `crsctl start res ora.net1.network` 启动依赖服务,显示启动失败,确定 `ora.net1.network` 服务为故障核心阻塞点。

文本 AI 生成的内容可能不正确。

屏幕上有字 AI 生成的内容可能不正确。

( 3 )、基础网络连通性验证

检查双节点 public 网络互通性,通过 `ping` 命令测试节点间 IP 连通,结果正常,排除网络硬件故障;

手工附加 VIP 至 public 网卡(命令: `ifconfig eth0:1 xxx.xxx.xx.29 netmask 255.255.255.0` ),操作可正常完成;

执行 `ip addr del xxx.xxx.xx.29 dev eth0` 删除手工附加的 VIP ,操作无异常,确认网卡基础功能正常,排除网卡驱动或硬件问题。

( 4 )、根因定位

排查陷入瓶颈后,通过查询网络技术帖子,参考类似 `ora.net1.network` 启动失败案例,受启发检查网卡子网掩码配置,发现网卡 `eth0` 的子网掩码为 `255.255.255.128` ;

为确认该子网掩码是否为预期配置,联系客户查阅其他正常环境的子网掩码设置,客户反馈当前 `255.255.255.128` 配置正确,排除 “ 子网掩码配置错误 ” 的初步猜想;

结合 MOS 文档《 CRS-2674 Clusterware Network Resource ora.net1.network Could not Start (Doc ID 1270186.1) 》进行分析,通过 `srvctl config nodeapps` 、 `crsctl stat res ora.net1.network -f` 发现集群配置中 `ora.net1.network` 资源的子网掩码配置为 `255.255.255.0` ,与操作系统实际子网掩码 `255.255.255.128` 不匹配 —— 此为 `ora.net1.network` 服务启动失败的根本原因。

3 、解决方案

根据用户反馈 “ 操作系统子网掩码配置正确 ” ,结合 MOS 文档建议,确定解决方案为:修改 OCR 中 `ora.net1.network` 资源的子网掩码配置,使其与操作系统实际配置一致,避免因修改操作系统配置引发其他网络依赖问题。

以 `root` 用户登录集群节点,使用 `srvctl` 命令修改集群网络资源配置(适配实际子网掩码 `255.255.255.128` ),命令如下(需替换 `<subnet IP>` 为实际子网地址、 `<interface>` 为网卡名,如 `eth0` ):

srvctl modify nodeapps -n <HOSTNAME>1 -A <HOSTNAME>1-vip/255.255.255.128/bond0

执行命令启动 `ora.net1.network` 服务,验证启动结果:

   crsctl start res ora.net1.network

   crsctl status res ora.net1.network  # 确认状态为“ONLINE”

启动监听资源及相关依赖服务,恢复实例注册与归档传输:

   crsctl start res ora.LISTENER.lsnr  # 启动监听

   alter system register;  # 触发实例注册到监听

图形用户界面, 文本, 应用程序, 电子邮件 AI 生成的内容可能不正确。

验证归档日志传输功能,确认 MRP 进程正常运行,容灾同步恢复正常。

 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30310891/viewspace-3110303/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
传统商业、开源和国产据库领域十从业经验,TB级高并发数据库的管理经验。对于数据库内部原理、体系结构,数据页/块结构原理有着深刻认识;对于数据库新特性、分布式高可用架构和性能调优有着丰富的的实战经验。擅长故障诊断以及数据库异常打开及数据灾难挽救。

注册时间:2015-06-28

  • 博文量
    178
  • 访问量
    334741