适用版本
OceanBase 数据库 V4.1、V4.2 版本。
问题现象
OceanBase 数据库 V4.1 版本升级到 OceanBase 数据库 V4.2 版本后,通过 OCP 恢复 OceanBase 数据库 V4.1 版本备份的租户,发现无法选择集群租户信息,但是备份文件还是在的,同时查询 OceanBase 数据库内部表也没有相关的备份记录。
问题原因
OCP 恢复时无法选择备份的租户是因为 OceanBase 数据库 V4.2 版本所带的 ob_admin 工具无法正常解析 OceanBase 数据库 V4.1 版本备份的数据文件。
OceanBase 数据库 4.x 版本的备份是租户级的,所有的备份记录都是在租户下,如果该租户被删除,其内部表相应也会被删除,所以无法查询到相关的备份记录。
解决方法
通过替换 OceanBase 数据库 V4.1 版本的 ob_admin 工具后可以正常解析,后续可以再替换回 OceanBase 数据库 V4.2 版本的 ob_admin 工具。
注意:
OceanBase 数据库 V4.1 版本的备份数据恢复到 V4.2 版本,恢复出来的租户还是 V4.1 版本,需要对恢复出来的租户进行升级操作。
--- 连接 sys 租户 select * from __all_virtual_tenant_info; alter system run upgrade job "UPGRADE_ALL" tenant=tennat_1,tennat_2; --- value 显示为当前集群的四位版本号,则表示租户升级成功 SELECT distinct(value) FROM oceanbase.GV$OB_PARAMETERS WHERE tenant_id =xxx;恢复成功后, 恢复后的租户均为备租户,可以通过 ACTIVE 命令将备租户转换为主租户。
--- 连接sys租户 ALTER SYSTEM ACTIVATE STANDBY TENANT tenant_name; --- 用户租户可以将本租户从备租户转为主租户 ALTER SYSTEM ACTIVATE STANDBY;