---
title: "资源隔离概述 - OceanBase 数据库 V4.0.0-preview | OceanBase 文档中心"
description: 资源隔离概述 本文主要介绍了资源隔离相关的概念、资源隔离方式及其适用场景。 功能适用性 该功能目前仅在 OceanBase 数据库 Oracle 模式下支持。 cgroups（Control Groups）是 Linux 内核提供的一种机制，这种机制可以根据特定的行为，将一系列系统任务及其子任务整合（或分隔）到按资源…
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.0.0-preview

# 资源隔离概述

更新时间：2023-07-25 13:45:37

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.0.0-preview/zh-CN/700.reference/200.administrator-guide/700.management/100.1.resource-isolation/100.resource-isolation-overview.md)  

本文主要介绍了资源隔离相关的概念、资源隔离方式及其适用场景。

#### 功能适用性

该功能目前仅在 OceanBase 数据库 Oracle 模式下支持。

cgroups（Control Groups）是 Linux 内核提供的一种机制，这种机制可以根据特定的行为，将一系列系统任务及其子任务整合（或分隔）到按资源划分等级的不同组内，从而为系统资源管理提供一个统一的框架。

OceanBase 数据库的当前版本中，由于租户工作线程和大部分后台线程均根据租户来区分，网络线程为共享线程，管理员可以在配置 cgroup 目录后，再通过 `DBMS_RESOURCE_MANAGER` 系统包来控制租户 CPU 的占用。当前仅 Oracle 模式支持通过该方式来进行 CPU 资源隔离，MySQL 模式暂不支持。

## DBMS_RESOURCE_MANAGER 系统包

OceanBase 数据库中通过 PL 的 `DBMS_RESOURCE_MANAGER` 系统包来管理数据库中资源的分配从而实现资源隔离。`DBMS_RESOURCE_MANAGER` 系统包主要用于维护以下元素：

- 资源组：根据资源要求组合在一起的一组会话。系统将资源分配给资源组，而不是单个会话。
 - 资源管理计划：资源管理计划内容的容器，指定如何将资源分配给资源组。您可以通过激活特定的资源管理计划来控制资源的分配。一条资源管理计划可以对应多条资源管理计划内容。但一条资源管理计划中不能包含两条相同的资源管理计划内容。
 - 资源管理计划内容：用于将资源组与资源管理计划相关联，并指定如何将资源分配给该资源组。

关于 `DBMS_RESOURCE_MANAGER` 系统包的详细介绍，请参见 [DBMS_RESOURCE_MANAGER 系统包](https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001580861)。

## 资源隔离方式

数据库中的资源隔离从使用粒度，可以分为用户级资源隔离和 SQL 级资源隔离。

- 用户级的资源隔离支持将用户绑定在特定的资源组上，绑定后该用户执行的 SQL，就会使用特定资源组的 CPU 资源。该方式适用于不同的用户执行不同类型的 SQL 的场景。例如，为了隔离 AP 和 TP 业务的资源，您可以创建一个 AP 和一个 TP 用户分别绑定到两个资源组上，两个用户分别执行 AP 和 TP 所需的 SQL。
 - SQL 级的资源隔离是比用户级粒度更细的隔离方式。通常适用的场景是，业务中存在多个账号，处理一个账号的一个订单时，会开启一个事务然后执行一批与该账号相关的 SQL （通常是在 WHERE 条件中指定账号的值）。账号中可能存在大账号（数据量较大）和小账号（数据量较小），为了避免大账号把 CPU 资源用完导致小账号的订单无法得到处理，可以将处理不同订单的 SQL 绑定到不同的资源组，绑定后不同订单的 SQL 就会使用不同资源组的 CPU 资源。

 上一篇 下一篇 ![有帮助](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) 咨询热线
