---
title: "增加或删除加密 Zone | OceanBase 文档中心"
description: 增加或删除加密 Zone OceanBase 数据库提供了 Zone 级别的日志传输和保存加密功能，您可以在集群中添加 Zone 时，指定 Zone 的加密属性，后续在向该加密 Zone 发送日志时，系统会对 Clog 进行加密，并且该 Zone 在持久化 Clog 时也会加密。 说明 当需要加密投票型副本时，需要添…
---
切换语言

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

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

# 增加或删除加密 Zone

更新时间：2026-05-26 12:52:40

OceanBase 数据库提供了 Zone 级别的日志传输和保存加密功能，您可以在集群中添加 Zone 时，指定 Zone 的加密属性，后续在向该加密 Zone 发送日志时，系统会对 Clog 进行加密，并且该 Zone 在持久化 Clog 时也会加密。

> **说明**
>
>  
>
> 当需要加密投票型副本时，需要添加加密 Zone。有关副本的详细信息，请参见 [副本概述](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000944746)。

## 使用限制

加密 Zone 和加密投票型副本的使用有一定限制，具体限制如下：

- 加密 Zone 上仅支持部署加密投票型副本，不支持部署其他类型的副本，例如全功能型副本、只读型副本、普通日志型副本等均不能部署在加密 Zone 上。
 - 加密投票型副本仅支持部署在加密 Zone 上，不支持部署在读写 Zone 上。

## 添加加密 Zone

本节以下述集群为例，提供加密 Zone 的添加方法。

假设集群中已有 2个 Zone： `z1` 和 `z2`，需要添加一个Zone `z3`。其中，`z1` 和 `z2` 是常规读写 Zone，`z3` 是加密 Zone，`z3` 只包含加密的事务日志数据。

添加加密 Zone 的步骤如下：

1. 使用 root 用户登录数据库的 sys 租户。
 2. 依次执行以下语句，设置加密模式并生成主密钥。

   ```sql
   obclient> ALTER SYSTEM set tde_method = 'internal';

   obclient>ALTER INSTANCE ROTATE INNODB MASTER KEY;

   ```
 3. 执行以下语句，检查上一步中生成的主密钥是否生效。

   ```sql
   obclient> SELECT min(max_active_version) FROM oceanbase.__all_virtual_master_key_version_info WHERE tenant_id = 1;

   ```

   当查询结果中 `min(max_active_version)`大于 `0` 时，则表示主密钥已生效，否则主密钥没有生效。

   虚拟表 `__all_virtual_master_key_version_info` 用于记录每个 OBServer 上主密钥的版本信息，其表结构如下：

   ```sql
   table_name    = '__all_virtual_master_key_version_info',

   rowkey_columns = [
     ('svr_ip', 'varchar:MAX_IP_ADDR_LENGTH'),
     ('svr_port', 'int'),
     ('tenant_id', 'int'),
   ],
   normal_columns = [
     ('max_active_version', 'int'),
     ('max_stored_version', 'int'),
     ('expect_version', 'int'),
   ]

   ```

   每个 OBServer 上的每一个租户的主密钥信息占据该虚拟表中的一行。其中：

      - `expect_version` 表示集群中该租户当前已生成的主密钥的最大版本。
      - `max_stored_version` 表示对应 OBServer 在其本地持久化中，该租户的主密钥的最大版本。
      - `max_active_version` 表示对应 OBServer 在进行加密时，该租户可以使用的主密钥的最大版本，`max_active_version` 等于 `0` 表示没有已经生效的主密钥。
 4. 执行以下命令，添加加密 Zone。

   > **注意**
   >
   >  
   >
   > 在添加加密 Zone 前，系统租户必须要有一个已生效的主密钥，如果系统租户没有一个生效的主密钥，则执行添加加密 zone 的语句会失败。

   ```sql
   obclient> ALTER SYSTEM ADD Zone 'z3' zone_type = 'encryption';

   ```
 5. 分别执行以下命令，调整系统租户的 Locality，有关 Locality 的详细介绍请参见 [Locality 概述](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000944743)。

   由于集群之前为 2 副本，为保证系统租户的高可用，在添加完加密 Zone 后，需要将系统租户补充为 3 副本。且该加密 Zone `z3` 的副本类型必须为加密投票型副本。

   ```sql
   obclient> CREATE RESOURCE POOL sys_pool2 unit_num = 1, zone_list=('z3'), unit='sys_unit_config';

   obclient> ALTER TENANT sys resource_pool_list = ('sys_pool','sys_pool2');

   obclient> ALTER TENANT sys LOCALITY = 'F@z1,F@z2,E@z3';

   ```

## 手动轮转主密钥

轮转主密钥即表示生成一个新的密钥。当用户希望更换主密钥时，管理员可以手动为加密 Zone 轮转主密钥。

1. 使用 `root` 用户登录数据库的 `sys` 租户。
 2. 执行以下语句，为加密 Zone 轮转主密钥。

   ```sql
   obclient> ALTER INSTANCE ROTATE INNODB MASTER KEY;

   ```

   > **说明**
   >
   >  
   >
   > 在轮转主密钥时，如果出现了 OBServer 宕机，加密 Zone 上的 OBServer 宕机不会对主密钥生效产生影响，但读写 Zone 上的 OBServer 宕机对主密钥的生效可能产生影响，可能会导致轮转生成的新主密钥不能立即生效。

## 删除加密 Zone

加密 Zone 添加成功后，如果需要删除加密 Zone，其操作与读写 Zone 的删除操作相同，且在删除加密 Zone 前，需要保证该 Zone 下已不存在 OBServer，否则将会导致删除失败。

