---
title: "强读 Primary Zone 路由 - 数据库代理  V4.3.2 | OceanBase 文档中心"
description: 强读 Primary Zone 路由 OceanBase 集群中存在多个 Zone，Primary Zone 概念包含 OceanBase 集群中的若干个 Zone。ODP 感知 Primary Zone 包含的若干副本位置，并将无法计算分区位置的强读请求路由到这些副本。 ODP 提供如下两种使用 Primary Z…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*nSAhQbrBXKwAAAAAAAAAAAAADiGDAQ/original) 数据库代理 V 4.3.2

# 强读 Primary Zone 路由

更新时间：2026-04-14 17:41:09

[编辑](https://github.com/oceanbase/oceanbase-proxy-doc/edit/V4.3.2/zh-CN/600.data-routing/400.intra-tenant-routing/600.force-reading-primary-zone-routing.md)  

OceanBase 集群中存在多个 Zone，Primary Zone 概念包含 OceanBase 集群中的若干个 Zone。ODP 感知 Primary Zone 包含的若干副本位置，并将无法计算分区位置的强读请求路由到这些副本。

ODP 提供如下两种使用 Primary Zone 的方式。

- ODP 配置 Primary Zone：配置 ODP 配置项 `proxy_primary_zone_name`。配置后 ODP 会将 `proxy_primary_zone_name` 中配置的 OBServer 节点加入路由候选列表，并按照路由策略所表明的优先级进行选取。
 - OceanBase 集群 Primary Zone：配置 OceanBase 集群的 Primary Zone，并将 ODP 配置项 `enable_primary_zone` 配置为 `True`。ODP 将处于 Primary Zone 中的 OBServer 节点加入一个名为 PZ 的候选列表，之后直接从 PZ 中选择 OBServer 节点进行路由，当 PZ 候选列表无可用 OBServer 节点时，Primary Zone 路由失效。

#### 注意

配置项 `proxy_primary_zone_name` 优先级高于 OceanBase 集群的 Primary Zone，`proxy_primary_zone_name` 值非空时，OceanBase 集群 Primary Zone 路由失效。

## 示例一：使用配置项 proxy_primary_zone_name

此处以集群涉及到的 OBServer 节点和 Zone 如下为例进行介绍。

| 节点 | Zone |
| --- | --- |
| 10.10.10.1 | z1 |
| 10.10.10.2 | z2 |
| 10.10.10.3 | z3 |

1. 使用 root@proxysys 账号登录 ODP，修改配置项 `proxy_primary_zone_name`

   ```sql
   obclient [(none)]> ALTER PROXYCONFIG SET PROXY_PRIMARY_ZONE_NAME = 'z2';

   ```
 2. 在用户租户下执行强读请求，使用 EXPLAIN ROUTE 命令查看 ODP 路由选取过程

   ```sql
   obclient [test]> EXPLAIN ROUTE SELECT /* +READ_CONSISTENCY(STRONG) */ 888\G

   ```

   输出如下，ODP 将请求路由到 z2 副本。

   ```sql
   *************************** 1. row ***************************
   Route Plan:
   Trans Current Query:"EXPLAIN ROUTE SELECT /* +READ_CONSISTENCY(STRONG) */ 888"

   Route Prompts
   -----------------
   > SQL_PARSE
     [INFO] Maybe counldn't get location cache of the query table since table name is empty.
   > ROUTE_INFO
     [INFO] Will route to partition server or routed by route policy
   > ROUTE_POLICY
     [INFO] Will route to the proxy primary zone(z2)
     [INFO] Use default route policy(MERGE_IDC_ORDER) for strong read

   Route Plan
   -----------------
   > SQL_PARSE:{cmd:"COM_QUERY", table:""}
   > ROUTE_INFO:{route_info_type:"USE_PARTITION_LOCATION_LOOKUP"}
   > ROUTE_POLICY:{replica:"10.10.10.2:50110", idc_type:"SAME_IDC", zone_type:"ReadWrite", role:"FOLLOWER", type:"FULL", chosen_route_type:"ROUTE_TYPE_PRIMARY_ZONE", proxy_primary_zone:"z2"}
   > CONGESTION_CONTROL:{svr_addr:"10.10.10.2:50110"}

   ```

## 示例二：使用集群 Primary Zone

1. 查看 OceanBase 集群的 Primary Zone

   ```sql
   obclient [test]> SELECT TENANT_NAME, PRIMARY_ZONE FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_NAME='mysql'\G

   ```

   输出如下，表示在 OceanBase 集群中 z3 的优先级高于 z1 和 z2。

   ```sql
   *************************** 1. row ***************************
   TENANT_NAME: mysql
   PRIMARY_ZONE: z3;z1,z2

   ```
 2. 执行强读请求，使用 EXPLAIN ROUTE 命令查看 ODP 路由选取过程

   ```

   输出如下，ODP 将请求路由到 z3 副本。

   Route Prompts
   -----------------
   > SQL_PARSE
     [INFO] Maybe counldn't get location cache of the query table since table name is empty.
   > ROUTE_INFO
     [INFO] Will route to partition server or routed by route policy
   > ROUTE_POLICY
     [INFO] Will route to the cluster primary zone(z3;z1,z2)
     [INFO] Use default route policy(MERGE_IDC_ORDER) for strong read

   Route Plan
   -----------------
   > SQL_PARSE:{cmd:"COM_QUERY", table:""}
   > ROUTE_INFO:{route_info_type:"USE_PARTITION_LOCATION_LOOKUP"}
   > ROUTE_POLICY:{replica:"10.10.10.3:50111", idc_type:"SAME_IDC", zone_type:"ReadWrite", role:"FOLLOWER", type:"FULL", chosen_route_type:"ROUTE_TYPE_PRIMARY_ZONE", cluster_primary_zone:"z3;z1,z2"}
   > CONGESTION_CONTROL:{svr_addr:"10.10.10.3:50111"}

   ```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
