---
title: "修改日志流的法定成员数 - OceanBase 数据库 V4.5.0 | OceanBase 文档中心"
description: 修改日志流的法定成员数 由于一些异常原因，某些日志流的法定成员数（ paxos_replica_num ）与租户 Locality 中全功能副本的个数不一致，可以通过 ALTER SYSTEM MODIFY 命令，手动调整日志流的法定成员数。 使用限制 系统租户（sys 租户）可以修改所有租户的日志流的法定成员数，用…
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.5.0

# 修改日志流的法定成员数

更新时间：2026-01-26 18:01:48

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.5.0/zh-CN/600.manage/300.replica-management/200.replica-distribution/200.locality-common-operations/800.modify-paxos-replica-number.md)  

由于一些异常原因，某些日志流的法定成员数（`paxos_replica_num`）与租户 Locality 中全功能副本的个数不一致，可以通过 `ALTER SYSTEM MODIFY` 命令，手动调整日志流的法定成员数。

## 使用限制

- 系统租户（sys 租户）可以修改所有租户的日志流的法定成员数，用户租户只能修改本租户的日志流的法定成员数。
 - 租户的同一个日志流，除了副本迁移任务可以并行执行多个以外，其他容灾任务（包括添加副本、删除副本、转换副本类型、修改日志流的法定成员数等）每次只能执行一个。

  sys 租户可以通过视图 `CDB_OB_LS_REPLICA_TASKS` 确认是否有正在运行的容灾任务；用户租户可以通过视图 `DBA_OB_LS_REPLICA_TASKS` 确认是否有正在运行的容灾任务。
 - 当前仅支持手动调小 `paxos_replica_num`，不支持手动调大 `paxos_replica_num`。

## 前提条件

- 修改日志流 Leader 的法定成员数前，请确认当前用户拥有 `ALTER SYSTEM` 权限，否则无法执行 `ALTER SYSTEM MODIFY` 命令。
 - 在查询视图前，请确认当前用户拥有以下视图的 `SELECT` 权限，否则无法查询相关信息。

     - `DBA_OB_TENANTS`
     - `DBA_OB_LS`/`CDB_OB_LS`
     - `DBA_OB_LS_LOCATIONS`/`CDB_OB_LS_LOCATIONS`

## 操作步骤

假设当前有一个 tenant1 租户，其 1002 号日志流有 4 个 F 副本，而 `paxos_replica_num` 值为 5（大于 4），此时可以通过命令手动将 `paxos_replica_num` 的值调整为 4，使其与租户 Locality 中全功能副本的个数一致。

