---
title: OceanBase 数据库执行备份过程中出现 format file does not exist 异常的原因和解决方法-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 OceanBase 数据库执行备份过程中出现 format file does not exist 异常的原因和解决方法相关的常见问题和使用技巧，帮助您快速解决 OceanBase 数据库执行备份过程中出现 format file does not exist 异常的原因和解决方法的难题。
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

划线反馈

# OceanBase 数据库执行备份过程中出现 format file does not exist 异常的原因和解决方法

更新时间：2026-05-11 09:51

适用版本： V4.0.x、V4.1.x、V4.2.x、V4.3.x 内容类型：Troubleshoot  

## 问题现象

OCP 控制台调度 OceanBase 数据库 V4.x 版本集群执行备份时，OCP 页面卡在 `Wait_data_backup_task_successful` 阶段，重试无效，如下报错信息。

```shell
2024-06-28 13:26:47.104  INFO 111 --- [pool-manual-subtask-executor16,340412badd2f467f,2d666ca3a2d5] c.o.ocp.obsdk.connector.ConnectTemplate  : [obsdk] sql: SELECT * FROM (SELECT * FROM (SELECT job_id, incarnation, job.tenant_id as tenant_id, job.backup_set_id as backup_set_id, backup_type, path AS backup_dest, start_timestamp as start_time, end_timestamp as end_time, now(6) as check_time, status, comment, description, 'TENANT' as backup_level, file.MIN_RESTORE_SCN_DISPLAY as snapshot_version_time FROM ( SELECT job_id, incarnation, tenant_id, backup_set_id, backup_type, path, start_timestamp, NULL AS end_timestamp, status, comment, description FROM CDB_OB_BACKUP_JOBS UNION SELECT job_id, incarnation, tenant_id, backup_set_id, backup_type, path, start_timestamp, end_timestamp, status, comment, description FROM CDB_OB_BACKUP_JOB_HISTORY ) AS job LEFT JOIN (SELECT tenant_id AS tid, backup_set_id AS sid, min_restore_scn_display FROM CDB_OB_BACKUP_SET_FILES) AS file ON job.tenant_id = file.tid AND job.backup_set_id = file.sid) WHERE tenant_id != 1 AND description = ? ORDER BY start_time DESC)  where start_time >= '2024-06-28 13:26:21', args: [ALTER BACKUP TENANT FULL_BACKUP BY BACKUP_NOW AT 2024-06-28 13:26:21.0]
2024-06-28 13:26:47.182  INFO 111 --- [pool-manual-subtask-executor16,340412badd2f467f,2d666ca3a2d5] c.o.o.b.i.t.s.WaitDataBackupSuccessTask  : check backup task result: [DataBackupHistoryWrapperTask(super=DataBackupHistoryTask(taskId=75, backupType=FULL, taskType=null, taskCount=null, clusterName=null, clusterId=null, obClusterId=null, obTenantId=1002, clusterType=null, tenantId=1002, tenantName=null, snapshotVersionTime=null, startTime=2024-06-28T05:26:22.097556Z, finishTime=2024-06-28T05:26:46.105445Z, progress=null, status=FAILED, errorMsg=(ROOTSERVICE)addr: 10.55.172.80:2882, result: -9080(the format file does not exist under the destination), trace_id: YBxxxxx-xxxxx-xxxxx-xxxxx, dataVersion=null, backupUri=file:///obbackup/oceanbase_xxxxx/xxxxx/tenant_incarnation_1/xxxxx/data, duration=24, backupSize=null, dataType=null, schemaVersion=null, lastSuccessTime=null, backupSetId=75, backupLevel=null), backupMode=PHYSICAL_BACKUP, dataBackupTaskType=FULL_BACKUP, backupDimension=TENANT, backupSizeUnit=null, backupSetFile=null, backupSetFilePath=null, dataSecondaryBackupTaskIds=null)]
2024-06-28 13:26:47.223 ERROR 111 --- [pool-manual-subtask-executor16,340412badd2f467f,2d666ca3a2d5] c.o.o.c.t.e.c.w.subtask.SubtaskExecutor  : null

java.lang.NullPointerException: null
    at com.oceanbase.ocp.backup.internal.data.meta.PhysicalBackupFileMetaManager.updateClusterDataSetCheckpoint(PhysicalBackupFileMetaManager.java:111)
    at com.oceanbase.ocp.backup.internal.task.schedule.WaitDataBackupSuccessTask.lambda$checkDataBackupTaskResult$3(WaitDataBackupSuccessTask.java:140)
    at java.util.ArrayList.forEach(ArrayList.java:1259)
    at com.oceanbase.ocp.backup.internal.task.schedule.WaitDataBackupSuccessTask.checkDataBackupTaskResult(WaitDataBackupSuccessTask.java:134)
    at com.oceanbase.ocp.backup.internal.task.schedule.WaitDataBackupSuccessTask.run(WaitDataBackupSuccessTask.java:205)
    at com.oceanbase.ocp.core.task.engine.runner.JavaSubtaskRunner.execute(JavaSubtaskRunner.java:59)
    at com.oceanbase.ocp.core.task.engine.runner.JavaSubtaskRunner.doRun(JavaSubtaskRunner.java:31)
    at com.oceanbase.ocp.core.task.engine.runner.JavaSubtaskRunner.run(JavaSubtaskRunner.java:25)
    at com.oceanbase.ocp.core.task.engine.runner.RunnerFactory.doRun(RunnerFactory.java:76)
    at com.oceanbase.ocp.core.task.engine.coordinator.worker.subtask.SubtaskExecutor.doRun(SubtaskExecutor.java:193)
    at com.oceanbase.ocp.core.task.engine.coordinator.worker.subtask.SubtaskExecutor.redirectConsoleOutput(SubtaskExecutor.java:187)
    at com.oceanbase.ocp.core.task.engine.coordinator.worker.subtask.SubtaskExecutor.lambda$submit$2(SubtaskExecutor.java:124)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

Set state for subtask: 13044117, operation:EXECUTE, state: FAILED

```

