---
title: "应用通过 DBLink 连接 OceanBase 数据库执行 SQL 时遇到报错：[errcode=-4153] fail to acquire connection from server pool 的原因和解决方法-OceanBase数据库使用指南"
description: "了解OceanBase数据库在实际应用中关于应用通过 DBLink 连接 OceanBase 数据库执行 SQL 时遇到报错：[errcode=-4153] fail to acquire connection from server pool 的原因和解决方法相关的常见问题和使用技巧，帮助您快速解决应用通过 DBLink 连接 OceanBase 数据库执行 SQL 时遇到报错：[errcode=-4153] fail to acquire connection from server pool 的原因和解决方法的难题。"
---
切换语言

- 简体中文
- English

划线反馈

# 应用通过 DBLink 连接 OceanBase 数据库执行 SQL 时遇到报错：[errcode=-4153] fail to acquire connection from server pool 的原因和解决方法

更新时间：2026-06-03 03:01

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

## 问题现象

应用程序通过 DBLink 从一个 OceanBase 数据库 Oracle 模式租户跨租户连接到另外一个 OceanBase 数据库 Oracle 模式租户并执行数据导出操作，应用程序遇到了报错 `-4153, out of resource`，observer.log 日志中打印 `[errcode=-4153] fail to acquire connection from server pool(free_conn_count_=0, busy_conn_count_=256, max_allowed_conn_count_=256, server_="0.0.0.0:0", ret=-4153)` 报错信息。

## 问题原因

当前 OceanBase 数据库建立的任何一个 DBLink 在具体某个 OBServer 节点上可以同时并发打开的最大连接数是 256 个，多个 SESSION 共用这个上限为 256 个连接的连接池。如果应用通过单个 DBLink 建立的并发连接数较多，或者业务 SQL 的执行耗时过长，导致连接一直被占用着，总的 SESSION 连接数很容易就会到达单个 DBLink 的默认连接数上限 256，从而报错 `OB_RESOURCE_OUT(ret=-4153)`。

## 问题的风险及影响

通过 DBLink 连接 OceanBase 数据库失败报错。

## 适用版本

**OceanBase 数据库 V4.2.1.x 系列：** V4.2.1 BP10 Hotfix3（oceanbase-4.2.1.11-111030012025051713）及更高版本。

**OceanBase 数据库 V4.2.5.x 系列：** V4.2.5 BP2（oceanbase-4.2.5.2-102000122025011711）及更高版本。

**OceanBase V4.3.x 系列：** V4.3.5（oceanbase-4.3.5.0-100000122024123020）及更高版本。

## 解决方法

为解决上述问题，从 OceanBase 数据库 V4.2.1 BP10 Hotfix3、V4.2.5 BP2、V4.3.5 版本开始，OceanBase 数据库内核添加一个可配置的租户级隐藏配置项 `_max_dblink_conn_per_observer`，在遇到上述问题时可以通过修改该隐藏配置项来避免报错。

```shell
MySQL [oceanbase]> select * from gv$ob_parameters where name='_max_dblink_conn_per_observer'\G
*************************** 1. row ***************************
       SVR_IP: xx.xxx.xxx.xxx
     SVR_PORT: 2882
         ZONE: zone1
        SCOPE: TENANT
    TENANT_ID: 1
         NAME: _max_dblink_conn_per_observer
    DATA_TYPE: INT
        VALUE: 256
         INFO: The maximum limit on the number of connections that can be opened simultaneously for a specific observer for any DBLink, default value is 256
      SECTION: TENANT
   EDIT_LEVEL: DYNAMIC_EFFECTIVE
DEFAULT_VALUE: 256
    ISDEFAULT: YES

-- 对任一 DBLink，在任一 OBServer 上的已打开连接数上限配置为 1024 个
MySQL [oceanbase]> alter system set _max_dblink_conn_per_observer=1024 tenant=xxx;

```

## 规避方式

无。

Previous

[Mybatis 升级后报错 maximum open cursors exceeded](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000443257)

Next

[OceanBase 数据库和应用之间的通讯 TCP 原理](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000003039512) ![有帮助](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) 咨询热线
