---
title: "ORA-05000 ~ ORA-10000 - OceanBase 数据库 V4.2.1 | OceanBase 文档中心"
description: "ORA-05000 ~ ORA-10000 功能适用性 该内容仅适用于 OceanBase 数据库 Oracle 模式。 ORA-06500：PL/SQL: storage error OceanBase 错误码：5842 SQLSTATE：HY000 错误原因：PL 无法分配其他存储。有时此错误可能是由失控的程序引…"
---
切换语言

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

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

# ORA-05000 ~ ORA-10000

更新时间：2026-07-15 22:01:31

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.2.1/zh-CN/700.reference/900.error-code/700.error-code-of-oracle-mode/600.ora-05000-to-ora-10000-of-oracle-mode.md)

#### 功能适用性

该内容仅适用于 OceanBase 数据库 Oracle 模式。

## ORA-06500：PL/SQL: storage error

- OceanBase 错误码：5842
 - SQLSTATE：HY000
 - 错误原因：PL 无法分配其他存储。有时此错误可能是由失控的程序引起的。
 - 解决方式：

     1. 确保 PL 程序中没有使用额外内存的问题或错误。
     2. 通过编程方式释放未使用的对象（例如，将其设置为 `NULL`）。
     3. 增加可用的共享或进程内存量（如果适用）。

## ORA-06501：PL/SQL: program error

- OceanBase 错误码：5840
 - SQLSTATE：HY000
 - 错误原因：这是内部错误消息。在 PL 程序中检测到错误。
 - 解决方式：内部错误码，请联系技术支持人员协助排查。

## ORA-06502：PL/SQL: numeric or value error: %.*s

- OceanBase 错误码：5677
 - SQLSTATE：HY000
 - 错误原因：发生算术、数字、字符串、转换或约束错误。例如，如果尝试将值 `NULL` 分配给声明了`NOT NULL` 的变量，或者尝试给声明了 `NUMBER(2)` 的变量分配一个大于 `99` 的整数，则会发生此错误。
 - 解决方法：更改数据、数据的计算方式或数据的声明方式，以便值不违反约束。

相关问题案例：

- [Oracle 参数 max_string_size 引发的兼容性问题](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000209987)

## ORA-06504：PL/SQL: Return types of Result Set variables or query do not match

- OceanBase 错误码：5841
 - SQLSTATE：HY000
 - 错误原因：查询中的列数或列类型与结果集变量所声明的返回类型不匹配，或者两个结果集变量所声明的类型不匹配。
 - 解决方式：更改程序语句或声明。验证执行过程中变量实际引用了什么查询。

## ORA-06508：PL/SQL: could not find program unit being called: '%.*s'

- OceanBase 错误码：5933
 - SQLSTATE：HY000
 - 错误原因：找不到程序单元。

## ORA-06513：PL/SQL: index for PL/SQL table out of range for host language array

- OceanBase 错误码：9750
 - SQLSTATE：HY000
 - 错误原因：在使用 PL/SQL 表时，索引超出了数组的范围。
 - 解决方法：确保索引的值没有超出数组范围。

#### 说明

该错误码从 V4.2.0 版本开始引入。

## ORA-06519：active autonomous transaction detected and rolled back

- OceanBase 错误码：5796
 - SQLSTATE：HY000
 - 错误原因：在从自治 PL 块返回之前，在该块内启动的所有自治事务必须完成（提交或回滚）。如果没有，则会隐式回滚运行中的自治事务，并引发此错误。
 - 解决方法：确保从自治 PL 块返回之前，任何进行中的自治事务都显式指定或回滚。

## ORA-06530：Reference to uninitialized composite

- OceanBase 错误码：5837
 - SQLSTATE：HY000
 - 错误原因：左侧引用了对象、`LOB` 或其他复合对象（比如 `Nested Table` 、Record 等），但是对象、`LOB` 或其他复合对象未初始化。
 - 解决方式：使用适当的构造函数或全对象赋值初始化复合对象。

## ORA-06531：Reference to uninitialized collection

- OceanBase 错误码：5838
 - SQLSTATE：HY000
 - 错误原因：引用了嵌套表或 `VARRAY` 的元素或 `Member` 函数（此处需要初始化后的集合），但是集合未初始化。
 - 解决方式：使用适当的构造函数或全对象赋值初始化集合。

## ORA-06532：Subscript outside of limit

- OceanBase 错误码：5843
 - SQLSTATE：HY000
 - 错误原因：下标大于 `VARRAY` 的限制值，或者下标是 `VARRAY` 或嵌套表的非正值。
 - 解决方式：检查程序逻辑，如有必要，增加 `VARRAY` 限制值。

## ORA-06533：Subscript beyond count

- OceanBase 错误码：5828
 - SQLSTATE：HY000
 - 错误原因：下标大于 `VARRAY` 数组的最大长度或者对于嵌套表来说下标太大。
 - 解决方式：检查程序逻辑，必要时显式扩展。

## ORA-06535：statement string in EXECUTE IMMEDIATE is NULL or 0 length

- OceanBase 错误码：9711
 - SQLSTATE：HY000
 - 错误原因：该程序试图使用一个 NULL 或 0 长度的动态语句字符串。
 - 解决方式：检查程序逻辑并确保动态语句字符串已正确初始化。

#### 说明

该错误码从 V4.0.0 版本开始引入。

## ORA-06546：DDL statement is executed in an illegal context

