目录标题
- 📘 OceanBase 全量备份与归档分析报告
- 1️⃣ 全量备份目录(full/)分析
- 📊 1. 整体统计
- 📂 2. 目录结构(优化注释)
- 📑 3. 文件类型说明
- 📌 4. 备份集状态分析
- ❌ backup_set_7_full(失败)
- ✅ backup_set_8_full(成功)
- 2️⃣ 归档目录(archive/)分析
- 📊 1. 整体统计
- 📂 2. 目录结构
- 3️⃣ 数据完整性与风险分析
- 4️⃣ 建议与后续操作
- 1. 清理失败的备份集
- 2. 持续监控归档目录大小
- 3. 使用 backup_set_8_full 做恢复测试(推荐)
- 4. 保证 NFS 高可用、稳定
- 5️⃣ OceanBase 全量备份 + 归档操作手册
- ⭐ 1. 挂载 NFS(备份与归档前置条件)
- ⭐ 2. 开启归档模式
- 设置归档路径
- 开启归档
- 验证归档状态
- ⭐ 3. 创建全量备份
- 查看是否已有 DATA_BACKUP_DEST
- 设置全量备份路径
- 执行全量备份(包含归档日志)
- 查看备份任务执行情况
- 查看备份历史
- ⭐ 4. 可选:恢复设置
- 关闭归档
- 清空归档路径
- 清空全备路径
📘 OceanBase 全量备份与归档分析报告
基于备份路径示例:/home/admin/ob_backup/<tenant_name>/
1️⃣ 全量备份目录(full/)分析
📊 1. 整体统计
| 项目 | 数值 |
|---|---|
| 总文件数 | 92 个 |
| 总大小 | 101 MB |
| 备份集数量 | 2 个(backup_set_7_full、backup_set_8_full) |
📂 2. 目录结构(优化注释)
full/ ├── format.obbak # 全量备份格式描述文件(全局元数据) ├── check_file/ # 备份连通性检查文件 │ └── 1002_connect_file_xxx.obbak ├── backup_sets/ # 备份集元信息(索引文件) │ ├── backup_set_7_full_start.obbak │ ├── backup_set_8_full_start.obbak │ └── backup_set_8_full_end_success_xxx.obbak ├── backup_set_7_full/ # 备份集 7(失败) │ ├── logstream_1/ │ └── logstream_1001/ └── backup_set_8_full/ # 备份集 8(成功)⭐⭐推荐使用 ├── logstream_1/ │ ├── meta_info_turn_1_retry_0/ │ ├── sys_data_turn_1_retry_0/ │ ├── minor_data_turn_1_retry_0/ │ └── major_data_turn_1_retry_0/ # 最大 9.2MB ├── logstream_1001/ └── complement_log/ # 补充归档日志 ⭐ ├── piece_xxx/ ├── pieces/ └── rounds/📑 3. 文件类型说明
| 文件类型 | 示例 | 说明 |
|---|---|---|
| 宏块数据文件 | macro_block_data.0.obbak | 数据页内容(major/minor/sys) |
| 元信息文件 | tablet_info.1.obbak | Tablet 元数据 |
| 索引文件 | meta_index.obbak | 元数据索引 |
| 补充归档日志 | complement_log/* | 保证备份一致性所需的日志 |
文件大小特征(成功备份集):
- major 数据最大:9.2MB
- minor 数据:4.9MB
- sys 数据:1.9MB
- tablet_info:2.4MB
✅ 备份完整性正常
📌 4. 备份集状态分析
❌ backup_set_7_full(失败)
- 错误码:-4016
- 原因:IO 失败(归档阶段)
- 结果:不可用于恢复
✅ backup_set_8_full(成功)
- 具备完整备份结构
- 包含 complement_log
- 可直接用于恢复 ⭐
2️⃣ 归档目录(archive/)分析
📊 1. 整体统计
| 项目 | 数值 |
|---|---|
| 总文件数 | 10 个 |
| 总大小 | 65 MB |
| 当前归档片段 | piece_d1006r2p9 |
📂 2. 目录结构
archive/ ├── format.obbak # 归档格式文件 ├── check_file/ # 连通性检查 │ └── 1002_connect_file_xxx.obbak ├── rounds/ # 归档轮次 │ └── round_d1006r2_start.obarc ├── pieces/ # 归档片段信息 │ └── piece_d1006r2p9_start_xxx.obarc └── piece_d1006r2p9/ # 当前活跃归档片段 ⭐ ├── tenant_archive_piece_infos.obarc ├── checkpoint/ # 检查点 ✔️正常刷新 ├── logstream_1/ │ └── log/ │ └── 13.obarc (54MB) ⭐最大 └── logstream_1001/ └── log/ └── 12.obarc (12MB)✅ 归档连续性正常
- 最新归档日志文件不断增长
- 检查点不断推进
- schema_meta 存在
3️⃣ 数据完整性与风险分析
| 检查项 | 状态 | 说明 |
|---|---|---|
| 全量备份结构 | ✔️ | sys/minor/major 文件完整 |
| 补充归档日志 | ✔️ | backup_set_8 完整包含 |
| 归档连续性 | ✔️ | logstream*/log 文件连续 |
| 元数据文件 | ✔️ | format、schema_meta、checkpoint 完整 |
| 存储空间 | ⚠️ | 归档日志仍在增长,应监控 NFS 容量 |
| 存在失败备份集 | ⚠️ | backup_set_7 可清理 |
4️⃣ 建议与后续操作
1. 清理失败的备份集
rm-rf /home/admin/ob_backup/<tenant_name>/full/backup_set_7_full/2. 持续监控归档目录大小
3. 使用 backup_set_8_full 做恢复测试(推荐)
4. 保证 NFS 高可用、稳定
避免再次出现 -4016 IO 错误
5️⃣ OceanBase 全量备份 + 归档操作手册
⭐ 1. 挂载 NFS(备份与归档前置条件)
mkdir-p /home/admin/ob_backup/<tenant_name>mount<NFS_SERVER_IP>:/opt/qfusion/lgdnfs /home/admin/ob_backup/<tenant_name>⭐ 2. 开启归档模式
设置归档路径
ALTERSYSTEMSETLOG_ARCHIVE_DEST='LOCATION=file:///home/admin/ob_backup/<tenant_name>/archive'TENANT=<tenant_name>;开启归档
ALTERSYSTEM ARCHIVELOG TENANT=<tenant_name>;验证归档状态
SELECTt.tenant_name,t.log_mode,a.status,a.pathFROMoceanbase.dba_ob_tenants tLEFTJOINoceanbase.cdb_ob_archivelog aONt.tenant_id=a.tenant_idWHEREtenant_name='<tenant_name>';⭐ 3. 创建全量备份
查看是否已有 DATA_BACKUP_DEST
SELECTt.tenant_id,t.tenant_name,b.valuedata_backup_destFROMoceanbase.dba_ob_tenants tLEFTJOINoceanbase.cdb_ob_backup_parameter bONt.tenant_id=b.tenant_idWHEREt.tenant_name='<tenant_name>';设置全量备份路径
ALTERSYSTEMSETDATA_BACKUP_DEST='file:///home/admin/ob_backup/<tenant_name>/full'TENANT=<tenant_name>;执行全量备份(包含归档日志)
ALTERSYSTEMBACKUPTENANT=<tenant_name>PLUS ARCHIVELOG;查看备份任务执行情况
SELECT*FROMoceanbase.cdb_ob_backup_jobs;查看备份历史
SELECT*FROMoceanbase.cdb_ob_backup_job_history;⭐ 4. 可选:恢复设置
若租户原本未开启归档/备份路径,可在全量备份后恢复原配置:
关闭归档
ALTERSYSTEM NOARCHIVELOG TENANT=<tenant_name>;清空归档路径
ALTERSYSTEMSETLOG_ARCHIVE_DEST=''TENANT=<tenant_name>;清空全备路径
ALTERSYSTEMSETDATA_BACKUP_DEST=''TENANT=<tenant_name>;