---
title: 选举优先级-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于选举优先级相关的常见问题和使用技巧，帮助您快速解决选举优先级的难题。
---
切换语言

- 简体中文
- English

划线反馈

# 选举优先级

更新时间：2026-06-12 07:31

适用版本： V4.0.x、V4.1.x、V4.2.x、V4.3.x 内容类型：TechNote  

OceanBase 数据库的选举（Election）是 OceanBase 数据库的基础组件之一，为上层提供选主服务。OceanBase 是一款分布式数据库，以分区为单位的数据保存在数据库不同副本中，选举模块能够在多个全功能副本中选举出一个 Leader 作为主副本对外提供数据服务。

采用 V1 版本优先级，逻辑上为一棵二叉决策树，按照优先级从高至低逐项比较判据：

1. `observer stopped` 表示进程收到 kill -15 信号优雅退出而降低优先级（优雅退出过程将首先降低选举优先级，然后等待 `5s` 时间切主，然后再执行各模块的退出逻辑）。
 2. `server stopped` 表示集群层面 stop 了这台机器，通常是下线某台机器的前置动作。
 3. `zone stopped` 表示集群层面 stop 这台机器所在的 zone。
 4. `fatal failure` 表示机器被检测到遭遇了致命故障，该优先级导致的切主动作将不会等待上层模块准备就绪而强制执行（例如会杀事务），可以通过 `__all_server_event_history` 指定 module 为 `"FAILURE_DETECTOR"` 查询事件，这些故障在这个版本中包括:

      1. CLOG 盘 hung（同步日志卡住），阈值为配置项 `log_storage_warning_tolerance_time`，默认值 `5s`。
      2. CLOG 盘满（无法写日志），阈值为配置项 `log_disk_utilization_limit_threshold`，默认值为 CLOG 盘容量的 `95%`。
      3. 写 SSTable hung（表现为读写转储数据卡住），阈值为硬编码`60s`。
      4. 写 SLOG hung（表现为读写元数据卡住），阈值为配置项 `data_storage_warning_tolerance_time`，默认值 `5s`。
 5. `scn` 表示 CLOG 的回放位点（scn 值与集群时间戳服务弱关联（GTS）），避免切主至回放位点过小的副本（将花费更多的时间上任，可能超过 RTO 8s 保证），阈值为硬编码 `2s`。
 6. `blacklist` 表示不可当选 Leader 的状态，在该版本中包括：

      1. `MIGRATE`，该状态通常出现在迁移过程中，副本是迁移流程的源端日志流 Leader。
      2. `SWITCH_REPLICA`，用户使用 `ALTER SYSTEM SWITCH REPLICA FOLLOWER` 指定副本不可当主，该副本将会被记录在 blacklist 中，可以通过 `__all_virtual_ls_election_reference_info` 查询该状态。
      3. 副本类型转换，F->R，F 副本若是 Leader，在转换前会被加入 blacklist。

        #### 功能适用性

        该内容适用于 OceanBase 数据库 V4.2.x 版本及以上。
 7. `manual leader` 表示用户通过 `ALTER SYSTEM SWITCH REPLICA LEADER` 命令手动指定的副本 Leader 状态，可以通过 `__all_virtual_ls_election_reference_info` 查询该状态。
 8. `primary region` 定义为 租户 primary zone 所在的 region ，通常情况下 Leader 不会选出 primary region（当且仅当 1-7 的选举优先级相同），以防止跨地域的访问（防止 RT 高）。
 9. `serious failure` 定义为 会导致切主（优雅切主）的异常 ，当前版本包括：

      1. `SCHEMA_NOT_REFRESHED`，在 schema 刷新完成前将会设置该 failure，目的是为了避免 primary zone 副本宕机重启后，Leader 在 schema 刷新完成前过早回切导致 sql 无法执行。
 10. `zone priority` 定义为 RS 为每个日志流副本设置的优先级，在单日志流架构下，日志流数量将匹配租户的 primary zone 中副本的数量，并为每个日志流以 `ROUND ROBIN` 方式分配各自的高优先级副本，以将日志流打散（分区 Tablet 的打散将表现为在不同的日志流间 `Transfer`）。
 11. 当且仅当以上优先级项全部相同时，选择 IP-Port 最小的副本成为 Leader。

Previous

[如何配置选举配置项 election_blacklist_interval](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000000080)

Next

[OceanBase 数据库中 RootService 服务常见问题](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000000184) ![有帮助](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) 咨询热线