1. 使用 `root` 用户登录数据库的 `sys` 租户。
 2. 执行以下语句，删除加密 Zone。

   示例如下：

   ```sql
   obclient> ALTER SYSTEM DELETE ZONE 'z3';

   ```
 3. 完成后，执行以下语句，确认该 Zone 是否删除成功。

   示例如下：

   ```sql
   obclient> SELECT * FROM __all_zone;
   +----------------------------+----------------------------+-------+--------------------------+------------------+--------------+
   | gmt_create                 | gmt_modified               | zone  | name                     | value            | info         |
   +----------------------------+----------------------------+-------+--------------------------+------------------+--------------+
   | 2021-11-22 10:33:10.445956 | 2021-11-22 10:33:10.445956 |       | cluster                  |                0 | test321_0930 |
   | 2021-11-22 10:33:10.446963 | 2021-11-23 15:40:01.140640 |       | config_version           | 1637653201137839 |              |
   | 2021-11-22 10:33:10.445909 | 2021-11-24 02:00:01.633458 |       | frozen_time              | 1637690410847191 |              |
   | 2021-11-22 10:33:10.445909 | 2021-11-24 02:00:01.633458 |       | frozen_version           |                4 |              |
   | 2021-11-22 10:33:10.446963 | 2021-11-22 10:33:10.446963 |       | gc_schema_version        |                0 |              |
   | 2021-11-22 10:33:10.446963 | 2021-11-24 02:00:20.858275 |       | global_broadcast_version |                4 |              |
   | 2021-11-22 10:33:10.446963 | 2021-11-22 10:33:10.446963 |       | is_merge_error           |                0 |              |
   | 2021-11-22 10:33:10.446963 | 2021-11-24 02:01:28.922658 |       | last_merged_version      |                4 |              |
   | 2021-11-22 10:33:10.446963 | 2021-11-24 02:01:28.924652 |       | lease_info_version       | 1637690488921414 |              |
   | 2021-11-22 10:33:10.446963 | 2021-11-24 02:01:28.924652 |       | merge_status             |                0 | IDLE         |
   | 2021-11-22 10:33:10.446963 | 2021-11-22 10:33:10.446963 |       | privilege_version        |                0 |              |
   | 2021-11-22 10:33:10.446963 | 2021-11-22 10:33:10.446963 |       | proposal_frozen_version  |                1 |              |
   | 2021-11-22 10:33:10.446963 | 2021-11-22 10:33:10.446963 |       | snapshot_gc_ts           |                0 |              |
   | 2021-11-22 10:33:10.448018 | 2021-11-22 10:33:10.448018 |       | storage_format_version   |                4 |              |
   | 2021-11-22 10:33:10.446963 | 2021-11-22 10:33:10.446963 |       | time_zone_info_version   |                0 |              |
   | 2021-11-22 10:33:10.445909 | 2021-11-22 10:33:10.445909 |       | try_frozen_version       |                1 |              |
   | 2021-11-22 10:33:10.446963 | 2021-11-22 10:33:10.446963 |       | warm_up_start_time       |                0 |              |
   | 2021-11-22 10:33:10.448018 | 2021-11-24 02:01:18.776935 | zone1 | all_merged_version       |                4 |              |
   | 2021-11-22 10:33:10.448018 | 2021-11-24 02:00:21.553240 | zone1 | broadcast_version        |                4 |              |
   | 2021-11-22 10:33:10.449072 | 2021-11-22 10:33:21.596525 | zone1 | idc                      |                0 | HZ0          |
   | 2021-11-22 10:33:10.448018 | 2021-11-24 02:01:18.776935 | zone1 | is_merge_timeout         |                0 |              |
   | 2021-11-22 10:33:10.448018 | 2021-11-24 02:01:18.775879 | zone1 | is_merging               |                0 |              |
   | 2021-11-22 10:33:10.448018 | 2021-11-24 02:01:18.775879 | zone1 | last_merged_time         | 1637690478775672 |              |
   | 2021-11-22 10:33:10.448018 | 2021-11-24 02:01:18.775879 | zone1 | last_merged_version      |                4 |              |
   | 2021-11-22 10:33:10.448018 | 2021-11-24 02:00:21.553240 | zone1 | merge_start_time         | 1637690421552453 |              |
   | 2021-11-22 10:33:10.448018 | 2021-11-24 02:01:18.776935 | zone1 | merge_status             |                0 | IDLE         |
   | 2021-11-22 10:33:10.449072 | 2021-11-22 10:33:10.449072 | zone1 | recovery_status          |                0 | NORMAL       |
   | 2021-11-22 10:33:10.449072 | 2021-11-22 10:33:10.449072 | zone1 | region                   |                0 | HANGZHOU     |
   | 2021-11-22 10:33:10.448018 | 2021-11-22 10:33:10.448018 | zone1 | status                   |                2 | ACTIVE       |
   | 2021-11-22 10:33:10.449072 | 2021-11-22 10:33:10.449072 | zone1 | storage_type             |                0 | LOCAL        |
   | 2021-11-22 10:33:10.448018 | 2021-11-22 10:33:10.448018 | zone1 | suspend_merging          |                0 |              |
   | 2021-11-22 10:33:10.449072 | 2021-11-22 10:33:10.449072 | zone1 | zone_type                |                0 | ReadWrite    |
   +----------------------------+----------------------------+-------+--------------------------+------------------+--------------+
   32 rows in set

   ```

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