关键日志报错信息如下。

```shell
rootservice.log.20240628134017776:[2024-06-28 13:26:46.105391] WDIAG [SHARE] check_dest_validity (ob_backup_store.cpp:443) [1497617][T1001_BackupDat][T1001][YBxxxxx-xxxxx-xxxxx-xxxxx] [lt=9][errcode=-9080] format file does not exist(ret=-9080, backup_dest={root_path:"file:///obbackup/oceanbase_xxxxx/xxxxx/tenant_incarnation_1/xxxxx/data", storage_info:{endpoint:"", access_id:"", extension:"", type:"FILE"}})

```

## 问题原因

OCP 在执行备份过程中，发起备份成功后，会进入备份状态检测阶段，如果该阶段检测不通过，则会出现失败，检测使用如下 SQL 进行检测，如果检测到结果异常，则认定为备份失败。

```shell
2024-06-28 13:26:47.104  INFO 111 --- [pool-manual-subtask-executor16,340412badd2f467f,2d666ca3a2d5] c.o.ocp.obsdk.connector.ConnectTemplate  : [obsdk] sql: SELECT * FROM (SELECT * FROM (SELECT job_id, incarnation, job.tenant_id as tenant_id, job.backup_set_id as backup_set_id, backup_type, path AS backup_dest, start_timestamp as start_time, end_timestamp as end_time, now(6) as check_time, status, comment, description, 'TENANT' as backup_level, file.MIN_RESTORE_SCN_DISPLAY as snapshot_version_time FROM ( SELECT job_id, incarnation, tenant_id, backup_set_id, backup_type, path, start_timestamp, NULL AS end_timestamp, status, comment, description FROM CDB_OB_BACKUP_JOBS UNION SELECT job_id, incarnation, tenant_id, backup_set_id, backup_type, path, start_timestamp, end_timestamp, status, comment, description FROM CDB_OB_BACKUP_JOB_HISTORY ) AS job LEFT JOIN (SELECT tenant_id AS tid, backup_set_id AS sid, min_restore_scn_display FROM CDB_OB_BACKUP_SET_FILES) AS file ON job.tenant_id = file.tid AND job.backup_set_id = file.sid) WHERE tenant_id != 1 AND description = ? ORDER BY start_time DESC)  where start_time >= '2024-06-28 13:26:21', args: [ALTER BACKUP TENANT FULL_BACKUP BY BACKUP_NOW AT 2024-06-28 13:26:21.0]

```

本案例在检测时出现了 -9080，出现 -9080 异常一般说明数据文件被人为删除导致。

## 问题的风险及影响

备份异常。

## 影响租户

影响 OceanBase 数据库中的 SYS 租户和 Oracle 租户以及 MySQL 租户。

## 适用版本

OceanBase 数据库 V4.x 版本。

## 解决方法及规避方式

如果确认数据文件存在人为删除行为，则需要重建备份策略，重新备份。

上一篇

[备库数据备份失败，报错 -4344](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000780933)

下一篇

[OceanBase 数据库 V4.x 集群归档无法启动，rootservice 日志中存在 -5331、-9080 异常的原因及解决方法](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000002968828) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
