如何获取oceanbase备份的大小

【 使用环境 】生产环境 or 测试环境
测试环境
【 OB or 其他组件 】
【 使用版本 】
4.2.3_CE
【问题描述】清晰明确描述问题
我使用命令ALTER SYSTEM BACKUP TENANT = 租户名; 备份后,如何知道此次备份的大小
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

用户问题: “如何查询使用 ALTER SYSTEM BACKUP 命令备份后的 OceanBase 数据大小?”

根据您的问题来看,您想要了解的是如何检查通过 ALTER SYSTEM BACKUP 命令备份的数据量大小。这个问题并不直接对应于 obdiag 工具所支持的具体故障场景中的任何一个,因为它更多是一个操作查询类的问题而非故障诊断。不过,为了确保备份过程正常并且能够获取到备份文件的相关信息,您可以先尝试使用 obdiag 来收集与备份相关的基础信息。

日志采集场景: 数据备份问题
日志采集命令: obdiag gather scene run --scene=observer.backup

该命令会帮助您收集与备份相关的日志和配置信息,这可以作为验证备份是否成功的一个辅助手段。但请注意,这个命令并不是直接用来查询备份数据大小的。

为了更准确地帮助您解决查询备份数据大小的需求,请提供以下信息:

  1. 您使用的 OceanBase 版本是什么?
  2. 备份的目标存储位置在哪里(例如,本地文件系统、OSS 等)?
  3. 是否有尝试过查看备份目录下的文件列表及其大小总和?
  4. 您是否有使用任何特定的工具或命令来管理备份,如 oceanbase-tools 中的 obbackup 命令?

以上信息将有助于进一步指导您如何有效地查询备份数据的大小。

附上敏捷诊断工具 obdiag 使用帮助链接

我的版本是4.2.3_CE,有什么直接命令可以获取备份集大小吗

根据您提供的信息,您正在使用 OceanBase 4.2.3 社区版,并希望直接查询备份集的大小。在 OceanBase 4.x 版本中,提供了丰富的备份相关视图来帮助用户管理和监控备份任务的状态。然而,直接查询备份集大小的功能并没有直接通过 SQL 查询提供,因为备份集的实际大小通常取决于存储位置的特性(比如 OSS 存储桶),而这些信息可能不在数据库内部直接记录。

尽管如此,您可以采取以下步骤来间接获取备份集的大小:

  1. 查看备份任务的状态:您可以查询 CDB_OB_BACKUP_JOBSDBA_OB_BACKUP_JOBS 视图来获取备份任务的状态信息。这可以帮助您确认备份任务是否已经完成。

  2. 手动计算备份文件大小:一旦备份任务完成,您可以登录到备份存储位置(例如阿里云 OSS),然后查看该位置下所有备份文件的总大小。如果是本地文件系统,可以通过 du -sh 命令来获取目录的大小。

  3. 使用外部工具:如果您使用的是云存储服务(如阿里云 OSS),通常这些服务自身提供了计算存储空间使用情况的功能。例如,在 OSS 控制台上可以直接看到存储桶的占用空间。

虽然没有直接的 SQL 命令可以查询备份集的大小,但通过上述方法,您应该能够较为准确地了解到备份集占用的空间大小。如果您需要更加自动化的方式来管理备份集的大小,建议探索使用 OceanBase 提供的 OCP 管控平台或其他第三方工具来辅助管理备份任务。 [6]

检索到的文档如下:

  1. oceanbase.DBA_OB_BACKUP_SET_FILES
  2. oceanbase.CDB_OB_BACKUP_SET_FILES
  3. What’s New
  4. oceanbase.DBA_OB_ARCHIVELOG_PIECE_FILES
  5. oceanbase.CDB_OB_ARCHIVELOG_PIECE_FILES
  6. 物理备份与恢复概述
  7. 升级 OceanBase 集群
  8. 升级 OBShell

(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)

使用DESC CDB_OB_BACKUP_TASK_HISTORY;
查看OUTPUT_BYTES字段

1 个赞