租户恢复4012

oceanbase-all-in-one-4.5.0_20251127.el7.x86_64.tar 这个

查一下这个

SELECT * FROM oceanbase.DBA_OB_ROOTSERVICE_EVENT_HISTORY WHERE module='physical_restore';

OceanBase_CE 4.5.0.0 (r100000012025112711-0e8d5ad012baf0953b2032a35a88bdf8886e9a7a) (Built Nov 27 2025 12:06:16)

我把集群删掉,重新创建集群。 再做恢复,虽然没有报错了,但是花费的时间也比较长,我是一个空租户。

2025-12-30 17:50:47.062474 | dg3 | CREATE_TENANT |
| 2025-12-30 17:51:16.973778 | dg3 | WAIT_TENANT_RESTORE_FINISH |
| 2025-12-30 17:52:08.632945 | dg3 | RESTORE_CREATE_INIT_LS |
| 2025-12-30 17:52:09.270475 | dg3 | PHYSICAL_RESTORE_WAIT_RESTORE_TO_CONSISTENT_SCN |
| 2025-12-30 18:05:31.976539 | dg3 | PHYSICAL_RESTORE_WAIT_QUICK_RESTORE_FINISH |
| 2025-12-30 19:00:32.736767 | dg3 | RESTORE_WAIT_LS |
| 2025-12-30 19:00:35.814827 | dg3 | POST_CHECK |
| 2025-12-30 19:00:35.913901 | dg3 | UPGRADE |
| 2025-12-30 19:01:35.969868 | dg3 | RESTORE_SUCCESS |
| 2025-12-30 19:01:36.037474 | dg3 | |
| 2025-12-30 19:02:17.837651 | dg3 | RESTORE_SUCCESS |
| 2025-12-30 19:02:18.012520 | dg3 |

这个过程,怎么是先recover再restore呢 ?

是的,原理可以看下这个帖子

恢复耗时1小时+,你备份出来的数据量多大?备份的空租户?

         TENANT_ID: 1
            JOB_ID: 25

RESTORE_TENANT_NAME: dg3
RESTORE_TENANT_ID: 1032
BACKUP_TENANT_NAME: omsmysql
BACKUP_TENANT_ID: 1004
BACKUP_CLUSTER_NAME: cqdb
BACKUP_DEST: file:///backup/full,file:///backup/arch
RESTORE_SCN: 1767587378753762000
RESTORE_SCN_DISPLAY: 2026-01-05 12:29:38.753762
RESTORE_OPTION: pool_list=pool_3&primary_zone=zone1;zone2;zone3
RESTORE_TYPE: FULL
START_TIMESTAMP: 2026-01-05 12:32:19.234932
FINISH_TIMESTAMP: 2026-01-05 13:45:41.109968
STATUS: SUCCESS
BACKUP_PIECE_LIST: file:///backup/arch/piece_d1001r3p3
BACKUP_SET_LIST: file:///backup/full/backup_set_6_full
BACKUP_CLUSTER_VERSION: 17180196864
LS_COUNT: 2
FINISH_LS_COUNT: 0
TABLET_COUNT: 786
FINISH_TABLET_COUNT: 786
TOTAL_BYTES: 19970098
TOTAL_BYTES_DISPLAY: 19.04MB
FINISH_BYTES: 19970098
FINISH_BYTES_DISPLAY: 19.04MB
DESCRIPTION: NULL

数据量很小, 应该十几分钟就可以完成的吧 。

是的,数据量小应该恢复的很快,备份的源数据库版本是什么?可以复现吗?

obclient [oceanbase]> show variables like ‘%version_comment%’;
±----------------±-----------------------------------------------------------------------------------------------------------------+
| Variable_name | Value |
±----------------±-----------------------------------------------------------------------------------------------------------------+
| version_comment | OceanBase_CE 4.5.0.0 (r100000012025112711-0e8d5ad012baf0953b2032a35a88bdf8886e9a7a) (Built Nov 27 2025 12:06:16) |
±----------------±-----------------------------------------------------------------------------------------------------------------+
1 row in set (0.024 sec)

可以复现。

select gmt_create, name2, value2, name3, value3, rs_svr_ip, rs_svr_port, timestampdiff(SECOND, gmt_create, lead(gmt_create) over (order by gmt_create)) as cost from __all_rootservice_event_history where module like 'physical_restore' and event like 'change_restore_status' and value1=3 order by gmt_create;


select count(*),zone from cdb_ob_table_locations where TENANT_ID=租户ID group by zone;


select gmt_create, svr_ip, svr_port, name2, value2, name3, value3, name4, value4, name5, value5, name6, value6 from __all_server_event_history where event like 'restore_ls' and value1=租户ID and cast(value3 as unsigned)<7 order by cast(value2 as unsigned), svr_ip, svr_port, cast(value3 as unsigned);


这几个SQL查询下,租户ID填写恢复出来的租户ID

目前还在创建中,还没有完成,我在复现中,历史经验总共需要70分钟。

select * from oceanbase.cdb_ob_restore_history\G

图片

@旭辉

主要这一步 RESTORE_WAIT_LS 耗时近1小时,查下这个

select gmt_create, svr_ip, svr_port, name2, value2, name3, value3, name4, value4, name5, value5, name6, value6 from __all_server_event_history where event like 'restore_ls' and value1=租户ID and cast(value3 as unsigned)>=7 order by cast(value2 as unsigned), svr_ip, svr_port, cast(value3 as unsigned);

看起来在74上1号日志流QUICK_RESTORE花费了55分钟

查下租户配置

SELECT c.TENANT_ID, e.TENANT_NAME, f.SVR_IP,concat(c.NAME, ': ', d.NAME)`pool:conf`,concat(c.UNIT_COUNT, ' unit: ', d.min_cpu, 'C/', ROUND(d.MEMORY_SIZE/1024/1024/1024,0), "G") unit_info FROM DBA_OB_RESOURCE_POOLS c, DBA_OB_UNIT_CONFIGS d, DBA_OB_TENANTS e ,DBA_OB_UNITS f WHERE c.UNIT_CONFIG_ID=d.UNIT_CONFIG_ID AND c.TENANT_ID=e.TENANT_ID AND e.TENANT_ID=f.TENANT_ID AND c.RESOURCE_POOL_ID=f.RESOURCE_POOL_ID ORDER BY c.TENANT_ID;

图片