OceanBase 全量备份与归档分析报告


📘 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.obbakTablet 元数据
索引文件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. 开启归档模式

设置归档路径
ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///home/admin/ob_backup/<tenant_name>/archive'
TENANT = <tenant_name>;
开启归档
ALTER SYSTEM ARCHIVELOG TENANT = <tenant_name>;
验证归档状态
SELECT t.tenant_name, t.log_mode, a.status, a.path
FROM oceanbase.dba_ob_tenants t
LEFT JOIN oceanbase.cdb_ob_archivelog a ON t.tenant_id = a.tenant_id
WHERE tenant_name = '<tenant_name>';

⭐ 3. 创建全量备份

查看是否已有 DATA_BACKUP_DEST
SELECT t.tenant_id, t.tenant_name, b.value data_backup_dest
FROM oceanbase.dba_ob_tenants t
LEFT JOIN oceanbase.cdb_ob_backup_parameter b ON t.tenant_id = b.tenant_id
WHERE t.tenant_name = '<tenant_name>';
设置全量备份路径
ALTER SYSTEM SET DATA_BACKUP_DEST =
'file:///home/admin/ob_backup/<tenant_name>/full'
TENANT = <tenant_name>;
执行全量备份(包含归档日志)
ALTER SYSTEM BACKUP TENANT = <tenant_name> PLUS ARCHIVELOG;
查看备份任务执行情况
SELECT * FROM oceanbase.cdb_ob_backup_jobs;
查看备份历史
SELECT * FROM oceanbase.cdb_ob_backup_job_history;

⭐ 4. 可选:恢复设置

若租户原本未开启归档/备份路径,可在全量备份后恢复原配置:

关闭归档
ALTER SYSTEM NOARCHIVELOG TENANT = <tenant_name>;
清空归档路径
ALTER SYSTEM SET LOG_ARCHIVE_DEST='' TENANT = <tenant_name>;
清空全备路径
ALTER SYSTEM SET DATA_BACKUP_DEST='' TENANT = <tenant_name>;


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值