【 使用环境 】生产环境
【 OB or 其他组件 】ocp
【 使用版本 】版本号: 4.3.4-20250217152442,OB版本4.2.35
【问题描述】备份任务失败
【复现路径】点击立即备份就报OBE10002
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
https://ask.oceanbase.com/t/topic/35605619
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手 ] 即可召唤小助手,欢迎试用!
subtask_42701.log (8.8 KB)
论坛小助手
2025 年5 月 16 日 09:41
#3
根据文档库中的信息,租户备份任务失败可能由多种原因引起。针对您提到的 OBE10002 错误码,虽然具体错误描述未在提供的文档片段中明确提及,但以下是一些可能的原因和解决方法:
1. 检查租户版本是否支持备份
2. 确认备份任务是否被暂停
如果备份策略已被暂停,可能会导致立即备份操作失败。
检查方法:
登录 OCP。
进入租户 概览 页面,在左侧导航栏选择 备份恢复 。
确认右上角是否存在“暂停备份调度”的状态。如果是,请重新启用备份调度。
3. 检查定时调度的备份任务是否失败
文档提到“定时调度的备份任务失败”可能导致类似问题(参考:定时调度的备份任务失败 )。
解决方法:
查看 OCP 的告警日志,确认是否有其他备份任务失败的记录。
如果存在失败任务,按照告警提示排查问题。
4. 检查集群或租户状态
5. 检查日志恢复源配置
6. 联系技术支持
总结
根据现有信息,OBE10002 错误可能与租户版本、备份策略状态、集群或租户状态、日志恢复源配置等因素相关。请逐一排查上述可能性。如果问题仍未解决,建议提供更多日志信息以便进一步分析。
检索到的文档如下:
base_backup_fail 数据备份任务失败
其他问题
暂停备份调度
4500 ~ 4999
立即进行租户备份
ob_tenant_operation_info OB 租户运维操作提醒
base_backup_too_long_time_no_one_success_task 长时间无成功备份
编辑租户备份策略
Switchover 或 Failover 相关问题
1 个赞
关闭归档后ALTER SYSTEM NOARCHIVELOG;
执行全量备份 现在又报BAK31001
归档关闭后 日志归档状态
SELECT * FROM oceanbase.DBA_OB_ARCHIVELOG;
STATUS
为’stop’ 而不是 DOING
直接修改成 DOING
?
论坛小助手
2025 年5 月 16 日 11:45
#6
根据文档库中的信息,您提到的问题涉及关闭归档模式后执行全量备份时出现的错误 BAK31001
,以及日志归档状态为 STOP
而非 DOING
的情况。以下是详细的分析和解决方案:
1. 关于错误 BAK31001
根据文档(入口:BACKUP → 使用限制及注意事项 ),发起数据备份前需要满足以下条件:
必须开启归档模式 。
归档任务的状态必须为 DOING
。
当前您的归档状态为 STOP
,这表明归档模式已被关闭(通过 ALTER SYSTEM NOARCHIVELOG;
实现)。在这种情况下,直接执行全量备份会导致失败,并报错 BAK31001
。
解决方法:
在执行全量备份之前,必须重新开启归档模式并将状态调整为 DOING
。具体步骤如下:
重新开启归档模式 :
ALTER SYSTEM ARCHIVELOG;
确认归档状态已变为 DOING
:
SELECT STATUS FROM oceanbase.DBA_OB_ARCHIVELOG;
如果状态仍未变为 DOING
,请等待一段时间或检查是否有其他异常导致状态未更新。
执行全量备份 :
确认归档状态为 DOING
后,再执行全量备份命令:
BACKUP DATABASE PLUS ARCHIVELOG;
2. 是否可以直接修改 STATUS
为 DOING
?
不建议直接修改系统视图中的 STATUS
字段值。原因如下:
系统视图的字段值由内部机制控制 :oceanbase.DBA_OB_ARCHIVELOG
视图中的 STATUS
字段反映了实际的日志归档任务状态,直接修改可能会导致数据库内部状态不一致,进而引发更严重的问题。
潜在风险 :手动修改可能导致归档任务无法正常运行,甚至影响数据一致性。
正确的做法:
如果需要将归档状态从 STOP
修改为 DOING
,应通过官方提供的 SQL 命令重新开启归档模式(如上文所述)。
3. 综合解决步骤
以下是完整的解决步骤,确保问题能够被彻底解决:
确认当前归档状态 :
SELECT STATUS FROM oceanbase.DBA_OB_ARCHIVELOG;
如果状态为 STOP
,继续下一步。
重新开启归档模式 :
ALTER SYSTEM ARCHIVELOG;
等待状态变为 DOING
:
执行以下查询,确认状态已更新为 DOING
:
SELECT STATUS FROM oceanbase.DBA_OB_ARCHIVELOG;
执行全量备份 :
确认状态为 DOING
后,执行全量备份命令:
BACKUP DATABASE PLUS ARCHIVELOG;
验证备份结果 :
检查备份任务是否成功完成,可以通过 OCP 或者以下 SQL 查询备份进度:
SHOW BACKUP SCHEDULE;
4. 注意事项
总结
根据文档库中的信息,错误 BAK31001
是由于归档状态为 STOP
而非 DOING
引起的。正确的解决方法是重新开启归档模式并等待状态切换为 DOING
,然后再执行全量备份。切勿直接修改系统视图中的字段值,以免引发更严重的问题。如果问题仍未解决,请提供更多日志信息以便进一步分析。
更多信息请查看:
NOARCHIVELOG
日志归档概述
ARCHIVELOG
暂停归档
BACKUP
更改归档目的端
SET LOG_ARCHIVE_DEST_STATE
使用 BACKUP DATABASE PLUS ARCHIVELOG 功能创建备租户
(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)
旭辉
2025 年5 月 16 日 15:05
#9
备份介质是什么呢?OB版本上面发的没太看出来,可以如下方式查下
集群架构是什么样的?
show variables like '%version_comment%';
备份介质是NFS
version_comment OceanBase_CE 4.2.5.2 (r102010012025022610-ddf7890a67af5c4ffa2bf1a2577b41e140905250) (Built Feb 26 2025 10:52:47)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
192.168.18.50:/databak on /home/databak type nfs (rw,relatime,vers=3,rsize=8192,wsize=8192,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.18.50,mountvers=3,mountport=1058,mountproto=udp,local_lock=none,addr=192.168.18.50)
nfs挂载没有问题 以前也备份成功 只是今天把nfs的数据删除了 然后重建了备份策略 然后就这样了
SELECT * FROM oceanbase.DBA_OB_ARCHIVELOG;查看的status是 stop
ALTER SYSTEM NOARCHIVELOG;
ALTER SYSTEM ARCHIVELOG; 执行了还是这样