6200 与 Oracle ONS
6200 是 Oracle 集群(RAC)中 ONS(Oracle Notification Service)的默认端口。ONS 的职责是在集群内广播事件:某个实例启动、停止或服务状态变化时,ONS 把消息推送给订阅方(客户端与中间件),配合 FAN(Fast Application Notification)让连接池及时知道应该连哪个实例,从而实现快速故障转移与负载均衡。ONS 使用 6200 与 6201 分别服务本地与远端连接,因此防火墙需一并放行。RAC 环境里 onsctl 的查看与连通测试是标准排查动作。
基本信息
| 服务名 | Oracle Notification Service(ONS) |
|---|---|
| 传输层 | TCP(6200,远端常用 6201) |
| 配套机制 | FAN 事件与连接池配合 |
| 常见客户端 | OCI/UCP 等连接池组件 |
| 用途 | RAC 节点与实例事件广播、负载均衡 |
| 安全等级 | 仅数据库内网 |
典型使用场景
- RAC 排障:节点或实例事件没有传播时检查 ONS 状态
- 防火墙白名单核对:确认 6200 与 6201 都已放行
- 故障转移验证:模拟实例故障,确认连接池能及时切换
- 扩缩容:新增节点后核对 ONS 配置与互联
- 参数审计:连接串中的 ONS 配置是否与现网一致
ONS 排查
ONS 排查
onsctl ping # 检查 ONS 是否响应
onsctl debug # 输出详细状态,含订阅方信息
ss -lntp | grep -E '620[01]' # 节点侧确认监听
# 日志目录:$GRID_HOME/log/<host>/client/ 下
# 应用侧还要核对连接串中的 ONS 地址与端口是否与现网一致ONS 排查动作
| 动作 | 目的 | 关注点 |
|---|---|---|
| onsctl ping | 确认 ONS 服务响应 | 无响应先查进程与端口 |
| onsctl debug | 查看详细状态 | 订阅方列表能反映客户端接入情况 |
| 日志检查 | 定位事件传播异常 | 客户端侧日志目录随 Grid 版本变化 |
| 防火墙核对 | 保证 6200/6201 互通 | 漏放表现为随机超时 |
RAC 内网防火墙按白名单收紧时,ONS 是最容易被漏掉的项:应用表现为连接随机超时或漂移异常,排查时通常先从应用侧开始,绕一圈才回到网络。
ONS 通道上传递的是集群状态信息,且通常不加密。把它开放到数据库内网之外,等于向外部提供集群拓扑与状态线索,应严格限制来源网段。