问题描述
在创建备租户的时候报:set tenant itself as log restore source is not allowed 。
适用版本
OceanBase 数据库 V4.2.0 及之后版本。
问题原因
不允许租户设置租户自身为日志恢复源,把恢复源中的信息填成本租户了。
在设置网络日志恢复源和创建网络空备租户时,主库和备库的
cluster id和tenant id两者全部相同。说明
- 两个不同集群的
cluster id允许被设置成相同值,如果这两个集群中的主备租户的tenant id恰巧也被分配成了相同值,创建备租户就会报错。 - 使用
OCP、OBD部署的OceanBase集群,cluster id是随机生成的,该问题常见于手动部署的环境或者通过OCP、OBD部署集群时显示指定了cluster_id的情况。
- 两个不同集群的
解决方法及规避方式
解决方法:
对于主备租户在同一集群的场景,检查是否将设置日志恢复源命令中的租户信息误填为本租户的信息。
对于主备租户不在同一集群的场景,还需要检查主备租户所在集群的
tenant id是否相同,需要确保不一致。
规避方式:
在备租户所在集群里先创建一个普通租户,再删掉这个租户,让
tenant id被推高。之后再创建备租户,tenant id 就和主租户不同了,备租户就可以创建成功了。