- OceanBase 错误码：5981
 - SQLSTATE：HY000
 - 错误原因：DDL 语句在非法的 PL/SQL 上下文中动态执行：

     - PL/SQL 中 DDL 的动态打开游标。
     - Bind 变量用于 USING 子句以立即执行 DDL。
     - Define 变量用于 INTO 子句以立即执行 DDL。
 - 解决方式：使用 `EXECUTE IMMEDIATE`，没用 `USING` / `INTO` 子句来执行 DDL 语句。

## ORA-06547：RETURNING clause must be used with INSERT, UPDATE, or DELETE statements

- OceanBase 错误码：9713
 - SQLSTATE：HY000
 - 错误原因：带有 RETURNING 子句的 EXECUTE IMMEDIATE 仅用于执行动态 UPDATE、INSERT 或 DELETE 语句。
 - 解决方式：仅对 INSERT、UPDATE 或 DELETE 语句使用 EXECUTE IMMEDIATE 中的 RETURNING 子句。 对于其他语句，请改用 USING 子句。

## ORA-06548：no more rows needed

- OceanBase 错误码：5839
 - SQLSTATE：HY000
 - 错误原因：管道函数的调用者不需要管道函数生成更多的行。
 - 解决方式：不要在异常处理块中捕获 `NO_DATA_NEEDED` 异常。

## ORA-06553：wrong number or types of arguments in call to '%.*s'

- OceanBase 错误码：5343
 - SQLSTATE：42000
 - 错误原因：SQL 编译失败，因为非法引用了 PL 单元。
 - 解决方法：如果 PLS 错误消息没有提供解决方法，请尝试将 SQL 语句作为顶级调用来执行。

  #### 说明

  操作用户需要拥有合适的权限。

## ORA-06562：type of out argument must match type of column or bind variable

- Ocean Base 错误码：9568
 - SQLSTATE：HY000
 - 错误原因：为 `column_value_long` 和 `define_value_long` 函数指定了不支持的 `LONG` 类型。
 - 解决方法：为 `column_value_long` 和 `define_value_long` 函数指定支持的参数类型。

## ORA-06563：name has too many parts

- OceanBase 错误码：9714
 - SQLSTATE：HY000
 - 错误原因：

  待解析的名称被指定为以下名称：

     - A.B.C: A.B 部分解析为一个有效对象，该对象没有任何对外可见的子过程，导致 C 部分无法解析。
     - A.B: A 部分解析为一个有效对象，该对象没有任何对外可见的子过程，导致 B 部分无法解析。
 - 解决方法：指定有效对象的名称，去除无效的结尾部分。

## ORA-06564：object %.*s does not exist

- OceanBase 错误码：9749
 - SQLSTATE：HY000
 - 错误原因：请求的对象不存在。
 - 解决方法：检查请求的对象名称是否正确或错误，确认是否可以找到该对象。

## ORA-06575：Package or function PRO is in an invalid state

- OceanBase 错误码：5465
 - SQLSTATE：42000
 - 错误原因：SQL 语句引用了处于无效状态的 PL/SQL 函数。
 - 解决方法：检查 SQL 语句和 PL/SQL 函数是否存在语法错误或未正确分配或缺少引用对象的权限。

#### 说明

该错误码从 V4.1.0 版本开始引入。

## ORA-06576：not a valid function or procedure name

- Ocean Base 错误码：5980
 - SQLSTATE：HY000
 - 错误原因：找不到要调用的函数（如果存在 `INTO` 子句）或过程（如果语句没有 `INTO` 子句）。
 - 解决方法：更改语句以调用函数或过程。

## ORA-07452：specified resource manager plan does not exist in the data dictionary

- Ocean Base 错误码：4718
 - SQLSTATE：HY000
 - 错误原因：尝试加载不存在的资源管理器计划。
 - 解决方法：使用数据字典中存在的资源管理器计划。

## ORA-08002：sequence is not yet defined in this session

- OceanBase 错误码：9753
 - SQLSTATE：HY000
 - 错误原因：当前会话未访问过该序列对象的 NEXTVAL。
 - 解决方法：在当前会话先访问该序列对象的 NEXTVAL 之后再访问该对象的 CURRVAL。

#### 说明

该错误码从 V4.2.1 版本开始引入。

## ORA-08004：sequence exceeds %s and cannot be instantiated

- OceanBase 错误码：4332
 - SQLSTATE：HY000
 - 错误原因：实例化 `Nextval` 将违反 `MAXVALUE` 或 `MINVALUE` 。
 - 解决方法：更改序列，以便可以请求新值。

## ORA-08006：specified row no longer exists

- OceanBase 错误码：38105
 - SQLSTATE：HY000
 - 错误原因：自操作开始以来，其他用户已删除该行。
 - 解决方法：重新尝试操作。

## ORA-08102：index key not found

- OceanBase 错误码：4380
 - SQLSTATE：HY000
 - 错误原因：内部错误码。索引可能不一致。
 - 解决方法：请联系技术支持人员协助排查。

## ORA-08177：can't serialize access for this transaction

- OceanBase 错误码：6235
 - SQLSTATE：25000
 - 错误原因：在可序列化事务开始后执行了修改数据的操作。
 - 解决方式：在读/写事务中，重试事务操作。

## ORA-08186：invalid timestamp

- OceanBase 错误码：4344
 - SQL STATE：HY000
 - 错误原因：无效的时间戳。如果您正在使用闪回查询，则可能是由于指定闪回的时间点后 OceanBase 数据库进行了转储。
 - 解决方法：输入有效的时间戳。

## ORA-08187：snapshot expression not allowed here

- OceanBase 错误码：32491
 - SQL STATE：HY000
 - 错误原因：在不支持的地方指定了使用 `AS OF` 的快照表达式。
 - 解决方法：不要使用 `AS OF` 子句。

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