---
title: "集群命令组 - 安装部署工具 OBD V3.5.0 | OceanBase 文档中心"
description: 集群命令组 obd 有多级命令，您可以在每个层级中使用 -h/--help 选项查看子命令的帮助信息。同样的，当各层级的子命令执行报错时，您亦可使用 -v/--verbose 查看命令的详细执行过程。 obd 集群命令操作的最小单位为一个部署配置。部署配置是一份 yaml 文件，里面包含整个部署的全部配置信息，包括服…
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*Qq8pT6yBPTcAAAAAAAAAAAAADiGDAQ/original) 安装部署工具 OBDV 3.5.0

# 集群命令组

更新时间：2026-03-04 17:10:38

[编辑](https://github.com/oceanbase/obd-doc/edit/V3.5.0/zh-CN/300.obd-command/100.cluster-command-groups.md)  

obd 有多级命令，您可以在每个层级中使用 `-h/--help` 选项查看子命令的帮助信息。同样的，当各层级的子命令执行报错时，您亦可使用 `-v/--verbose` 查看命令的详细执行过程。

obd 集群命令操作的最小单位为一个部署配置。部署配置是一份 `yaml` 文件，里面包含整个部署的全部配置信息，包括服务器登录信息、组件信息、组件配置信息和组件服务器列表等。

在使用 obd 启动一个集群之前，您需要先注册这个集群的部署配置到 obd 中。您可以使用 `obd cluster edit-config` 创建一个空的部署配置，或使用 `obd cluster deploy -c config` 导入一个部署配置。

## obd cluster autodeploy

使用该命令可传入一个简易的配置文件，obd 会根据目标机器资源自动生成最大规格的完整配置并部署启动集群。

#### 说明

修改配置文件后使用该命令部署集群，obd 根据机器资源自动生成的配置会覆盖修改的配置项，即该命令只能使用 obd 自动生成的配置规格部署集群。

```shell
obd cluster autodeploy <deploy name> -c <yaml path> [-f] [-U] [-A] [-s]

# example
obd cluster autodeploy test -c all-components.yaml

```

参数 `deploy name` 为部署名，可以理解为配置文件的别名。

选项说明见下表：

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -c/--config | 是 | string | 无 | 指定所需 yaml 文件的路径。obd 使用指定的 yaml 文件部署，并将部署配置注册到 obd 中。当 `deploy name` 存在时，会判断其状态，如果旧配置尚未部署则覆盖，否则报错。 |
| -f/--force | 否 | bool | false | 该选项无需传值，命令中配置即生效。配置该选项时，会强制清空工作目录（`home_path`）。当组件要求工作目录为空且不使用该选项时，工作目录不为空会返回错误。 |
| -C/--clean | 否 | bool | false | 该选项无需传值，命令中配置即生效。配置该选项时，会判断工作目录（`home_path`）是否属于当前操作用户，当该目录属于当前操作用户时会清空工作目录。 |
| -U/--ulp/ --unuselibrepo | 否 | bool | false | 使用该选项将禁止 obd 自动处理依赖。该选项无需传值，命令中配置即生效。未配置的情况下，obd 将在检查到缺失依赖时搜索相关的 libs 镜像并安装。   使用该选项将会在对应的配置文件中添加 `unuse_lib_repository: true`。也可以在配置文件中使用 `unuse_lib_repository: true` 开启。 |
| -A/--act/--auto-create-tenant | 否 | bool | false | 该选项无需传值，命令中配置即生效。配置该选项时，obd 将会在 bootstrap 阶段使用集群全部可用资源创建一个名为 `test` 的租户。   使用该选项将会在对应的配置文件中添加 `auto_create_tenant: true`。也可以在配置文件中使用 `auto_create_tenant: true` 开启。 |
| -s/--strict-check | 否 | bool | false | 部分组件在启动前会做相关的检查，当检查不通过的时候会报警告，不会强制停止流程。   使用该选项可开启检查失败报错直接退出。建议开启，可以避免一些资源不足导致的启动失败。 |
| --gcc/--generate-consistent-config | 否 | bool | false | 在部署涉及多台机器时，用于生成一致的配置。例如：机器 A 和 机器 B 可配置的内存分别为 10G 和 20G，开启该配置后将统一按照最小值（10G）进行自动配置。 |

## obd cluster edit-config

修改一个部署配置，当部署配置不存在时创建。

```shell
obd cluster edit-config <deploy name>

# example
obd cluster edit-config test

```

## obd cluster deploy

使用该命令可以根据配置部署集群。

此命令会根据部署配置文件中组件的信息查找合适的镜像，并安装到本地仓库，此过程称为本地安装。再将本地仓库中存在合适版本的组件分发给目标服务器，此过程称为远程安装。

在本地安装和远程安装时都会检查服务器是否存在组件运行所需的依赖。此命令可以直接使用 obd 中已注册的 `deploy name` 部署，也可以通过传入 `yaml` 的配置信息。

```shell
obd cluster deploy <deploy name> [-c <yaml path>] [-f] [-U] [-A]

# example
obd cluster deploy test -c all-components-min.yaml

```

选项说明见下表：

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -c/--config | 否 | string | 无 | 指定所需 yaml 文件的路径。obd 使用指定的 yaml 文件部署，并将部署配置注册到 obd 中。当 `deploy name` 存在时覆盖配置。   如果不使用该选项，则会根据 `deploy name` 查找已注册到 obd 中的配置信息。 |
| -f/--force | 否 | bool | false | 该选项无需传值，命令中配置即生效。配置该选项时，obd 会强制清空工作目录。当组件要求工作目录为空且不使用该选项时，工作目录不为空会返回错误。 |
| -C/--clean | 否 | bool | false | 该选项无需传值，命令中配置即生效。配置该选项时，obd 会判断工作目录（`home_path`）是否属于当前操作用户，当该目录属于当前操作用户时会清空工作目录。 |
| -U/--ulp/ --unuselibrepo | 否 | bool | false | 该选项无需传值，命令中配置即生效。使用该选项将禁止 obd 自动处理依赖。不配置的情况下，obd 将在检查到缺失依赖时搜索相关的 libs 镜像并安装。   使用该选项将会在对应的配置文件中添加 `unuse_lib_repository: true`。也可以在配置文件中使用 `unuse_lib_repository: true` 开启。 |
| -A/--act/--auto-create-tenant | 否 | bool | false | 该选项无需传值，命令中配置即生效。配置该选项时，obd 将会在 bootstrap 阶段使用集群全部可用资源创建一个名为 `test` 的租户。   使用该选项将会在对应的配置文件中添加 `auto_create_tenant: true`。也可以在配置文件中使用 `auto_create_tenant: true` 开启。 |
| -i/--interactive | 否 | bool | false | 该选项无需传值，命令中配置即生效。配置该选项执行时，将进入交互式部署流程，具体操作可参见 [交互式部署 OceanBase 集群](https://www.oceanbase.com/docs/common-obd-cn-1000000003754549)。   #### 说明    该选项自 obd V3.4.0 起新增。 |

## obd cluster start

启动已部署的集群，成功时打印集群状态。

```shell
obd cluster start <deploy name> [flags]

# example
obd cluster start test -S

```

选项说明见下表：

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -s/--servers | 否 | string | 空 | 机器列表，后跟 `yaml` 文件中 `servers` 对应的 `name` 值，若 `servers` 后未配置 `name` 值，则使用 `ip` 值，用 `,` 间隔。用于指定需启动的机器。如果组件下的机器没有全部启动，则 start 不会执行 bootstrap。 |
| -c/--components | 否 | string | 空 | 组件列表，用 `,` 间隔。用于指定需启动的组件。如果配置下的组件没有全部启动，该配置不会进入 running 状态。 |
| --wop/--without-parameter | 否 | bool | false | 无参启动。开启时将不带参数启动已部署的集群。节点第一次的启动时，不响应此选项。 |
| -S/--strict-check | 否 | bool | false | 部分组件在启动前会做相关的检查。检查不通过时，obd 将发出告警，不会强制停止流程。   使用该选项可开启检查失败报错直接退出。建议开启，可以避免一些资源不足导致的启动失败。 |

## obd cluster list

显示当前 obd 内注册的全部集群（deploy name）的状态。

```shell
obd cluster list

```

obd 中注册的集群状态有如下几种。

- configured：已配置，表示 obd 中已包含该集群的配置文件，但该集群还未部署，此时可执行 `obd cluster deploy` 命令部署该集群。
 - deployed：已部署，表示该集群已部署，但是还未启动，此时可执行 `obd cluster start` 命令启动该集群。
 - running：运行中，表示集群正在运行中。
 - stopped：已停止，表示集群中有组件已被停止，此时可执行 `obd cluster start` 命令启动该集群。
 - upgrading：升级中，表示集群中有组件处于升级中。
 - destroyed：已销毁，表示该集群已被销毁。

## obd cluster display

展示指定集群的状态。

```shell
obd cluster display <deploy name>

# example
obd cluster display test

```

参数 `deploy name` 为部署名，可以理解为配置文件的别名。自 V3.2.0 起，若 obd 设置了加密密钥，执行 display 命令输出的集群信息中，密码相关内容为加密状态。若需输出明文密码，可在命令中添加 `--epk`/`--encryption-passkey` 指定密钥用于验证。

## obd cluster reload

重载一个运行中集群。当您使用 `edit-config` 修改一个运行的集群的配置信息后，可以通过 `reload` 命令应用修改。

#### 注意

并非全部的配置项都可以通过 `reload` 来应用。有些配置项需要重启集群，甚至是重新部署集群才能生效。请根据 `edit-config` 后返回的信息进行操作。

```shell
obd cluster reload <deploy name>

# example
obd cluster reload test

```

## obd cluster restart

重启一个运行中集群。重启默认是无参重启。当您使用 edit-config 修改一个运行的集群的配置信息后，可以通过 `obd cluster restart <deploy name> --wp` 命令应用修改。

#### 注意

并非所有的配置项都可以通过 `restart` 来应用。有些配置项需要重部署集群才能生效。请根据 `edit-config` 后返回的信息进行操作。

```shell
obd cluster restart <deploy name>

# example
obd cluster restart test -c obproxy-ce --wp

```

选项说明见下表：

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -s/--servers | 否 | string | 空 | 机器列表，后跟 `yaml` 文件中 `servers` 对应的 `name` 值，若 `servers` 后未配置 `name` 值，则使用 `ip` 值，用 `,` 间隔，用于指定需要重启的机器。 |
| -c/--components | 否 | string | 空 | 组件列表，用 `,` 间隔。用于指定需要重启的组件。如果配置下的组件没有全部启动，该配置不会进入 running 状态。 |
| --wp/--with-parameter | 否 | bool | false | 带参重启。用于让重启生效的配置项生效。 |

## obd cluster redeploy

重新部署一个运行中集群。当您使用 `edit-config` 修改一个运行的集群的配置信息后，可以通过 `redeploy` 命令应用修改。

#### 注意

该命令会销毁集群，重新部署，您集群中的数据会丢失，请先做好备份。

```shell
obd cluster redeploy <deploy name> [-f]

# example
obd cluster redeploy test -f

```

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -f/--force-kill | 否 | bool | false | obd 执行销毁命令前会检查是否还有进程在运行中。这些运行中的进程可能是 `start` 失败留下的，也可能是因为配置与其他集群重叠，进程是其他集群的。但无论是哪个原因导致工作目录下有进程未退出，obd 都会直接停止执行 `obd cluster redeploy` 命令。开启 `-f` 选项后，检查到工作目录下有运行中的进程时，会强制停止进程，强制执行 `obd cluster redeploy`。 |
| --confirm | 否 | bool | false | 执行该命令过程中需要您二次确认是否重启集群，开启该选项后，将跳过二次确认过程，直接重启集群。 |
| --igs/--ignore-standby | 否 | string | 空 | 检查到集群中租户在其他集群中存在备租户时，强制执行 `obd cluster redeploy`，集群销毁后备租户将无法使用。 |

## obd cluster stop

停止一个运行中的集群。

```shell
obd cluster stop <deploy name>

# example
obd cluster stop test -s server1

```

选项说明见下表：

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -s/--servers | 否 | string | 空 | 机器列表，后跟 `yaml` 文件中 `servers` 对应的 `name` 值，若 `servers` 后未配置 `name` 值，则使用 `ip` 值，用 `,` 间隔。用于指定需要停止的机器。 |
| -c/--components | 否 | string | 空 | 组件列表，用 `,` 间隔。用于指定需要停止的组件。如果配置下的组件没有全部停止，该配置不会进入 stopped 状态。 |

## obd cluster destroy

销毁已部署的集群。如果集群处于运行中的状态，该命令会先尝试执行 `stop`，成功后再执行 `destroy`。

```shell
obd cluster destroy <deploy name> [-f]

# example
obd cluster destroy test -f

```

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -f/--force-kill | 否 | bool | false | obd 执行销毁命令前会检查是否还有进程在运行中。这些运行中的进程可能是 `start` 失败留下的，也可能是因为配置与其他集群重叠，进程是其他集群的。但无论是哪个原因导致工作目录下有进程未退出，obd 都会直接停止执行 `obd cluster destroy` 命令。开启 `-f` 选项后，检查到工作目录下有运行中的进程时，会强制停止进程，强制执行 `obd cluster destroy`。 |
| --confirm | 否 | bool | false | 该选项无需传值，命令中配置即生效。未配置该选项时，执行销毁命令会二次确认是否销毁集群。 |
| --igs/--ignore-standby | 否 | bool | false | 检查到集群中租户在其他集群中存在备租户时，强制执行 `obd cluster destroy`，集群销毁后备租户将无法使用。 |

## obd cluster upgrade

使用该命令可升级一个已经启动的组件。

```shell
obd cluster upgrade <deploy name> -c <component name> -V <version> [tags]

# example
obd cluster upgrade test -c oceanbase-ce -V 4.0.0.0 --usable=c63bb73384b17d74299b34fe3aceb0ae310fd319d2ccdb1acd39f31ba6673198

```

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -c/--component | 是 | string | 空 | 需要升级的组件名。 |
| -V/--version | 是 | string | 空 | 需要升级的组件的目标版本号。 |
| --skip-check | 否 | bool | false | 跳过可以跳过的检查。 |
| --usable | 否 | string | 空 | 升级中使用的镜像 hash 列表，用 `,` 间隔。若待升级组件存在多个同版本的镜像，需要使用该选项指定具体镜像的 hash 值。 |
| --disable | 否 | string | 空 | 升级中禁止使用的镜像 hash 列表，用 `,` 间隔。 |
| -e/--executer-path | 否 | string | /usr/obd/lib/executer | 升级脚本使用的解释器所在路径。 |
| -t/--script-query-timeout | 否 | int | 无 | 未指定时，升级脚本按照经验值决定语句执行是否超时。升级需执行多个升级脚本，如果因机器性能较差导致升级超时，可使用该选项指定一个较大的值重试，该选项默认单位为秒（`s`）。 |
| --igs/--ignore-standby | 否 | bool | false | 检查到集群存在关联的备租户集群未升级时，强制执行 `obd cluster upgrade`。 |

## obd cluster reinstall

使用该命令可重新安装一个已部署的组件的仓库，新的仓库必须与当前仓库版本号相同。该命令在部署状态为 `running` 时，替换仓库后会使用无参启动，重新拉起组件。

```shell
obd cluster reinstall <deploy name> -c <component name> --hash <hash> [-f/--force]

# example
[admin@test ~]$ obd mirror list
+------------------------------------------------------------------+
|                      Mirror Repository List                      |
+----------------------------+--------+---------+------------------+
| SectionName                | Type   | Enabled | Update Time      |
+----------------------------+--------+---------+------------------+
| oceanbase.community.stable | remote | True    | 2022-12-16 10:41 |
| oceanbase.development-kit  | remote | True    | 2022-12-16 10:41 |
| local                      | local  | -       | 2022-12-16 10:52 |
+----------------------------+--------+---------+------------------+
Use `obd mirror list <section name>` for more details
[admin@test ~]$ obd mirror list oceanbase.community.stable | grep -e " oceanbase-ce " | grep -e " 4.0.0.0 "
| oceanbase-ce                      | 4.0.0.0 | 100000272022110114.el7 | x86_64 | 759074414c7b7b723013855353f62a7ba0aae0f493216ef2511825850ce77b51 |
| oceanbase-ce                      | 4.0.0.0 | 100000282022112511.el7 | x86_64 | debb18ab3c0b3d16f145c41cd21c30686863580b721d45ddaa068e6309e03b64 |
| oceanbase-ce                      | 4.0.0.0 | 102000032022120718.el7 | x86_64 | c63bb73384b17d74299b34fe3aceb0ae310fd319d2ccdb1acd39f31ba6673198 |

[admin@test ~]$ obd cluster reinstall test -c oceanbase-ce --hash=c63bb73384b17d74299b34fe3aceb0ae310fd319d2ccdb1acd39f31ba6673198

```

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -c/--component | 是 | string | 空 | 需要被替换的仓库的组件名。 |
| --hash | 是 | string | 空 | 目标仓库的 hash 值。目标仓库必须与当前仓库版本号相同。 |
| -f/--force | 否 | bool | false | 开启时，启动失败也强制替换。 |

## obd cluster tenant create

使用该命令可创建租户，在此过程中会自动创建资源单元和资源池，您不需要手动创建。该命令仅适用于 OceanBase 数据库。

```shell
obd cluster tenant create <deploy name> [-n <tenant name>] [flags]

# example
obd cluster tenant create test -n obmysql --max-cpu=2 --memory-size=2G --log-disk-size=3G --max-iops=10000 --iops-weight=2 --unit-num=1 --charset=utf8 -o htap -s 'ob_tcp_invited_nodes="%"'

```

#### 说明

自 obd V3.2.0 起，该命令支持为租户的 `root` 用户设置密码，创建租户后的连接操作可参见《OceanBase 数据库》文档 [连接 OceanBase 数据库](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218476) 章节。

选项说明见下表：

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -t/-n/--tenant-name | 否 | string | test | 租户名。对应的资源单元和资源池根据租户名自动生成，并且避免重名。 |
| --password | 否 | string | 无 | 为租户的 `root` 用户设置密码。 |
| --max-cpu | 否 | float | 0 | 租户可用最大 CPU 数。为 `0` 时使用集群剩余全部可用 CPU。 |
| --min-cpu | 否 | float | 0 | 租户可用最小 CPU 数。为 `0` 时等同于 `--max-cpu`。 |
| --max-memory | 否 | int | 0 | 租户可用最大内存。为 `0` 时使用集群剩余全部可用内存。实际值低于 `1G` 时报错。   #### 说明    OceanBase 数据库 V4.0.0.0 及以上版本不适用，可改用 `--memory-size`。 |
| --min-memory | 否 | int | 0 | 租户可用最小内存。为 `0` 时等同于 `--max-memory`。   #### 说明    OceanBase 数据库 V4.0.0.0 及以上版本不适用，可改用 `--memory-size`。 |
| --memory-size | 否 | int | 0 | 租户可用内存单元大小，仅支持 OceanBase 数据库 V4.0.0.0 及以上版本。 |
| --max-disk-size | 否 | int | 0 | 租户可用最大磁盘空间。为 `0` 时使用集群全部可用空间。实际值低于 `512M` 时报错。   #### 说明    OceanBase 数据库 V4.0.0.0 及以上版本不适用。 |
| --log-disk-size | 否 | int | 0 | 指定租户的 Unit 日志盘大小，最小值为 `2G`。为 `0` 时使用集群剩余全部 LOG_DISK_CAPACITY，可使用 root 用户登录集群 sys 租户后，执行 `SELECT * FROM oceanbase.GV$OB_SERVERS;` 命令查看 LOG_DISK_CAPACITY 大小，输出字段的介绍可参见 [GV$OB_SERVERS](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003380698)。 |
| --max-iops | 否 | int | - 128（OceanBase 版本低于 V4.0.0） - 1024（OceanBase 为 V4.0.0 及以上版本） | 租户 IOPS 上限，该参数的取值范围根据 OceanBase 版本的不同分为以下两种情况。   - 当 OceanBase 数据库版本低于 V4.0.0 时取值范围为 [128,+∞)。 - 当 OceanBase 数据库版本为 V4.0.0 及以上版本时取值范围为 [1024,+∞)。 |
| --min-iops | 否 | int | 0 | 租户 IOPS 下限。取值范围等同于 `--max-iops`。为 `0` 时等同于 `--max-iops`。 |
| --iops-weight | 否 | int | 0 | 指定租户 IOPS 的权重。仅支持 OceanBase 数据库 V4.0.0.0 及以上版本。 |
| --max-session-num | 否 | int | 64 | 租户最大 SESSION 数，取值范围为 [64,+∞)。   #### 说明    OceanBase 数据库 V4.0.0.0 及以上版本不适用。 |
| --unit-num | 否 | int | 0 | 指定要创建的单个 Zone 下的单元个数，取值要小于单个 Zone 中的 OBServer 节点个数。为 `0` 自动获取最大值。 |
| -z/--zone-list | 否 | string | 空 | 指定租户的 Zone 列表，多个 Zone 用英文逗号 `,` 间隔。为空时等于集群全部 Zone。 |
| --mode | 否 | string | mysql | 指定租户的模式（MySQL/Oracle），OceanBase 数据库社区版仅支持 MySQL 模式的租户。 |
| --primary-zone | 否 | string | RANDOM | 租户的主 Zone。 |
| --time-zone | 否 | varchar | +08:00 | 设置待创建租户会话使用的时区，支持 `+08:00` 的 offset 形式和 `Asia/Shanghai` 的地域形式取值。 |
| --charset | 否 | string | 空 | 租户的字符集。 |
| --collate | 否 | string | 空 | 租户校对规则。 |
| --replica-num | 否 | int | 0 | 租户副本数。为 `0` 时等于 Zone 的数目。 |
| --logonly-replica-num | 否 | string | 0 | 租户日志副本数。为 `0` 时等同于 `--replica-num`。 |
| --tablegroup | 否 | string | 空 | 租户默认表组信息。 |
| --locality | 否 | string | 空 | 描述副本在 Zone 间的分布情况，如：F@z1,F@z2,F@z3,R@z4 表示 z1, z2, z3 为全功能副本，z4 为只读副本。 |
| -s/--variables | 否 | string | ob_tcp_invited_nodes='%' | 设置租户系统变量值，设置系统变量时需将变量放置到单引号（`''`）内。 |
| -o/--optimize | 否 | string | 默认与集群场景保持一致 | 设置租户负载类型，未设置的情况下，会提供交互式选项供用户选择负载类型。可选值如下：   - `express_oltp`：适用于贸易、支付核心系统、互联网高吞吐量应用程序等工作负载。没有外键等限制、没有存储过程、没有长交易、没有大交易、没有复杂的连接、没有复杂的子查询。 - `complex_oltp`：适用于银行、保险系统等工作负载。他们通常具有复杂的联接、复杂的相关子查询、用 PL 编写的批处理作业，以及长事务和大事务。有时对短时间运行的查询使用并行执行。 - `olap`：适用于实时数据仓库分析场景。 - `htap`：适用于混合 OLAP 和 OLTP 工作负载。通常用于从活动运营数据、欺诈检测和个性化建议中获取即时见解。 - `kv`：适用于键值工作负载和类似 Hbase 的宽列工作负载，这些工作负载通常具有非常高的吞吐量并且对延迟敏感。    #### 注意    对于 OceanBase 数据库 V4.2.x 版本，该选项从 V4.2.5 开始支持；对于 OceanBase 数据库 V4.3.x 版本，该选项从 V4.3.0 开始支持。 |

## obd cluster tenant create-standby

使用该命令可为主租户创建备租户，该命令仅对 OceanBase 数据库有效。该命令会自动创建资源单元和资源池，您不需要手动创建。命令的详细使用可参见 [使用 obd 部署主备租户](https://www.oceanbase.com/docs/common-obd-cn-1000000003754550)。

#### 功能适用性

obd 目前仅支持为 MySQL 模式租户创建备租户。

```shell
obd cluster tenant create-standby <standby deploy name> <primary deploy name> <primary tenant name> [options]

# example
obd cluster tenant create-standby test-standby test-primary tenant_a

```

参数 `standby deploy name` 为备租户所在集群的部署名；`primary deploy name` 为主租户所在集群的部署名；`primary tenant name` 为主租户的租户名。

选项说明见下表：

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -p/--tenant-root-password | 否 | string | 空 | 主租户的 `root` 用户登录密码，用于连接主租户创建 `standbyro` 用户。当主租户下未创建过 `standbyro` 用户时，该选项为必选项。 |
| --standbyro-password | 否 | string | 随机字符串 | 主租户提供给备租户的用户（`standbyro`）对应的密码，不允许为空。若之前已经创建过 `standbyro` 用户（非 create-standby 和 switch-log-source 命令创建），该选项为必选项，并指定为已存在的 `standbyro` 用户密码。   #### 说明    standbyro 用户密码中不允许包含：英文单引号（`'`）、英文双引号（`"`）、反引号（`` ` ``）、英文分号（`;`）及空格（` `）。 |
| -t/-n/--tenant-name | 否 | string | 与主租户一致 | 指定备租户名。 |
| --password | 否 | string | 无 | 为备租户的 `root` 用户设置密码。 |
| --type | 否 | string | SERVICE | 指定备租户同步数据方式，可配置为 `LOCATION`（基于归档）或 `SERVICE`（基于网络）。 |
| -d/--data_backup_uri | 否 | string | 主租户备份时设置的数据备份文件的目录路径 | 设置存储数据备份文件的目录路径，创建备租户时会从该路径中获取主租户的数据备份信息。当 `--type` 配置为 `LOCATION`，且未配置该选项时，obd 会自动获取主租户备份（`obd cluster tenant set-backup-config` 命令）时设置的数据备份文件路径。   #### 说明    当备租户访问不到主租户配置的备份信息时需要指定该选项，如：主备租户跨机房时，备租户无法访问主租户的 NFS，此时可以将数据备份文件复制到备租户可以访问的路径，并配置该选项。该种场景下，创建备租户后需要切换日志同步方式为基于网络同步，具体操作可参见 [切换主备租户同步方式](https://www.oceanbase.com/docs/common-obd-cn-1000000003754552)。 |
| -a/--archive_log_uri | 否 | string | 主租户备份时设置的日志归档文件的目录路径 | 设置存储日志归档文件的目录路径，创建备租户时会从该路径中获取主租户的日志归档信息。当 `--type` 配置为 `LOCATION`，且未配置该选项时，obd 会自动获取主租户备份（`obd cluster tenant set-backup-config` 命令）时设置的日志归档文件路径。   #### 说明    当备租户访问不到主租户配置的备份信息时需要指定该选项，如：主备租户跨机房时，备租户无法访问主租户的 NFS，此时可以将日志归档文件复制到备租户可以访问的路径，并配置该选项。该种场景下，创建备租户后需要切换日志同步方式为基于网络同步，具体操作可参见 [切换主备租户同步方式](https://www.oceanbase.com/docs/common-obd-cn-1000000003754552)。 |
| -D/--decryption | 否 | []string | 无 | 备份集设置的密码，如设置了多个密码需写出全部的密码，并使用英文逗号（`,`）间隔。 |
| --max-cpu | 否 | float | 与主租户一致 | 租户可用最大 CPU 数。为 `0` 时使用集群剩余全部可用 CPU。 |
| --min-cpu | 否 | float | 与主租户一致 | 租户可用最小 CPU 数。为 `0` 时等同于 `--max-cpu`。 |
| --memory-size | 否 | int | 与主租户一致 | 租户可用内存单元大小，为 `0` 时使用集群剩余全部可用内存。实际值低于 `1G` 时报错。 |
| --log-disk-size | 否 | int | 与主租户一致 | 指定租户的 Unit 日志盘大小，最小值为 `2G`。为 `0` 时使用集群剩余全部 LOG_DISK_CAPACITY，可使用 root 用户登录集群 sys 租户后，执行 `SELECT * FROM oceanbase.GV$OB_SERVERS;` 命令查看 LOG_DISK_CAPACITY 大小，输出字段的介绍可参见 [GV$OB_SERVERS](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000003380698)。 |
| --max-iops | 否 | int | 与主租户一致 | 租户 IOPS 上限，取值范围为 [1024,+∞)。 |
| --min-iops | 否 | int | 与主租户一致 | 租户 IOPS 下限。取值范围等同于 `--max-iops`。为 `0` 时等同于 `--max-iops`。 |
| --iops-weight | 否 | int | 与主租户一致 | 指定租户 IOPS 的权重。 |
| --unit-num | 否 | int | 与主租户一致 | 指定要创建的单个 Zone 下的单元个数，取值要小于单个 Zone 中的 OBServer 节点个数。为 `0` 自动获取最大值。 |
| -z/--zone-list | 否 | string | 空 | 指定租户的 Zone 列表，多个 Zone 用英文逗号 `,` 间隔。为空时等于集群全部 Zone。 |
| --primary-zone | 否 | string | RANDOM | 租户的主 Zone。 |
| --time-zone | 否 | varchar | +08:00 | 设置待创建租户会话使用的时区，支持 `+08:00` 的 offset 形式和 `Asia/Shanghai` 的地域形式取值。 |
| --replica-num | 否 | int | 0 | 租户副本数。为 `0` 时等于 Zone 的数目。 |
| --locality | 否 | string | 空 | 描述副本在 Zone 间的分布情况，如：F@z1,F@z2,F@z3,R@z4 表示 z1, z2, z3 为全功能副本，z4 为只读副本。 |
| -o/--optimize | 否 | string | 默认与集群场景保持一致 | 设置租户负载类型，未设置的情况下，会提供交互式选项供用户选择负载类型。可选值如下：   - `express_oltp`：适用于贸易、支付核心系统、互联网高吞吐量应用程序等工作负载。没有外键等限制、没有存储过程、没有长交易、没有大交易、没有复杂的连接、没有复杂的子查询。 - `complex_oltp`：适用于银行、保险系统等工作负载。他们通常具有复杂的联接、复杂的相关子查询、用 PL 编写的批处理作业，以及长事务和大事务。有时对短时间运行的查询使用并行执行。 - `olap`：适用于实时数据仓库分析场景。 - `htap`：适用于混合 OLAP 和 OLTP 工作负载。通常用于从活动运营数据、欺诈检测和个性化建议中获取即时见解。 - `kv`：适用于键值工作负载和类似 Hbase 的宽列工作负载，这些工作负载通常具有非常高的吞吐量并且对延迟敏感。    #### 注意    对于 OceanBase 数据库 V4.2.x 版本，该选项从 V4.2.5 开始支持；对于 OceanBase 数据库 V4.3.x 版本，该选项从 V4.3.0 开始支持。 |

## obd cluster tenant switch-log-source

使用该命令可切换主备租户的同步方式。

```shell
obd cluster tenant switch-log-source <deploy name> <tenant name>

# example
obd cluster tenant switch-log-source test-standby tenant_a --type=LOCATION

```

参数 `deploy name` 为备租户所在集群的部署名；`tenant name` 为备租户的租户名。

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| --type | 否 | string | SERVICE | 指定备租户同步数据方式，可配置为 `LOCATION`（基于归档）或 `SERVICE`（基于网络）。 |
| -a/--archive_log_uri | 否 | string | 主租户备份时设置的日志归档文件的目录路径 | 设置存储日志归档文件的目录路径，备租户会从该路径中获取主租户的日志归档信息。当 `--type` 配置为 `LOCATION`，且未配置该选项时，obd 会自动获取主租户备份（`obd cluster tenant set-backup-config` 命令）时设置的日志归档文件路径。 |
| -p/--tenant-root-password | 否 | string | 空 | 主租户的 `root` 用户登录密码，用于连接主租户创建 `standbyro` 用户。当主租户下未创建过 `standbyro` 用户时，该选项为必选项。 |
| --standbyro-password | 否 | string | 随机字符串 | 主租户提供给备租户的用户（`standbyro`）对应的密码，不允许为空。若之前已经创建过 `standbyro` 用户（非 create-standby 和 switch-log-source 命令创建），该选项为必选项，并指定为已存在的 `standbyro` 用户密码。   #### 说明    standbyro 用户密码中不允许包含：英文单引号（`'`）、英文双引号（`"`）、反引号（`` ` ``）、英文分号（`;`）及空格（` `）。 |

## obd cluster tenant recover

使用该命令可开启日志持续同步。当基于归档创建备租户时，不会连续同步源端租户（主租户或另一个备租户）归档的日志，需手动为备租户开启日志持续同步模式。

```shell
obd cluster tenant recover <deploy name> <tenant name>

# example
obd cluster tenant recover test-standby tenant_a --unlimited

```

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -S/--scn | 否 | int | 0 | 指定恢复的 SCN，设置后表示恢复到该 SCN 位点为止，且包括该 SCN 位点。 |
| -T/--timestamp | 否 | time.time | 无 | 指定恢复时间戳，设置后表示恢复到该时间点为止，且包括该 timestamp 位点。 |
| -u/--unlimited | 否 | bool | 无 | 设置是否连续回放存档的源日志，无需传值，命令中出现该选项即表示设置连续回放存档的源日志。 |

## obd cluster tenant switchover

使用该命令可在主租户可用的情况下，将主租户与其中一个备租户交换角色。命令的详细使用可参见 [角色切换与解耦](https://www.oceanbase.com/docs/common-obd-cn-1000000003754551)。

```shell
obd cluster tenant switchover <standby deploy name> <standby tenant name> [options]

# example
obd cluster tenant switchover test-standby tenant_a --tenant-root-password=******

```

参数 `standby deploy name` 为备租户所在集群的部署名；`standby tenant name` 为备租户的租户名。

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -p/--tenant-root-password | 是 | string | 空 | 主租户 root 用户的登录密码。 |
| --standbyro-password | 否 | string | 随机字符串 | 主租户提供给备租户的用户（`standbyro`）对应的密码，不允许为空。若之前已经创建过 `standbyro` 用户（非 create-standby 和 switch-log-source 命令创建），该选项为必选项，并指定为已存在的 `standbyro` 用户密码。   #### 说明    standbyro 用户密码中不允许包含：英文单引号（`'`）、英文双引号（`"`）、反引号（`` ` ``）、英文分号（`;`）及空格（` `）。 |

## obd cluster tenant failover

使用该命令可在主租户不可用的情况下，将一个备租户转换为主租户。命令的详细使用可参见 [角色切换与解耦](https://www.oceanbase.com/docs/common-obd-cn-1000000003754551)。

```shell
obd cluster tenant failover <standby deploy name> <standby tenant name> [options]

# example
obd cluster tenant failover test-standby tenant_a --tenant-root-password=******

```

参数 `standby deploy name` 为部署名，此处需填写备租户所在的集群名；`standby tenant name` 为备租户的租户名。

选项 `-p` 为 `--tenant-root-password`，配置为备租户 root 用户的登录密码。备租户信息与主租户保持同步，主备租户 root 用户密码一致。

## obd cluster tenant decouple

使用该命令可解除主备关系，将一个备租户转换为独立的普通租户。命令的详细使用可参见 [角色切换与解耦](https://www.oceanbase.com/docs/common-obd-cn-1000000003754551)。

```shell
obd cluster tenant decouple <standby deploy name> <standby tenant name> [options]

# example
obd cluster tenant decouple test-standby tenant_a --tenant-root-password=******

```

## obd cluster tenant show

使用该命令可查看集群中的租户，该命令仅对 OceanBase 数据库有效。

```bash
obd cluster tenant show <deploy name> [options]

# example
obd cluster tenant show test -g

```

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -g/--graph | 否 | bool | false | 展示与集群有关的主备租户信息。 |
| -t/--tenant | 否 | string | 空 | 指定要展示的租户，配置后仅展示配置的租户信息。 |

## obd cluster tenant drop

使用该命令可以删除租户，命令会在删除租户的同时自动删除租户对应的资源单元和资源池。该命令仅对 OceanBase 数据库有效。

#### 注意

对于配置了主备关系的租户，删除租户时需按以下顺序执行：

1. 首先执行主备解耦操作，解除主备租户间的关联关系，具体操作可参见 [主备租户解耦](https://www.oceanbase.com/docs/common-obd-cn-1000000003754551)。
 2. 确认解耦成功后，执行租户删除操作。

```shell
obd cluster tenant drop <deploy name> -n <tenant name>

# example
obd cluster tenant drop test -n obmysql

```

选项说明见下表：

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -t/-n/--tenant-name | 是 | string | 无 | 待删除的租户名。 |
| --igs/--ignore-standby | 否 | bool | false | 检查到租户下存在备租户时，强制执行 `obd cluster tenant drop`，租户删除后备租户将无法使用。 |

## obd cluster tenant optimize

使用该命令可以对已有租户指定场景调优。对于 OceanBase 数据库 V4.2.x 版本，该命令从 V4.2.5 开始支持；对于 OceanBase 数据库 V4.3.x 版本，该命令从 V4.3.0 开始支持。

```shell
obd cluster tenant optimize <deploy name> <tenant name> [options]

# example
obd cluster tenant optimize test obmysql -o complex_oltp -p ******

```

参数 `deploy name` 为部署名，可以理解为配置文件的别名；`tenant name` 为租户名，指定时需确保租户已存在。

选项说明见下表：

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -p/--tenant-root-password | 否 | string | 空 | 租户 root 用户的登录密码。若为 root 用户设置了密码，此选项为必选项。 |
| -o/--optimize | 否 | string | 与集群负载类型保持一致 | 指定租户的负载类型，未配置的情况下，会提供交互式选项供用户选择负载类型，可配置的值如下：   - `express_oltp`：适用于贸易、支付核心系统、互联网高吞吐量应用程序等工作负载。没有外键等限制、没有存储过程、没有长交易、没有大交易、没有复杂的连接、没有复杂的子查询。 - `complex_oltp`：适用于银行、保险系统等工作负载。他们通常具有复杂的联接、复杂的相关子查询、用 PL 编写的批处理作业，以及长事务和大事务。有时对短时间运行的查询使用并行执行。 - `olap`：适用于实时数据仓库分析场景。 - `htap`：适用于混合 OLAP 和 OLTP 工作负载。通常用于从活动运营数据、欺诈检测和个性化建议中获取即时见解。 - `kv`：适用于键值工作负载和类似 Hbase 的宽列工作负载，这些工作负载通常具有非常高的吞吐量并且对延迟敏感。 |

## obd cluster tenant set-backup-config

使用该命令可对指定租户配置备份信息。

```shell
obd cluster tenant set-backup-config <deploy name> <tenant name> [options]

#example
obd cluster tenant set-backup-config test obmysql -d 'file:///data/nfs/backup/data' -a 'file:///data/nfs/backup/log'

```

选项说明见下表：

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -d/--data_backup_uri | 是 | string | 无 | 设置存储数据备份文件的目录路径。 |
| -a/--archive_log_uri | 是 | string | 无 | 设置存储日志归档文件的目录路径。 |
| -c/--log_archive_concurrency | 否 | int | 0 | 配置日志归档的工作线程总数，取值范围：[0, 100]。 |
| -b/--binding | 否 | string | OPTIONAL | 设置归档和业务的优先级模式，有如下两种取值：   - `OPTIONAL`：表示以用户业务优先。 - `MANDATORY`：表示以归档优先。 |
| -s/--ha_low_thread_score | 否 | int | 0 | 指定备份、备份清理等高可用低优先级任务的当前工作线程数，取值范围：[0, 100]。 |
| -i/--piece_switch_interval | 否 | string | 1d | 配置 piece 的切换周期，取值范围：[1d, 7d]。 |
| -l/--archive_lag_target | 否 | string | 120s | 设置日志归档过程的目标延迟时间，用于指定前后两次归档 I/O 的最大间隔。取值范围为 [0ms, 7200s]。 |
| -D/--delete_policy | 否 | string | 无 | 设置删除备份数据的策略，设置了清理策略的租户将会每小时触发一次自动清理，以便过期的备份能够及时得到清理。目前仅支持配置为 `default`。 |
| -r/--delete_recovery_window | 否 | time | 无 | 定义应用数据删除策略的恢复窗口时间，设置后，从当前时间起，窗口时间内的数据保证可恢复。 |

## obd cluster tenant backup

使用该命令可以对指定租户进行备份。

#### 说明

不支持使用该命令备份系统租户（sys 租户）。

```shell
obd cluster tenant backup <deploy name> <tenant name> [options]

#example
obd cluster tenant backup test obmysql -P true

```

选项说明见下表：

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -m/--backup_mode | 否 | string | full | 设置备份模式，有如下两种取值：   - `incremental`：表示备份模式为增量备份。 - `full`：表示备份模式为全量备份。 |
| -e/--encryption | 否 | string | 无 | 设置加密备份集的密码。 |
| -P/--plus_archive | 否 | bool | false | 控制是否在数据和日志组合备份的备份过程中包含归档日志，配置为 `true` 时，数据备份文件的目录下会新增 `complement_log` 目录。 |

## obd cluster tenant backup-cancel

使用该命令可取消租户备份。

```shell
obd cluster tenant backup-cancel <deploy name> <tenant name>

#example
obd cluster tenant backup-cancel test obmysql

```

参数 `deploy name` 为部署名，可以理解为配置文件的别名；`tenant name` 为待备份租户的租户名，指定时需确保租户已存在。

## obd cluster tenant backup-show

使用该命令可查询租户备份任务。

```shell
obd cluster tenant backup-show <deploy name> <tenant name>

#example
obd cluster tenant backup-show test obmysql

```

参数 `deploy name` 为部署名，可以理解为配置文件的别名；`tenant name` 为备份租户的租户名，指定时需确保租户已存在。

## obd cluster tenant restore

使用该命令可将指定路径下的备份内容恢复到指定租户，目前仅支持租户级恢复。

```shell
obd cluster tenant restore <deploy name> <tenant name> <data backup uri> <archive log uri> [options]

#example
obd cluster tenant restore test obmysql 'file:///data/nfs/backup/data' 'file:///data/nfs/backup/log' -z zone1

```

命令中的必选参数含义如下：

- `deploy name` 为部署名，可以理解为配置文件的别名。
 - `tenant name` 为租户名，指定时需确保不存在同名租户，obd 会根据设置内容创建对应租户。
 - `data backup uri` 需设置为原始数据备份文件的目录路径。
 - `archive log uri` 需设置为原始日志归档文件的目录路径。

选项说明见下表：

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -z/--zone | 否 | string | 无 | 设置待恢复租户所属的 Zone 名称，设置多个 Zone 时使用英文逗号（`,`）间隔。未设置时默认使用所有 Zone。 |
| --unit_num | 否 | int | 1 | 租户在 Zone 上的 unit 数量。 |
| --replica_type | 否 | string | FULL | 设置租户在 Zone 上的副本类型，有如下两种取值：   - `FULL`：表示全功能型副本 - `READONLY`：表示只读型副本 |
| -p/--primary_zone | 否 | string | random | 待恢复的租户的 Primary Zone。 |
| -T/--timestamp | 否 | time.time | 无 | 指定恢复时间戳，设置后表示恢复到该时间点为止，且包括该 timestamp 位点。 |
| -S/--scn | 否 | int | 0 | 指定恢复的 SCN，设置后表示恢复到该 SCN 位点为止，且包括该 SCN 位点。 |
| -s/--ha_high_thread_score | 否 | int | 10 | 用于设置高可用高优先级线程的当前工作线程数，取值范围：[0, 100]。 |
| -c/--concurrency | 否 | int | `${max_cpu}` | 设置数据恢复的并发度，如果不指定，则默认等于该租户被分配的 MAX_CPU 数。 |
| -D/--decryption | 否 | []string | 无 | 备份集设置的密码，如设置了多个密码需写出全部的密码，并使用英文逗号（`,`）间隔。 |
| -k/--kms_encrypt_info | 否 | string | 无 | 密钥管理信息，如果未加密或恢复时可以访问原来的密钥管理服务，则可以不设置。 |
| --memory_size | 否 | string | 无 | 设置待恢复租户的可用内存，建议尽量与源租户保持一致。未设置时会自动获取集群剩余可用资源创建待恢复租户。 |
| --max_cpu | 否 | string | 无 | 设置待恢复租户的最大可用 CPU，最小值为 1，建议尽量与源租户保持一致。未设置时会自动获取集群剩余可用资源创建待恢复租户。 |
| --min_cpu | 否 | int | 无 | 租户可用最小 CPU 数，最小值为 `1`。未设置时默认等同于 `--max_cpu`。 |
| --max_iops | 否 | int | 无 | 租户 IOPS 上限，最小值为 1024，指定的值要求满足 `--max_iops` >= `--min_iops`。如果不指定，则系统将根据以下规则自动计算 `--max_iops` 的值：   - 如果已指定 `--min_iops` 的值，则 `--max_iops` 的值等于 `--min_iops` 的值。 - 如果 `--min_iops` 也未指定，则 `--max_iops` 和 `--min_iops` 的值均为 `INT64_MAX`。 |
| --min_iops | 否 | int | 无 | 租户 IOPS 下限，最小值为 1024。如果不指定，则系统将根据以下规则自动计算 `--min_iops` 的值：   - 如果已指定 `--max_iops` 的值，则 `--min_iops` 的值等于 `--max_iops` 的值。 - 如果 `--max_iops` 也未指定，则 `--min_iops` 和 `--max_iops` 的值均为 `INT64_MAX`。 |
| --log_disk_size | 否 | int | 无 | 指定租户的 Unit 日志盘大小。未设置时默认为 3 倍的内存规格值。最小值为 `2G`。 |

## obd cluster tenant restore-cancel

使用该命令可取消租户恢复。

```shell
obd cluster tenant restore-cancel <deploy name> <tenant name>

#example
obd cluster tenant restore-cancel test obmysql

```

参数 `deploy name` 为部署名，可以理解为配置文件的别名；`tenant name` 为待恢复租户的租户名。

## obd cluster tenant restore-show

使用该命令可查询租户恢复任务。

```shell
obd cluster tenant restore-show <deploy name> <tenant name>

#example
obd cluster tenant restore-show test obmysql

```

## obd cluster chst

使用该命令可以转换配置风格。

```shell
obd cluster chst <deploy name> --style <STYLE> [-c/--components]

# example
obd cluster chst test -c oceanbase-ce --style cluster

```

选项说明见下表：

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| --style | 是 | string | 无 | 目标配置风格。目前支持 default 和 cluster。 |
| -c/--components | 否 | string | 空 | 指定需转换风格的组件，仅支持指定为 OceanBase 数据库组件。 |

## obd cluster check4ocp

检查当前配置是否满足 OCP 接管的条件。

```shell
obd cluster check4ocp <deploy name> [-c/--components] [-V/--version]

# example
obd cluster check4ocp test -V 4.0.0

```

选项说明见下表：

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -c/--components | 否 | string | 空 | 指定集群中的组件，用于检查待接管集群的状态以及和 OCP 的连通性。指定多个组件时使用 `,` 间隔。 |
| -V/--version | 否 | string | 3.1.1 | 指定待接管 OceanBase 集群的 OCP 版本号，用于检查 OCP 版本是否满足接管要求（需为 V3.1.1 或之后版本）。 |

## obd cluster export-to-ocp

使用该命令可导出当前 obd 中管理的 OceanBase 集群到 OCP 中进行管理。

```shell
obd cluster export-to-ocp <deploy name> [options]

# simple example
obd cluster export-to-ocp test -a http://10.10.10.1:8080 -u admin -p password

# full example
obd cluster export-to-ocp test -a http://10.10.10.1:8080 -u admin -p password --host_type=type1 --credential_name=credential1

```

选项说明见下表：

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -a/--address | 是 | string | 无 | OCP 地址，格式如 `http://10.10.10.1:8080`。 |
| -u/--user | 是 | string | 无 | OCP 用户，需要具有接管集群相关操作的权限。 |
| -p/--password | 是 | string | 无 | OCP 用户密码。 |
| --host_type | 否 | string | "" | 主机类型，不配置的情况下，obd 会选择查询到的第一个主机类型或者创建一个新的主机类型。 |
| --credential_name | 否 | string | "" | 凭据名称，不配置的情况下，obd 会在 OCP 创建一个新的凭据。 |

## obd cluster takeover

使用该命令可以接管非 obd 部署的 OceanBase 数据库。具体操作方法可参见 [使用 obd 接管集群](https://www.oceanbase.com/docs/common-obd-cn-1000000003754544)。

#### 说明

该命令仅适用于接管 OceanBase 数据库。若集群中还部署有 ODP 等其他工具，这些工具并不会随 OceanBase 数据库一同被接管，即接管后的集群中仅保留 OceanBase 数据库。

```shell
obd cluster takeover <deploy name>

# example
obd cluster takeover test -h 10.10.10.1 -P 2881 -p ****** --ssh-user=admin --ssh-password=*******

```

参数 `deploy name` 为接管后的集群名，接管成功后 obd 通过该集群名管理接管过来的 OceanBase 集群。

选项说明见下表：

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -h/--host | 是 | string | 127.0.0.1 | 待接管的 OceanBase 集群的连接 IP，需指定为 OBServer 节点的 IP。 |
| -P/--mysql-port | 是 | int | 2881 | 待接管的 OceanBase 集群的连接端口。 |
| -p/--root-password | 否 | string | 默认为空 | OceanBase 集群中 root@sys 用户的登录密码。   #### 注意    配置密码时请勿使用引号包围密码，否则 obd 会把引号识别为密码的一部分。 |
| --ssh-user | 否 | string | 默认为当前用户 | 启动 OceanBase 集群中节点所用的用户。 |
| --ssh-password | 否 | string | 默认为空 | `--ssh-user` 对应的密码，用于远程连接 OBServer 节点。 |
| --ssh-port | 否 | int | 22 | SSH 远程端口。 |
| -t/--ssh-timeout | 否 | int | 30 | 设置 SSH 连接的超时时间，单位为秒。 |
| --ssh-key-file | 否 | string | 默认为空 | 指定私钥文件的路径，需配置为绝对路径，用于基于私钥的 SSH 无密码身份验证。 |

## obd cluster scale_out

使用该命令可通过传入 yaml 格式配置信息，对正在运行的集群中指定组件进行扩容。扩容的详细操作可参见 [扩容与组件变更](https://www.oceanbase.com/docs/common-obd-cn-1000000003754540) 中 **集群扩容**。

```shell
obd cluster scale_out <deploy name> -c <yaml path> [-f] [-C] [-t]

# example
obd cluster scale_out test -c scale_out.yaml

```

参数 `deploy name` 为部署的集群名，可以理解为配置文件的别名。

选项说明见下表：

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -c/--config | 是 | string | 空 | 指定包含待扩容组件配置信息的 yaml 文件路径。 |
| -f/--force | 否 | bool | false | 开启时，强制清空工作目录。当组件要求工作目录为空且不使用该选项时，工作目录不为空会返回错误。 |
| -C/--clean | 否 | bool | false | 开启时，会判断工作目录（`home_path`）是否属于当前操作用户，当该目录属于当前操作用户时会清空工作目录。 |
| -t/--scale_out_timeout | 否 | int | 3600 | 指定 OceanBase 组件扩容时的超时时间，单位：秒。 |

## obd cluster component add

使用该命令可通过传入 yaml 格式配置信息，向正在运行的集群中添加新的组件。新增组件的详细操作可参见 [扩容与组件变更](https://www.oceanbase.com/docs/common-obd-cn-1000000003754540) 中 **组件新增**。

```shell
obd cluster component add <deploy name> -c addtional_component.yaml [-f] [-C]
# example
obd cluster component add test -c addtional_component.yaml

```

参数 `deploy name` 为部署集群名，可以理解为配置文件的别名。

选项说明见下表：

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -c/--config | 是 | string | 空 | 指定包含待新增组件配置信息的 yaml 文件路径。 |
| --confirm | 否 | bool | false | 该选项无需传值，命令中配置即生效。未配置该选项时，执行添加组件命令会交互式确认是否重启集群。 |
| -f/--force | 否 | bool | false | 该选项无需传值，命令中配置即生效。配置该选项时，obd 强制清空工作目录。当组件要求工作目录为空且不使用该选项时，工作目录不为空会返回错误。 |
| -C/--clean | 否 | bool | false | 该选项无需传值，命令中配置即生效。配置该选项时，obd 会判断工作目录（`home_path`）是否属于当前操作用户，当该目录属于当前操作用户时会清空工作目录。 |

## obd cluster component del

使用该命令可删除集群中的指定组件（可多选）。使用该命令时要求集群需处于运行状态。删除组件的详细操作可参见 [扩容与组件变更](https://www.oceanbase.com/docs/common-obd-cn-1000000003754540) 中 **组件删除**。

```shell
obd cluster component del <deploy name> <component> [<component> ... <component>]
# example
obd cluster component del test obagent

```

参数 `deploy name` 为部署集群名，可以理解为配置文件的别名；参数 `component name` 用于指定需要删除的组件名，可以指定多个组件名，多个组件名之间使用空格隔开。

选项说明见下表：

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -f/--force | 否 | bool | false | 配置该选项后，连接不到待删除组件节点时，会强制执行 `obd cluster component del` 命令。 |
| --igs/--ignore-standby | 否 | bool | false | 删除 oceanbase-ce 组件时，若检查到集群中的租户在其他集群中存在备租户会停止执行命令。配置该选项后，集群中的租户在其他集群中存在备租户也会强制执行 `obd cluster component del` 命令。   #### 注意    oceanbase-ce 组件删除后，备租户将无法使用。 |

## obd cluster init4env

使用该命令可自动设置系统参数。当部署集群出现系统参数检查相关报错时，可根据输出执行该命令自动设置系统参数。

```shell
obd cluster init4env <deploy name>

#example
obd cluster init4env test

```

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