首批通过分布式安全可靠测评,为关键业务系统打造
OceanBase 租户常见问题
更新时间:2026-04-14 15:11:03
本节描述 OceanBase 租户管理相关的常见问题。
功能支持
Q1: 是否支持修改租户名?
A: OCP V4.3.2 已支持租户重命名功能,详情可参考 重命名。
Q2: OCP 是否支持对某租户的业务流量并发控制?
A: 不支持,暂无计划支持。
Q3: OCP 创建的 Oracle 类型的租户 sys 密码丢失,OCP 是否支持找回?
A: 支持,OCP V2.5.1 之前版本通过 OCP 密码箱 中找到密文并联系技术支持人员获取解密方式。OCP V2.5.1 及之后版本提供了重置密码的能力,更建议重置密码。
显示问题
Q1: 点击租户下的 TopSQL ,无法显示相应的页面,什么原因?
A: 建议升级浏览器至 Chrome 88 版本。
租户管理
Q1: 单个 OceanBase 租户的连接数一般设置多大合理?
A: 目前 OceanBase 的租户级别的连接数并没有实际意义,只会影响 OCP 的告警,有意义的值是 OBS 单机连接数上限 256k。
Q2: OceanBase 集群有 3 个 Zone,使用 OCP 成功删除某一租户下的一个副本,然后在该租户下再新增副本报错 操作OB失败,错误信息:tenant already exist 。什么原因?
A: OceanBase 底层回收策略问题,建议等待一段时间。
Q3: OCP 中只授权只读角色,能够进行 Unit 规格管理,这符合预期的吗?
A: 目前设计只读用户可以进行一些无破坏性的操作,可读用户是否要关闭修改权限在后续的设计时还有待讨论。
Q4: OCP 建的租户回收站相对之前版本改成了默认关闭,是内核改了默认配置,还是 OCP 改的?
A: 内核修改的,因开启回收站会带来一些 OceanBase 的问题。
Q5: 租户的资源管理处仍然显示已删除的数据库,为什么?
A: 该表每天定时刷新一次,数据更新不实时。
Q6: 租户规格建错以后如何删除?
A:在 MetaDB 数据库中执行 DELETE FROM ob_unit_spec WHERE `name` = 'test' AND type = 'CUSTOM'; 语句,其中 test 为规格名。
Q7:黑屏修改租户名后,OCP 显示租户不可用,并收到了相关告警,该问题出现的原因和解决办法是什么?
A:黑屏修改租户名后,OCP 无法识别,因此将显示租户不可用,并发送相关告警信息。您可黑屏用同样方式将租户修改回原来的名字,再使用 OCP 提供的租户 重命名 功能。
租户的创建与删除
Q1: 如何创建 gbk 字符集的 Oracle 租户?
A:执行 vi /home/admin/obztools_agent/src/task/obauto_plus/ob_operate_plus.py 修改 ob_operate_plus.py 文件。
def create_tenant(tenant_name, primary_zone, resource_pool_list, obregion_name, rs_list=[], white_list='%', locality=None, tenant_mode=None):
if primary_zone is None or 0 == len(primary_zone):
sql_tenant = "create tenant {0} resource_pool_list=('{1}')".format(tenant_name, "', '".join(resource_pool_list))
else:
sql_tenant = "create tenant {0} primary_zone='{1}',resource_pool_list=('{2}')".format(tenant_name, primary_zone, "', '".join(resource_pool_list))
if locality is not None:
sql_tenant += ", locality='{0}'".format(locality)
# create_tenant 函数内 增加此行设置 gbk 字符集
sql_tenant += ", charset=gbk"
Q2: 黑屏删除租户后,租户状态一直显示 TENANT_STATUS_DROPPING ,什么原因?
A: 黑屏删除租户,需要约 7 天才能删除成功。
租户的资源管理
Q1: 租户如何扩容?
A: 在租户的 总览 页面,可以调整租户副本的 Unit 规格(纵向扩容 scale up),也可以调整租户副本在当前 Zone 下的 Unit 个数(水平扩容 scale out)。
Q2: 租户缩容时,是由 OCP 确定要删除哪一个 Unit 吗?能否删除指定的 Unit?
A: 不是,由管理员选择。进入到租户的 拓扑图 页面,选中指定的 Unit 并删除。
Q3: 减少租户 Unit 数量的任务执行到 Wait alter resource... 步骤失败,什么原因?
A: 请联系 OceanBase 内核技术支持人员解决。
*Q4: 调整租户的 Unit 时,报错 指定的租户 xxx ,当前状态不支持此操作 ,什么原因?
A: 可能有其他修改租户的任务没有执行完成,导致租户运维中。
Q5: 创建租户或修改租户规格时无法选择小规格如 0.5C2GB 的 Unit,怎么解决? A: 当 OceanBase 版本为 V2.0.0 及以上时,默认不允许创建 Unit 内存资源小于 5GB 的租户,具体表现为创建租户或修改租户规格时,在下拉列表中无小规格的 Unit。 特殊情况下,如 demo 演示等非生产环境,若 OCP 版本为 V2.5.1 及以上时,可以通过修改 OCP 系统参数的方式取消此限制。方法为:
连接 MetaDB。
执行如下 SQL 语句修改 config_properties 表中 ocp.operation.ob.tenant.allow-small-unit 的值为 true。
update ocp.config_properties set value = 'true' WHERE `key` = 'ocp.operation.ob.tenant.allow-small-unit';
性能与监控
Q1: OCP 租户的资源管理栏中,按 schema 查询无法查到 oracle 租户创建的第二个业务用户,而其他监控信息里可查看到该业务用户?
A: 资源趋势的数据每天 5 点采集一次,因此 5 点前无法查看当天创建或迁移的租户的资源趋势。如有需要,可执行如下命令手动触发。
#将这两行的实际值替换到下面的 curl 命令中,并修改 collectTime ,然后直接执行 curl 命令即可。
#SITE_URL=http://xxx.xxx.xxx.xxx:8080
#CLUSTER_ID=1
curl -i --location --request POST \
"
${SITE_URL}
/api/v2/ob/clusters/
${CLUSTER_ID}
/collectDailyMetric" \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic YWRtaW46cm9vdA==' \
-d '{
"
collectTime
":"2020-11-10T00:00:00Z",
"aggAheadSeconds": 300
}'
Q2: OCP 的 "OceanBase 云平台 > 租户 > xx 租户 > 资源管理" 中的 CPU 使用率是通过什么方式采集的?
A: 参考如下语句:
gv$sysstat:
SELECT * from gv$sysstat WHERE con_id=租户ID AND `name` LIKE '%cpu%'
Q3: 租户的 SQL 诊断里 TopSQL 页签中并发等待的时间含义是什么?
A: SQL 执行过程中的等待。