---
title: 目录权限问题导致租户恢复卡住-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 目录权限问题导致租户恢复卡住相关的常见问题和使用技巧，帮助您快速解决 目录权限问题导致租户恢复卡住的难题。
---
切换语言

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

划线反馈

# 目录权限问题导致租户恢复卡住

更新时间：2026-05-13 01:51

适用版本： V2.1.x、V2.2.x、V3.1.x、V3.2.x 内容类型：Troubleshoot  

## 适用版本

OceanBase 数据库所有版本。

## 问题现象

通过 OCP 恢复租户过程中，恢复任务的状态长时间处于 “系统副本恢复中”。

## 问题原因

通过如下 SQL 查询租户副本的恢复状态。

```shell
obclient> select svr_ip, role, is_restore, count(*)
from __all_root_table as a,
(select value from __all_restore_info where name = 'tenant_id') as b
where a.tenant_id = b.value and a.tenant_id = 1012
group by role, is_restore, svr_ip
order by svr_ip, is_restore;

```

![ocp](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/sql/Data%20Masking%2001.jpg)

查询的结果和如下信息进行对比。

3.x 版本：

- 0，正常副本
 - 1，逻辑恢复的副本
 - 2，物理恢复需要恢复基线和转储的副本
 - 3，正在数据裁剪的副本（3.x 特有的步骤）
 - 4，等待 clog 回放的副本
 - 5，正在回放 clog 的副本
 - 6，等待 memtable 转储的副本
 - 7，已经 memtable 转储完成的副本
 - 8，正在设置 member list 的副本

role 的含义：

- 1，leader
 - 2，follower
 - 4，恢复中的 leader

发现如下几条信息：

1. 一共有 384 个副本进行恢复。
 2. 有 60 个副本，看状态已经恢复成功。
 3. 剩余 324 个副本，恢复存在问题，处于"物理恢复需要恢复基线和转储的副本"。

通过如下 SQL 排查哪些副本在做“物理恢复需要恢复基线和转储的副本”。

```shell
obclient> select * from __all_rootservice_event_history
where event like "%restore%" order by gmt_create desc limit 10;

```

![ocp](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/sql/Data%20masking%2002.jpg)

可以发现，很多副本处于副本恢复状态，没有错误码，随机选择一个，然后在其执行节点进行检索日志，如下所示。

![ocp](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/sql/a9171dea-32f7-412a-a988-553bb839850f.png)

继续使用 trace_id 过滤相关信息，发现关键日志如下。

```
observer.log.20221208124915:[2022-12-08 12:46:30.187445] WARN list_files (ob_storage_file.cpp:346) [24718][430][YB420A44267B-0005ED34237E1E23] [lt=7] [dc=0] fail to open dir(ret=-4009, dir_path="/idc2obbackup/IDC2_OBDB2/IDC2_OBDB2/1634176965/incarnation_1/1009/data/backup_set_110_full_20221207/backup_110", strerror_r(errno, errno_buf, sizeof(errno_buf))="Permission denied")

observer.log.20221208125413:[2022-12-08 12:51:30.200225] WARN [STORAGE] do_task (ob_partition_migrator.cpp:2916) [24718][430][YB420A44267B-0005ED34237E1E23] [lt=12] [dc=0] set first_error_code_(ret=-4009)
由此可知，恢复任务一直卡在“系统副本恢复中”的原因在于目录权限问题：fail to open dir(ret=-4009），sizeof(errno_buf))="Permission denied" 。

```

## 解决方法

检查恢复目录和目录权限。若节点上恢复目录不存在或没有挂恢复盘，将对应恢复文件或恢复盘挂载，若恢复目录权限不正确，修改为对应用户权限。

上一篇

[备份恢复失败，租户一直处于恢复中](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000340640)

下一篇

[OceanBase 异机恢复 locate_file_by_log_id 报 -4016 错误](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000208054) ![有帮助](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) 咨询热线
