首批通过分布式安全可靠测评,为关键业务系统打造
OceanBase 数据库转储的常见问题
更新时间:2026-06-12 08:51
本文介绍 OceanBase 数据库转储的常见问题。
如何查看分区级转储任务的执行情况?
V3.2.x 之前版本
可以通过查询
__all_virtual_partition_sstable_merge_info表,其中merge_percentage列表示某分区的转储进度。obclient> SELECT table_id,partition_id,merge_type,merge_percentage FROM __all_virtual_partition_sstable_merge_info WHERE partition_id=$partition_id AND table_id=$table_id; +---------------+--------------+-------------+------------------+ | table_id | partition_id | merge_type | merge_percentage | +---------------+--------------+-------------+------------------+ | xxxxxxxxxxxxx | x | major merge | 0 | +---------------+--------------+-------------+------------------+ 1 rows in set (0.01 sec)V3.2.x 版本
可以通过查询
__all_virtual_partition_compaction_history表,如果转储完成,则会在该表中存在记录。obclient> SELECT * FROM oceanbase.__all_virtual_partition_compaction_history;
如何查询租户级转储调度情况?
可以通过查询 gv$minor_merge_info 视图来查询租户级转储调度情况,其中 FREEZZE_SNAPSHOT 表示转储的版本号。
您可以忽略 finish_time 为空的行,这是由于在频繁触发的转储的场景下,多个版本的转储任务执行时,OceanBase 数据库会尽可能调度最大可转储范围的快照去转储,因此 gv$minor_merge_info 视图中会记录多个版本转储任务的开启时间,而结束时间只有一条记录。
obclient> SELECT * FROM gv$minor_merge_info WHERE finish_time!='';
+----------------+----------+-----------+------------------+----------------------------+----------------------------+
| SVR_IP | SVR_PORT | TENANT_ID | FREEZE_SNAPSHOT | START_TIME | FINISH_TIME |
+----------------+----------+-----------+------------------+----------------------------+----------------------------+
| xxx.xx.xxx.xxx | 2882 | 1 | 1622614004042052 | 2021-06-02 14:06:44.059477 | 2021-06-02 14:07:05.788240 |
| xxx.xx.xxx.xxx | 2882 | 1 | 1622614004052052 | 2021-06-02 14:06:44.057896 | 2021-06-02 14:07:05.854671 |
| xxx.xx.xxx.xxx | 2882 | 1 | 1622614004042052 | 2021-06-02 14:06:44.060751 | 2021-06-02 14:07:05.380613 |
+----------------+----------+-----------+------------------+----------------------------+----------------------------+
3 rows in set (0.02 sec)