1. 用户登录到集群对应的租户。

   连接示例如下：

   ```shell
   obclient -h172.30.xxx.xxx -P2883 -uroot@tenant1#obdemo -pxxxx -A

   ```

   有关更加详细的连接数据库的操作指引，参见 [连接数据库概述（MySQL 模式）](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476086) 和 [连接数据库概述（Oracle 模式）](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476144)。
 2. 获取待操作租户对应的租户 ID。

      - 系统租户

       ```shell
       obclient [oceanbase]> SELECT TENANT_NAME,TENANT_ID FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_NAME='tenant1';

       ```
      - 用户租户

           MySQL 模式   Oracle 模式

       MySQL 模式下执行以下语句：

       ```shell
       obclient [oceanbase]> SELECT TENANT_NAME,TENANT_ID,LOCALITY FROM oceanbase.DBA_OB_TENANTS;

       ```

       Oracle 模式下执行以下语句：

       ```shell
       obclient [SYS]> SELECT TENANT_NAME,TENANT_ID,LOCALITY FROM SYS.DBA_OB_TENANTS;

       ```

       查询结果的示例如下：

       ```shell
       +-------------+-----------+
       | TENANT_NAME | TENANT_ID |
       +-------------+-----------+
       | tenant1     |      1002 |
       +-------------+-----------+
       1 row in set

       ```

       根据查询结果，该租户对应的租户 ID 为 `1002`。

       有关视图 `DBA_OB_TENANTS` 中各字段的详细说明，请参见 [DBA_OB_TENANTS](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004477525)。
 3. 获取待操作租户的所有日志流信息。

      - 系统租户

       ```shell
       obclient [oceanbase]> SELECT * FROM oceanbase.CDB_OB_LS WHERE TENANT_ID=1002;

       ```

       有关视图 `CDB_OB_LS` 中各字段的详细说明，请参见 [CDB_OB_LS](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004477447)。
      - 用户租户

       ```shell
       obclient [oceanbase]> SELECT * FROM oceanbase.DBA_OB_LS;

       ```

       ```shell
       obclient [SYS]> SELECT * FROM SYS.DBA_OB_LS;

       ```

       ```shell
       +-------+--------+--------------+---------------+-------------+---------------------+----------+---------------------+---------------------+-----------+
       | LS_ID | STATUS | PRIMARY_ZONE | UNIT_GROUP_ID | LS_GROUP_ID | CREATE_SCN          | DROP_SCN | SYNC_SCN            | READABLE_SCN        | FLAG      |
       +-------+--------+--------------+---------------+-------------+---------------------+----------+---------------------+---------------------+-----------+
       |     1 | NORMAL | z1;z2        |             0 |           0 |                NULL |     NULL | 1712455113896017202 | 1712455113896017202 |           |
       |  1001 | NORMAL | z1;z2        |          1001 |        1001 | 1712125812893680165 |     NULL | 1712455113896017202 | 1712455113896017202 |           |
       |  1002 | NORMAL | z1;z2        |          1002 |        1002 | 1712125812908098857 |     NULL | 1712455114041323052 | 1712455113540551113 |           |
       |  1003 | NORMAL | z1;z2        |             0 |           0 | 1712125828880850585 |     NULL | 1712455113896017202 | 1712455113896017202 | DUPLICATE |
       +-------+--------+--------------+---------------+-------------+---------------------+----------+---------------------+---------------------+-----------+
       4 rows in set

       ```

       根据查询结果可知，tenant1 租户有一个 1 号日志流、一个 1001 号日志流、一个 1002 号日志流以及一个 1003 号广播日志流。

       有关视图 `DBA_OB_LS` 中各字段的详细说明，请参见 [DBA_OB_LS](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004478225)。
 4. 分别查看租户各日志流的分布情况。

   例如，查看 1002 号日志流的副本分布及该日志流的 `paxos_replica_num`。

      - 系统租户

       ```shell
       obclient [oceanbase]> SELECT * FROM oceanbase.CDB_OB_LS_LOCATIONS WHERE LS_ID=1002 AND TENANT_ID=1002;

       ```

       有关视图 `CDB_OB_LS_LOCATIONS` 中各字段的详细说明，请参见 [CDB_OB_LS_LOCATIONS](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004477540)。
      - 用户租户

       ```shell
       obclient [oceanbase]> SELECT * FROM oceanbase.DBA_OB_LS_LOCATIONS WHERE LS_ID=1002;

       ```

       ```shell
       obclient [SYS]> SELECT * FROM SYS.DBA_OB_LS_LOCATIONS WHERE LS_ID=1002;

       ```

       ```shell
       +----------------------------+----------------------------+-------+----------------+----------+----------+------+----------+--------------------------------------------------------------------------------------------------------------------------------------+----------------------+--------------+--------------+---------+
       | CREATE_TIME                | MODIFY_TIME                | LS_ID | SVR_IP         | SVR_PORT | SQL_PORT | ZONE | ROLE     | MEMBER_LIST                                                                                                                          | PAXOS_REPLICA_NUMBER | REPLICA_TYPE | LEARNER_LIST | REBUILD |
       +----------------------------+----------------------------+-------+----------------+----------+----------+------+----------+--------------------------------------------------------------------------------------------------------------------------------------+----------------------+--------------+--------------+---------+
       | 2024-01-31 16:50:06.856652 | 2024-01-31 16:52:54.618093 |  1002 | 100.xx.xxx.012 |     5070 |     5105 | z1   | LEADER   | 100.xx.xxx.012:5070:1,100.xx.xxx.001:5071:1706691024376341,100.xx.xxx.003:5073:1706691171162545,100.xx.xxx.004:5074:1706691096303187 |                    5 | FULL         |              | FALSE   |
       | 2024-01-31 16:50:24.450775 | 2024-01-31 16:52:54.760939 |  1002 | 100.xx.xxx.001 |     5071 |     5106 | z1   | FOLLOWER | NULL                                                                                                                                 |                 NULL | FULL         |              | FALSE   |
       | 2024-01-31 16:52:51.216095 | 2024-01-31 16:52:57.135393 |  1002 | 100.xx.xxx.003 |     5073 |     5108 | z2   | FOLLOWER | NULL                                                                                                                                 |                 NULL | FULL         |              | FALSE   |
       | 2024-01-31 16:51:36.356401 | 2024-01-31 16:52:54.686229 |  1002 | 100.xx.xxx.004 |     5074 |     5109 | z3   | FOLLOWER | NULL                                                                                                                                 |                 NULL | FULL         |              | FALSE   |
       +----------------------------+----------------------------+-------+----------------+----------+----------+------+----------+--------------------------------------------------------------------------------------------------------------------------------------+----------------------+--------------+--------------+---------+
       4 rows in set

       ```

       根据结果可知，租户的 1002 号日志流有 4 个 F 类型的副本，而日志流的 `PAXOS_REPLICA_NUMBER` 为 `5`，需要将该日志流的 `PAXOS_REPLICA_NUMBER` 调整为 `4`。
 5. 执行修改 `paxos_replica_num` 的命令。

   语句如下：

   ```sql
   ALTER SYSTEM MODIFY LS [=] ls_id PAXOS_REPLICA_NUM [=] paxos_replica_num [TENANT [=] 'tenant_name'];

   ```

   语句使用说明：

      - `ls_id`：指定待修改的日志流 ID。
      - `paxos_replica_num`：指定修改后日志流的法定成员数，即租户 Locality 中全功能型（F）副本的数量。

       指定该参数的值时，需要注意以下事项：

            - 需要保证调整后，`paxos_replica_num` 及 Leader 副本中 `MEMBER_LIST` 的成员个数均满足多数派。
            - `paxos_replica_num` 的值需要大于等于当前 Leader 副本中 `MEMBER_LIST` 的成员个数。sys 租户可以通过查询视图 `CDB_OB_LS_LOCATIONS` 确认；用户租户可以通过查询视图 `DBA_OB_LS_LOCATIONS` 确认。
            - `paxos_replica_num` 只能调小，不能调大，且值的变化不能超过 1。例如，本示例中，只能将 `paxos_replica_num` 修改为 `4`。

       如果指定的值有以上任一条件不满足，则系统会报错。
      - `tenant_name`：指定待操作的租户。系统租户可以指定其他租户，用户租户只能指定本租户。如果不显式指定待操作的租户，则默认租户名为当前租户。本语句不支持使用 `all`、`all_user`、`all_meta` 等指定所有租户、用户租户以及所有 Meta 租户。

   示例如下：

   ```shell
   obclient> ALTER SYSTEM MODIFY LS = 1002 paxos_replica_num = 4;

   ```
 6. 执行成功后，再次查看该日志流的副本分布。

      - 系统租户

       ```

       ```

       ```shell
       +----------------------------+----------------------------+-------+----------------+----------+----------+------+----------+--------------------------------------------------------------------------------------------------------------------------------------+----------------------+--------------+--------------+---------+
       | CREATE_TIME                | MODIFY_TIME                | LS_ID | SVR_IP         | SVR_PORT | SQL_PORT | ZONE | ROLE     | MEMBER_LIST                                                                                                                          | PAXOS_REPLICA_NUMBER | REPLICA_TYPE | LEARNER_LIST | REBUILD |
       +----------------------------+----------------------------+-------+----------------+----------+----------+------+----------+--------------------------------------------------------------------------------------------------------------------------------------+----------------------+--------------+--------------+---------+
       | 2024-01-31 16:50:06.856652 | 2024-01-31 17:17:23.032797 |  1002 | 100.xx.xxx.012 |     5070 |     5105 | z1   | LEADER   | 100.xx.xxx.012:5070:1,100.xx.xxx.001:5071:1706691024376341,100.xx.xxx.003:5073:1706691171162545,100.xx.xxx.004:5074:1706691096303187 |                    4 | FULL         |              | FALSE   |
       | 2024-01-31 16:50:24.450775 | 2024-01-31 17:17:22.976381 |  1002 | 100.xx.xxx.001 |     5071 |     5106 | z1   | FOLLOWER | NULL                                                                                                                                 |                 NULL | FULL         |              | FALSE   |
       | 2024-01-31 16:52:51.216095 | 2024-01-31 17:17:23.113112 |  1002 | 100.xx.xxx.003 |     5073 |     5108 | z2   | FOLLOWER | NULL                                                                                                                                 |                 NULL | FULL         |              | FALSE   |
       | 2024-01-31 16:51:36.356401 | 2024-01-31 17:17:23.715470 |  1002 | 100.xx.xxx.004 |     5074 |     5109 | z3   | FOLLOWER | NULL                                                                                                                                 |                 NULL | FULL         |              | FALSE   |
       +----------------------------+----------------------------+-------+----------------+----------+----------+------+----------+--------------------------------------------------------------------------------------------------------------------------------------+----------------------+--------------+--------------+---------+
       4 rows in set

       ```

       从查询结果可知，租户 1002 号日志流的 `PAXOS_REPLICA_NUMBER` 变成了 `4`。

## 相关文档

- [增加副本](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476527)
 - [减少副本](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476528)
 - [转换副本类型](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476529)
 - [副本迁移](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476530)

 上一篇 下一篇 ![有帮助](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) 咨询热线
