---
title: "UTL_RECOMP 概述 - OceanBase 数据库 V4.3.5 | OceanBase 文档中心"
description: UTL_RECOMP 概述 UTL_RECOMP 系统包是一个用于重新编译数据库对象的实用程序包，与数据库升级或对象失效有关时特别有用。该包中的程序可以用于重新编译整个数据库的对象或特定模式（schema）的对象。 功能适用性 该内容仅适用于 OceanBase 数据库企业版。OceanBase 数据库社区版仅提供 …
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.3.5 LTS

# UTL_RECOMP 概述

更新时间：2026-07-15 20:42:46

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.5/zh-CN/700.reference/600.pl-reference/300.pl-oracle/1400.pl-system-package-oracle/26400.utl-recomp-package-oracle/100.utl-recomp-overview-oracle.md)  

`UTL_RECOMP` 系统包是一个用于重新编译数据库对象的实用程序包，与数据库升级或对象失效有关时特别有用。该包中的程序可以用于重新编译整个数据库的对象或特定模式（schema）的对象。

#### 功能适用性

该内容仅适用于 OceanBase 数据库企业版。OceanBase 数据库社区版仅提供 MySQL 模式。

## UTL_RECOMP 使用说明

- 对于 OceanBase 数据库 V4.3.5 BP2 之前的版本该包必须连接 SYS 用户才能使用，其他用户没有权限调用此包。V4.3.5 BP2 及之后版本通过 sys 用户给普通用户授予 `EXECUTE` 权限后普通用户也可以调用 `UTL_RECOMP` 系统包。
 - 调用 `recomp_parallel`，`recomp_serial` 时，建议用户保证系统中没有正在执行的 DDL 操作，否则可能会有非预期情况发生。
 - 此包编译的对象包括 `procedure`、`functon`、`package`、`trigger`、`user define type`。
 - 对象编译过程出现的单个对象相关的错误，可以通过 `all_errors` 视图查看。
 - 编译过程中出现的系统错误记录在 `SYS.UTL_RECOMP_ERRORS` 表中。

## UTL_RECOMP 子程序概览

下表列出了 OceanBase 数据库当前版本所支持的 `UTL_RECOMP` 子程序以及简要描述。

| **子程序** | **描述** |
| --- | --- |
| [recomp_parallel](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002016388) | 用于并行地重新编译失效的数据程序单位（例如，包、过程、函数、触发器等）。 |
| [recomp_serial](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002016386) | 用于串行编译数据库对象。 |
| [parallel_slave](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002016385) | 这个是 `recomp_parallel` 过程中用于执行实际编译工作的私有子程序。通常情况下不会由用户直接调用。 |
| [truncate_utl_recomp_skip_list](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002016387) | 用于清空 `UTL_RECOMP_SKIP_LIST` 表，该表中存储了不想被自动重编译的对象名单。 |
| [populate_utl_recomp_skip_list](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002016389) | 用于向 `UTL_RECOMP_SKIP_LIST` 表中添加记录，以便在重编译过程中跳过特定的对象。 |

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