---
title: "ORA-30000 ~ ORA-49999 - OceanBase 数据库 V4.2.5 | OceanBase 文档中心"
description: ORA-30000 ~ ORA-49999 功能适用性 该内容仅适用于 OceanBase 数据库 Oracle 模式。 ORA-30002：SYS_CONNECT_BY_PATH function is not allowed here OceanBase 错误码：5768 SQLSTATE：HY000 错误原因：…
---
切换语言

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

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

# ORA-30000 ~ ORA-49999

更新时间：2026-07-15 20:56:59

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

#### 功能适用性

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

## ORA-30002：SYS_CONNECT_BY_PATH function is not allowed here

- OceanBase 错误码：5768
 - SQLSTATE：HY000
 - 错误原因：`SYS_CONNECT_BY_PATH` 函数在 `SELECT` 列表和 `ORDER BY` 子句以外的位置被调用。
 - 解决方法：删除在 `SELECT` 列表和 `ORDER BY` 子句以外的位置上对 `SYS_CONNECT_BY_PATH` 函数的调用。

## ORA-30003：illegal parameter in SYS_CONNECT_BY_PATH function

- OceanBase 错误码：5769
 - SQLSTATE：HY000
 - 错误原因：`SYS_CONNECT_BY_PATH` 函数中存在非法参数。

## ORA-30003：illegal parameter in SYS_CONNECT_BY_PATH function

- OceanBase 错误码：5927
 - SQLSTATE：HY000
 - 错误原因：`SYS_CONNECT_BY_PATH` 函数中存在非法参数。

## ORA-30004：A column value contained the string that the SYS_CONNECT_BY_PATH function was to use to separate column values

- OceanBase 错误码：5770
 - SQLSTATE：HY000
 - 错误原因：列值中包含了 `SYS_CONNECT_BY_PATH` 函数用于分隔列值的字符串。
 - 解决方法：为 `SYS_CONNECT_BY_PATH` 函数指定一个其他分隔符，需要确保该分隔符未包含在任何列值中，然后重试操作。

## ORA-30005：missing or invalid WAIT interval

- OceanBase 错误码：5495
 - SQLSTATE：HY000
 - 错误原因：在使用 MySQL 的 WAIT 命令时，指定的等待时间参数不合法或缺失。
 - 解决方法：检查使用 WAIT 命令的语法，确保等待时间参数正确。

#### 说明

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

## ORA-30006：resource busy; acquire with WAIT timeout expired

- OceanBase 错误码：6003
 - SQLSTATE：HY000
 - 错误原因：请求的资源正忙。
 - 解决方法：稍后重试该操作。

相关问题案例：

- [ORA-30006 resource busy acquire with WAIT timeout expired 报错的一般分析路径](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000245508)

## ORA-30007：CONNECT BY ROOT operator is not supported in the START WITH or in the CONNECT BY condition

- OceanBase 错误码：5771
 - SQLSTATE：HY000
 - 错误原因：尝试在 `START WITH` 或 `CONNECT BY` 条件中使用 `CONNECT BY ROOT` 运算符。
 - 解决方法：从 `START WITH` 或 `CONNECT BY` 条件中删除 `CONNECT BY ROOT` 操作符。

## ORA-30009：Not enough memory for CONNECT BY operation

- OceanBase 错误码：5926
 - SQLSTATE：HY000
 - 错误原因：在新引擎上，在递归层次太深时会报错，深度限制为 2 的 30 次方；而在旧引擎上，如果在从根节点到当前节点的路径上，所有节点加上它们的子节点的数目超过一个固定数值（2 的 30 次方）也会报错。目前设置的这个数值是固定的，一般情况下不会遇到超过这个数值的问题。
 - 解决方法：目前暂时无法找到解决方案。增加内存大小并不能解决这个问题。唯一的解决办法是减少递归层次或者减小数据量。

## ORA-30055：NULL snapshot expression not allowed here

- OceanBase 错误码：4786
 - SQLSTATE：HY000
 - 错误原因：此处不允许使用 `NULL` 快照表达式
 - 解决方法：检查闪回查询语句中的语法和其表达式的有效性，确保它指向一个明确且存在于保留期内的历史快照。

## ORA-30076：invalid extract field for extract source

- OceanBase 错误码：5686
 - SQLSTATE：HY000
 - 错误原因：数据提取源未包含指定的数据提取字段。

## ORA-30078：partition bound must be TIME/TIMESTAMP WITH TIME ZONE literals

- OceanBase 错误码：5349
 - SQLSTATE：HY000
 - 错误原因： `TIME` 或者 `TIMESTAMP` 列不带 `TIME ZONE`。
 - 解决方法：使用带 `TIME ZONE` 的 `TIME` 或 `TIMESTAMP` 格式。

## ORA-30084 : invalid data type for datetime primary with time zone modifier

- OceanBase 错误码：5950
 - SQLSTATE：HY000
 - 错误原因：当指定了时区修饰符，参数 `datetime` 必须是 `TIME`、`TIME WITH TIME ZONE`、`TIMESTAMP` 或 `TIME STAMP WITH TIME ZONE` 数据类型的值。

## ORA-30088：datetime/interval precision is out of range

- OceanBase 错误码：5605
 - SQLSTATE：HY000
 - 错误原因：指定的日期时间/间隔精度不在 `0` 和 `9` 之间。
 - 解决方法：确保日期时间/间隔精度使用介于 `0` 和 `9` 之间的值。

相关问题案例：

- [Create table 报错 ORA-30088](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000267136)

## ORA-30175：invalid type given for an argument

- OceanBase 错误码：5351
 - SQLSTATE：HY000
 - 错误原因：参数列表中存在无效类型的参数。
 - 解决方法：对参数使用正确的数据类型。

## ORA-30186：'\\' must be followed byfour hexidecimal characters or another '\\'

- OceanBase 错误码：5938
 - SQLSTATE：HY000
 - 错误原因：在 SQL 函数 `UNISTR` 的参数中，如要将反斜杠（\\）包含在字符串本身中，请在其后面加上四个十六进制字符或另一个反斜杠。
 - 解决方法：修正字符串格式。

## ORA-30205：invalid Character set

- OceanBase 错误码：5969
 - SQLSTATE：HY000
 - 错误原因：指定的字符集无效。
 - 解决方法：检查字符集 ID 是否有效。

#### 说明

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

## ORA-30481：GROUPING function only supported with GROUP BY CUBE or ROLLUP

- OceanBase 错误码：5501
 - SQLSTATE：42000
 - 错误原因：只有在使用 GROUP BY CUBE 或 ROLLUP 语句时才支持 GROUPING 函数。
 - 解决方法：在使用 GROUPING 函数时，确保使用了 GROUP BY CUBE 或 ROLLUP 语句。

#### 说明

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

## ORA-30482：DISTINCT not allowed here

- OceanBase 错误码：5798
 - SQLSTATE：HY000
 - 错误原因：此函数不允许使用 `DISTINCT` 选项。

## ORA-30485：missing ORDER BY expression in the window specification

- OceanBase 错误码：5300
 - SQLSTATE：HY000
 - 错误原因：窗口函数或聚合组缺少 `ORDER BY` 表达式。

## ORA-30487：ORDER BY not allowed here

- OceanBase 错误码：5797
 - SQLSTATE：HY000
 - 错误原因：`DISTINCT` 函数与 `RATIO_TO_REPORT` 不能使用 `ORDER BY` 表达式。

## ORA-30488：argument should be a function of expressions in PARTITION BY

- OceanBase 错误码：5347
 - SQLSTATE：HY000
 - 错误原因：窗口函数的参数应为分区的常量。

## ORA-30493：The percentile value should be a number between 0 and 1

- OceanBase 错误码：5861
 - SQLSTATE：HY000
 - 错误原因：为 `PERCENTILE_CONT` 或者 `PERCENTILE_DISC` 函数指定的百分位值不在合理范围内。
 - 解决方式：指定 [0,1] 范围内的值。

## ORA-30494：The argument [%s] of WIDTH_BUCKET function is NULL or invalid

- OceanBase 错误码：5925
 - SQLSTATE：HY000
 - 错误原因：`WIDTH_BUCKET` 函数的参数 `[%s]` 为 `NULL` 或无效。

## ORA-30495：The argument should be of numeric or date/datetime type

- OceanBase 错误码：5862
 - SQLSTATE：HY000
 - 错误原因：参数应为数字类型或日期/日期时间类型。

## ORA-30496：Argument should be a constant

- OceanBase 错误码：5852
 - SQLSTATE：HY000
 - 错误原因：参数应为常量。

## ORA-30553：The function is not deterministic

- OceanBase 错误码：5996
 - SQLSTATE：HY000
 - 错误原因：定义索引的函数是不确定的。
 - 解决方法：如果函数是确定性的，则将其标记为确定性。如果它不是确定性的（取决于包状态、数据库状态、当前时间或函数输入以外的任何内容），则不要创建索引。即使在重写或重新编译函数时，确定性函数返回的值也不应更改。

## ORA-30562：SAMPLE percentage must be in the range [0.000001,100)

- OceanBase 错误码：5730
 - SQLSTATE：HY000
 - 错误原因：SAMPLE 百分比必须在 [0.000001，100）范围内。

## ORA-30563：outer join operator (+) is not allowed here

- OceanBase 错误码：5626
 - SQLSTATE：HY000
 - 错误原因：尝试在 `select_list`、`CONNECT BY` 子句、`START WITH` 子句或 `ORDER BY` 子句中引用 `+`。
 - 解决方法：请勿在 `select_list`、`CONNECT BY` 子句、`START WITH` 子句或 `ORDER BY` 子句中使用运算符。

## ORA-30625：method dispatch on NULL SELF argument is disallowed

- OceanBase 错误码：5847
 - SQLSTATE：HY000
 - 错误原因：某种类型的 `MEMBER` 方法被 `NULL SELF` 参数调用。
 - 解决方式：更改方法调用类型用以传递有效的 `SELF` 参数。

## ORA-30665：invalid NOT NULL constraint specified on a DEFAULT ON NULL column

- OceanBase 错误码：5949
 - SQLSTATE：HY000
 - 错误原因：在 `DEFAULT ON NULL` 列上未正确指定 `NOT NULL` 约束。
 - 解决方式：如果在 `DEFAULT ON NULL` 列上指定了 `NOT NULL` 约束，则必须将其启用且不可延迟。

## ORA-30669：table can have only one identity column

- OceanBase 错误码：5909
 - SQLSTATE：HY000
 - 错误原因：试图在一个表上指定多个标识列。
 - 解决方法：每个表仅指定一个标识列。

## ORA-30670：invalid NOT NULL constraint specified on an identity column

- OceanBase 错误码：5910
 - SQLSTATE：HY000
 - 错误原因：在身份列上未正确指定 `NOT NULL` 约束。
 - 解决方法：如果在标识列上指定了 `NOT NULL` 约束，则必须启用它并且不可延迟。

## ORA-30671：cannot modify NOT NULL constraint on an identity column

- OceanBase 错误码：5911
 - SQLSTATE：HY000
 - 错误原因：无法修改标识列的 `NOT NULL` 约束。
 - 解决方法：不要修改标识列的 `NOT NULL` 约束。

## ORA-30672：cannot drop NOT NULL constraint on an identity column

- OceanBase 错误码：5912
 - SQLSTATE：HY000
 - 错误原因：无法删除标识列上的 `NOT NULL` 约束。
 - 解决方法：不要在标识列上删除 `NOT NULL` 约束。 删除约束的唯一方法是使用 `ALTER TABLE MODIFY` 的 `DROP IDENTITY` 删除列的 `identity` 属性。

## ORA-30673：column to be modified is not an identity column

- OceanBase 错误码：5913
 - SQLSTATE：HY000
 - 错误原因：试图修改不是标识列的标识属性。
 - 解决方法：修改标识列的标识属性。

## ORA-30674：identity column cannot have a default value

- OceanBase 错误码：5914
 - SQLSTATE：HY000
 - 错误原因：试图将默认值添加到标识列。
 - 解决方法：不能为标识列指定默认值。

## ORA-30675：identity column must be a numeric type

- OceanBase 错误码：5915
 - SQLSTATE：HY000
 - 错误原因：试图创建或更改标识列的值为非数字数据类型。
 - 解决方法：不要将非数字数据类型分配给标识列。

## ORA-30926：unable to get a stable set of rows in the source tables

- OceanBase 错误码：30926
 - SQLSTATE：HY000
 - 错误原因：由于较大的 DML 活动或非确定性 `WHERE` 子句，无法得到一组稳定的行。
 - 解决方法：删除非确定性 `WHERE` 子句并重新发出 DML。

## ORA-30929：ORDER SIBLINGS BY clause not allowed here

- OceanBase 错误码：5325
 - SQLSTATE：HY000
 - 错误原因：指定 `ORDER SIBLINGS BY` 子句的查询中不包含 `CONNECT BY` 子句。
 - 解决方法：删除 `ORDER SIBLINGS BY` 子句或者在查询中添加 `CONNECT BY` 子句。

## ORA-30929：ORDER SIBLINGS BY clause not allowed here

- OceanBase 错误码：5451
 - SQLSTATE：42000
 - 错误原因：在没有 CONNECT BY 子句的查询中指定了 ORDER SIBLINGS BY 子句。
 - 解决方法：删除 ORDER SIBLINGS BY 子句或添加 CONNECT BY 子句。

#### 说明

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

## ORA-30929：ORDER SIBLINGS BY clause not allowed here

- OceanBase 错误码：5772
 - SQLSTATE：HY000
 - 错误原因：指定 `ORDER SIBLINGS BY` 子句的查询中不包含 `CONNECT BY` 子句。
 - 解决方法：删除 `ORDER SIBLINGS BY` 子句或者在查询中添加 `CONNECT BY` 子句。

## ORA-30930：NOCYCLE keyword is required with CONNECT_BY_ISCYCLE pseudo column

- OceanBase 错误码：5773
 - SQLSTATE：HY000
 - 错误原因：在查询中指定了 `CONNECT_BY_ISCYCLE`，但是该查询不包含 `NOCYCLE` 关键字。
 - 解决方法：删除 `CONNECT_BY_ISCYCLE` 或添加 `NOCYCLE` 关键字。

## ORA-30980：Invalid Input

- OceanBase 错误码：5462
 - SQLSTATE：42000
 - 错误原因：类型转换失败，无效输入。
 - 解决方法：输入类型正确的数据。

## ORA-31003：Parent %.*s already contains child entry %.*s

- OceanBase 错误码：7433
 - SQLSTATE：42000
 - 错误原因：尝试将重复的子项插入到 XDB 分层解析器中。
 - 解决方法：将唯一的名称插入到容器中。

#### 说明

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

## ORA-31011：XML parsing failed

- OceanBase 错误码：9549
 - SQLSTATE：HY000
 - 错误原因：尝试解析文档时，XML 解析器返回错误。
 - 解决方法：检查要解析的文档是否有效。

#### 说明

该错误码从 V3.2.4 版本开始引入。

## ORA-31012：Given XPATH expression not supported

- OceanBase 错误码：7409
 - SQLSTATE：42000
 - 错误原因：XPath 表达式不被支持。
 - 解决方法：检查使用的 XPath 表达式是否正确，以及数据库版本是否支持使用该 XPath 表达式。

## ORA-31013：invalid xpath expression

- OceanBase 错误码：7404
 - SQLSTATE：42000
 - 错误原因：在使用 XPath 表达式时，表达式格式不正确或无效。
 - 解决方法：检查 XPath 表达式以及检查 XML 数据是否正确。

## ORA-31056：The document being inserted does not conform to specified child name

- OceanBase 错误码：7429
 - SQLSTATE：42000
 - 错误原因：插入的 XML 元素不符合 URL 标识的已注册 XML 架构。
 - 解决方法：插入符合指定 XML 架构的元素。

## ORA-31067：XML nodes must be updated with valid nodes and of the same type

- OceanBase 错误码：7418
 - SQLSTATE：42000
 - 错误原因：在更新 XML 节点时，使用了无效的节点或节点类型。
 - 解决方法：检查要更新的节点类型是否正确，确保节点类型匹配。

## ORA-31188：The specified printing option is invalid

- OceanBase 错误码：7407
 - SQLSTATE：42000
 - 错误原因：指定的打印选项无效。
 - 解决方法：检查打印选项是否正确。

## ORA-31195：XML node '' (type=%s) does not support this operation

- OceanBase 错误码：7430
 - SQLSTATE：42000
 - 错误原因：此操作不支持给定节点的类型。例如，尝试将子节点添加到属性节点，或将文档节点作为子节点传递，都是不被支持的操作。
 - 解决方法：使用有效的节点类型进行操作。

## ORA-31600：invalid input value %.*s for parameter %.*s in function %.*s

- OceanBase 错误码：9504
 - SQLSTATE：HY000
 - 错误原因：输入参数值为 `NULL` 或无效值。
 - 解决方法：更正输入值，然后重试调用。

## ORA-31603：object '%.*s' of type %.*s not found in schema '%.*s'

- OceanBase 错误码：9503
 - SQLSTATE：HY000
 - 错误原因：在数据库中找不到指定的对象。
 - 解决方法：更正对象配置，然后重试调用。

## ORA-32021：parameter value longer than %d characters

- OceanBase 错误码：5939
 - SQLSTATE：HY000
 - 错误原因：试图更改参数值，但参数值中的字符数长于允许的最大值。对于列表参数，列表中的参数值之一大于允许的最大值。
 - 解决方法：减少参数值的长度，然后重试命令。对于 `DISPATCHERS` 参数，请使用侦听器别名来减少值的长度。

## ORA-32031：illegal reference of a query name in WITH clause

- OceanBase错误码：5737
 - SQLSTATE：HY000
 - 错误原因：不允许在 `WITH` 子句对查询名称进行前向或递归引用。
 - 解决方法：更正查询语句，然后重试。

## ORA-32033：unsupported column aliasing

- OceanBase 错误码：5738
 - SQLSTATE：HY000
 - 错误原因：`WITH` 子句不支持列别名。
 - 解决方法：在定义子查询中指定别名并重试。

## ORA-32034：unsupported use of WITH clause

- OceanBase 错误码：5739
 - SQLSTATE：HY000
 - 错误原因：不支持该 `WITH` 子句的用法，原因如下：

     - 不支持在 `WITH` 子句中嵌套 `WITH` 子句。
     - 对于 `set query`，不能为分支指定 `WITH` 子句。
 - 解决方法：修改查询并重试。

## ORA-32038：number of WITH clause column names does not match number of elements in select list

- OceanBase 错误码：5740
 - SQLSTATE：HY000
 - 错误原因：为 `WITH` 子句查询名称指定了列别名或名称列表，但列表中的元素数与定义查询 Select 列表中的元素数不匹配。
 - 解决方法：更新列别名列表或 Select 列表，以确保它们具有相同数量的元素。

## ORA-32039：recursive WITH clause must have column alias list

- OceanBase 错误码：5741
 - SQLSTATE：HY000
 - 错误原因：`WITH` 子句查询引用本身（递归），但没有为它指定列别名列表。
 - 解决方法：为 `WITH` 子句查询名称添加列别名列表。

## ORA-32040：recursive WITH clause must use a UNION ALL operation

- OceanBase 错误码：5742
 - SQLSTATE：HY000
 - 错误原因：`WITH` 子句查询引用自身（递归），但在其定义查询中未使用 `UNION ALL` 操作。
 - 解决方法：重写递归 `WITH` 子句查询以便使用 `UNION ALL` 操作。

## ORA-32041：UNION ALL operation in recursive WITH clause must have only two branches

- OceanBase 错误码：5743
 - SQLSTATE：HY000
 - 错误原因：`WITH` 子句查询引用自身（递归），但使用了具有两个以上分支的 `UNION ALL` 操作，当前不支持该操作。
 - 解决方法：重写递归 `WITH` 子句查询，在 `UNION ALL` 操作中仅使用两个分支。

## ORA-32042：recursive WITH clause must reference itself directly in one of the UNION ALL branches

- OceanBase 错误码：5744
 - SQLSTATE：HY000
 - 错误原因：`WITH` 子句查询间接引用自身（递归），例如通过子查询或视图。
 - 解决方法：重写递归 `WITH` 子句查询，在 `UNION ALL` 的某一个分支的 `FROM` 子句中直接引用自身。

## ORA-32043：recursive WITH clause needs an initialization branch

- OceanBase 错误码：5745
 - SQLSTATE：HY000
 - 错误原因：`WITH` 查询子句递归地引用自身，但在 `UNION ALL` 中只有对自身的引用，缺少了不引用自身的初始化分支。
 - 解决方法：重写递归 `WITH` 字句查询以在 `UNION ALL` 操作中增加不引用自身的初始化分支。

## ORA-32044：cycle detected while executing recursive WITH query

- OceanBase 错误码：5746
 - SQLSTATE：HY000
 - 错误原因：递归 `WITH` 子句查询生成了一个循环，系统停止了该查询以避免无限循环。
 - 解决方法：重写递归 `WITH` 查询以停止递归或使用 `CYCLE` 子句。

## ORA-32045：maximum level of recursion reached while executing recursive WITH query

- OceanBase 错误码：5747
 - SQLSTATE：HY000
 - 错误原因：递归 `WITH` 查询达到指定的最大递归级别并停止。
 - 解决方法：增加递归的最大级别或使用 `CYCLE` 子句。

## ORA-32046：sequence column name for SEARCH clause must not be part of the column alias list

- OceanBase 错误码：5748
 - SQLSTATE：HY000
 - 错误原因：递归 `WITH` 查询的 `SEARCH` 子句指定了 `sequence` 列，但是该 `sequence` 列已经在 `WITH` 子句查询名称的列别名列表中列出。
 - 解决方法：为 `SEARCH` 子句的 `sequence` 列指定一个不同的名称，或从列别名列表中删除该名称。

## ORA-32047：cycle mark value and non-cycle mark value must be one byte character string values

- OceanBase 错误码：5749
 - SQLSTATE：HY000
 - 错误原因：递归 `WITH` 查询的 `CYCLE` 子句中指定的 `cycle mark` 或 `non-cycle mark` 值不是长度为一个字节的字符串值。
 - 解决方法：为递归 `WITH` 查询的 `CYCLE` 子句的 `cycle mark` 或 `non-cycle mark` 值指定长度为一个字节的字符串。

## ORA-32048：cycle mark column name for CYCLE clause must not be part of the column alias list

- OceanBase 错误码：5750
 - SQLSTATE：HY000
 - 错误原因：递归 `WITH` 查询的 `CYCLE` 子句指定了一个 `cycle mark` 列，但是该列在 `WITH` 子句查询名称的列别名列表中已经存在。
 - 解决方法：为 `CYCLE` 子句的 `cycle mark` 列指定一个不同的名称，或从列别名列表中删除该名称。

## ORA-32049：duplicate name found in column alias list for WITH clause

- OceanBase 错误码：5751
 - SQLSTATE：HY000
 - 错误原因：`WITH` 子句元素的列别名列表中的某个名称在列表中出现了多次。
 - 解决方法：从列别名列表中删除重复名称。

## ORA-32480：SEARCH and CYCLE clauses can only be specified for recursive WITH clause elements

- OceanBase 错误码：5752
 - SQLSTATE：HY000
 - 错误原因：为非递归的 `WITH` 子句元素指定了 `SEARCH` 或 `CYCLE` 子句。
 - 解决方法：删除 `SEARCH` 或 `CYCLE` 子句，或向 `WITH` 子句元素添加递归。

## ORA-32481：cycle value for CYCLE clause must be different from the non-cycle value

- OceanBase 错误码：5753
 - SQLSTATE：HY000
 - 错误原因：为递归 `WITH` 查询指定了 `CYCLE` 子句，但 `cycle` 值与非 `cycle` 值或 `DEFAULT` 值相同。
 - 解决方法：更改 `cycle` 值或非 `cycle` 值，以便它们不再匹配。

## ORA-32482：sequence column for SEARCH clause must be different from the cycle mark column for CYCLE clause

- OceanBase 错误码：5754
 - SQLSTATE：HY000
 - 错误原因：为递归 `WITH` 查询指定了 `SEARCH` 子句和 `CYCLE` 子句，但 `SEARCH` 子句的 `sequence` 列与 `CYCLE` 子句的 `cycle mark` 列匹配。
 - 解决方法：更改 `sequence` 列或 `cycle mark` 列，以便它们不再匹配。

## ORA-32483：duplicate name found in sort specification list for SEARCH clause of WITH clause

- OceanBase 错误码：5755
 - SQLSTATE：HY000
 - 错误原因：为递归查询指定了一个 `SEARCH` 子句，但是该递归查询中的 `sort specification` 列表包含重复的名称。
 - 解决方法：删除 `sort specification` 列表中重复的名称。

## ORA-32484：duplicate name found in cycle column list for CYCLE clause of WITH clause

- OceanBase 错误码：5756
 - SQLSTATE：HY000
 - 错误原因：为递归查询指定了 `CYCLE` 子句，但是 `CYCLE` 子句的 `cycle` 列列表中包含重复的名称。
 - 解决方法：删除 `CYCLE` 子句的 `cycle` 列列表中重复的名称。

## ORA-32485：element in cycle column list of CYCLE clause must appear in the column alias list of the WITH clause element

- OceanBase 错误码：5757
 - SQLSTATE：HY000
 - 错误原因：为递归 `WITH` 查询指定的 `CYCLE` 子句的 `cycle` 列列表中的元素未包含在 `WITH` 子句元素的列别名列表中。
 - 解决方法：更改 `cycle` 列列表，仅使用 `WITH` 子句元素的列别名列表中包含的名称。

## ORA-32486：unsupported operation in recursive branch of recursive WITH clause

- OceanBase 错误码：5758
 - SQLSTATE：HY000
 - 错误原因：递归 `WITH` 子句元素中 `UNION ALL` 的递归组件使用了当前不支持的操作。`UNION ALL` 操作的递归分支中不应使用 `GROUP BY`、`DISTINCT`、`MODEL`、分组集、`CONNECY BY`、窗口函数、`HAVING`、聚合函数。
 - 解决方法：重写查询，确保查询中不包含不支持的操作。

## ORA-32487：unsupported join in recursive WITH query

- OceanBase 错误码：5759
 - SQLSTATE：HY000
 - 错误原因：递归 `WITH` 子句元素的递归组件包含不支持的联接操作：

     - 包含一个 `LEFT OUTER` 联接，该联接的右侧为递归查询名称。
     - 包含一个 `RIGHT OUTER` 联接，该联接的左侧为递归查询名称。
     - 包含一个 `FULL OUTER` 联接，该联接涉及递归查询名称。
 - 解决方法：重写查询，确保查询不包含不支持的联接操作。

## ORA-32488：WITH clause element did not have a column alias list

- OceanBase错误码：5760
 - SQLSTATE：HY000
 - 错误原因：`WITH` 子句元素使用 `SEARCH` 子句或 `CYCLE` 子句或两者都使用，但没有为它们的查询名称指定列别名列表。
 - 解决方法：为 `WITH` 子句查询名称添加列别名列表。

## ORA-32489：element in sort specification list of SEARCH clause did not appear in the column alias list of the WITH clause element

- OceanBase 错误码：5761
 - SQLSTATE：HY000
 - 错误原因：递归 `WITH` 查询指定的 `SEARCH` 子句的 `sort specification` 列表中的元素未包含在 `WITH` 子句元素的列别名列表中。
 - 解决方法：更改 `sort specification` 列表，以确保仅使用 `WITH` 子句元素的列别名列表中的名称。

## ORA-32490：recursive query name referenced more than once in recursive branch of recursive WITH clause element

- OceanBase 错误码：5762
 - SQLSTATE：HY000
 - 错误原因：递归 `WITH` 子句元素中 `UNION ALL` 的递归组件多次引用了递归查询名称。在递归 `WITH` 子句元素的递归分支中，只允许引用一次递归查询名称。
 - 解决方法：重写查询，确保递归 `WITH` 子句元素递归分支仅引用一次递归查询名称。

## ORA-32575：Explicit column default is not supported for modifying views

- OceanBase 错误码：5511
 - SQLSTATE：42000
 - 错误原因：使用了 DEFAULT 关键字来修改视图。
 - 解决方法：使用隐式默认值省略列值对。

## ORA-32595：DDL statement cannot be audited with BY SESSION specified

- OceanBase 错误码：4364
 - SQLSTATE：HY000
 - 错误原因：试图审计带有指定 `BY SESSION` 子句的 DDL 语句。 DDL 语句只能通过 `BY ACCESS` 来审计。
 - 解决方法：使用 `BY ACCESS` 来审计 DDL 语句。

## ORA-32792：prebuilt table managed column cannot be an identity column

- OceanBase 错误码：5916
 - SQLSTATE：HY000
 - 错误原因：试图在具有标识列的预建表上创建实例化视图。
 - 解决方法：要么删除 `identity` 属性，要么在实例化视图定义中删除标识列。

## ORA-32793：cannot alter a system-generated sequence

- OceanBase 错误码：5917
 - SQLSTATE：HY000
 - 错误原因：尝试更改系统生成的序列。
 - 解决方法：系统生成的序列（例如为身份列创建的序列）无法更改。

## ORA-32794：cannot drop a system-generated sequence

- OceanBase 错误码：5918
 - SQLSTATE：HY000
 - 错误原因：尝试删除系统生成的序列。
 - 解决方法：不能删除系统生成的序列，例如为标识列创建的序列。

## ORA-32795：cannot insert into a generated always identity column

- OceanBase 错误码：5919
 - SQLSTATE：HY000
 - 错误原因：试图将值插入到使用 `GENERATED ALWAYS` 关键字创建的标识列中。
 - 解决方法：不能直接插入使用 `GENERATED ALWAYS` 关键字生成的标识列。 而是，由关联的序列生成器提供该值。

## ORA-32796：cannot update a generated always identity column

- OceanBase 错误码：5920
 - SQLSTATE：HY000
 - 错误原因：试图更新使用 `GENERATED ALWAYS` 关键字创建的标识列。
 - 解决方法：不能直接更新使用 `GENERATED ALWAYS` 关键字生成的标识列。

## ORA-32797：identity column sequence mismatch in ALTER TABLE EXCHANGE PARTITION

- OceanBase 错误码：5921
 - SQLSTATE：HY000
 - 错误原因：`EXCHANGE` 中指定的两个表的标识列的序列既不增加也不减少。
 - 解决方法：确保带有 `INCREMENT BY` 的标识列有相同符号的序列。

## ORA-32798：cannot rename a system-generated sequence

- OceanBase 错误码：5922
 - SQLSTATE：HY000
 - 错误原因：试图重命名系统生成的序列。
 - 解决方法：系统生成的序列（例如为标识列创建的序列）无法重命名。

## ORA-38101：Invalid column in the INSERT VALUES Clause:'%.*s'.'%.*s'

- OceanBase 错误码：5803
 - SQLSTATE：HY000
 - 错误原因：`INSERT VALUES` 子句引用了无效的表列。

## ORA-38104：Columns referenced in the ON Clause cannot be updated:'%.*s'.'%.*s'

- OceanBase 错误码：38104
 - SQLSTATE：HY000
 - 错误原因：`UPDATE SET` 中的 `LHS` 包含 `ON` 子句中引用的列。

## ORA-38778：Restore point %s already exists

- OceanBase 错误码：6259，6261
 - SQLSTATE：HY000
 - 错误原因：`CREATE RESTORE POINT` 命令的还原点名称已存在。 还原点名称必须唯一。
 - 解决方法：请使用其他名称或删除具有相同名称的现有还原点。

## ORA-38779：cannot create restore point - too many restore points

- OceanBase 错误码：6263
 - SQLSTATE：HY000
 - 错误原因：已经创建了最大数量的还原点。
 - 解决方法：删除一些现有的还原点，然后重试该操作。

## ORA-38780：Restore point %s does not exists

- OceanBase 错误码：6260，6262
 - SQLSTATE：HY000
 - 错误原因：语句中指定的还原点名称不存在。
 - 解决方法：通过查询还原点表查找还原点。

## ORA-38900：miss mandatory column %.*s of error log table

- OceanBase 错误码：5385
 - SQLSTATE：HY000
 - 错误原因：错误日志记录表的必填列不存在。
 - 解决方法：将命名列添加到错误日志记录表中。

## ORA-39956：duplicate setting for PL/SQL compiler parameter %.*s

- OceanBase 错误码：5964
 - SQLSTATE：HY000
 - 错误原因：PL/SQL 编译器参数已设置多次。
 - 解决方法：删除重复的 PL/SQL 编译器设置。

## ORA-39962：invalid parameter for PLSQL_CCFLAGS

- OceanBase 错误码：5940
 - SQLSTATE：HY000
 - 错误原因：`PLSQL_CCFLAGS` 参数的值无效。
 - 解决方法：为 `PLSQL_CCFLAGS` 参数指定一个有效值。

## ORA-40441：JSON syntax error

- OceanBase 错误码：5411
 - SQLSTATE：22032
 - 错误原因：提供的 JavaScript 对象表示法 (JSON) 数据语法无效，无法解析。
 - 解决方式：请检查输入的 JSON 数据，提供具有正确语法的 JSON 数据。

#### 说明

该错误码在 V4.1.0 版本开始进行了修改，错误信息由 `ORA-00600：Invalid JSON text` 调整为 ` ORA-40441：JSON syntax error`。

## ORA-40441：JSON syntax error

- OceanBase 错误码：5412
 - SQLSTATE：22032
 - 错误原因：提供的 JavaScript 对象表示法 (JSON) 数据语法无效，无法解析。
 - 解决方式：请检查输入的 JSON 数据，提供具有正确语法的 JSON 数据。

#### 说明

该错误码在 V4.1.0 版本开始进行了修改，错误信息由 `ORA-00600：Invalid JSON text in argument` 调整为 `ORA-40441：JSON syntax error`。

## ORA-40441：JSON syntax error

- OceanBase 错误码：5447
 - SQLSTATE：42000
 - 错误原因：提供的 JavaScript 对象表示法 (JSON) 数据语法无效，无法解析。
 - 解决方法：提供具有正确语法的 JSON 数据。

## ORA-40441：This version doesn't yet support 'references in JSON Schema.

- OceanBase 错误码：6284
 - SQLSTATE：42000
 - 错误原因：表示当前版本不支持在 JSON 模式中使用引用。
 - 解决方法：修改 JSON 模式的设计，以避免使用引用。

## ORA-40442：JSON path expression syntax error ('INT')

- OceanBase 错误码：5414
 - SQLSTATE：22032
 - 错误原因：提供的 JavaScript 对象表示法 (JSON) 路径表达式语法无效，无法解析。
 - 解决方式：提供具有正确语法的 JSON 路径表达式。

#### 说明

该错误码在 V4.1.0 版本开始进行了修改，错误信息由 `ORA-00600：Invalid JSON path expression ` 调整为 `ORA-40442：JSON path expression syntax error ('INT') `。

## ORA-40442：JSON path expression syntax error ('INT').JSON path expression syntax error ('%s')

- OceanBase 错误码：5442
 - SQLSTATE：42000
 - 错误原因：提供的 JavaScript 对象表示法 (JSON) 路径表达式语法无效，无法解析。
 - 解决方法：提供具有正确语法的 JSON 路径表达式。

## ORA-40444：JSON processing error

- OceanBase 错误码：5514
 - SQLSTATE：42000
 - 错误原因：JSON 处理错误。

## ORA-40449：invalid data type for return value

- OceanBase 错误码：5443
 - SQLSTATE：42000
 - 错误原因：为返回值提供的数据类型无效或不受支持。
 - 解决方法：提供一个支持的返回值。

## ORA-40450：invalid '%s' clause

- OceanBase 错误码：5460
 - SQLSTATE：42000
 - 错误原因："%s" 语句无效。
 - 解决方法：提供正确的 "%s" 语句。

## ORA-40451：invalid default value provided

- OceanBase 错误码：5486
 - SQLSTATE：42000
 - 错误原因：提供的默认值无效。

## ORA-40452：default value not matching type defined in RETURNING clause

- OceanBase 错误码：5474
 - SQLSTATE：42000
 - 错误原因：默认值与 RETURNING 语句中定义的类型不匹配。
 - 解决方法：确保默认值和 RETURNING 子句属于同一类型。

## ORA-40454：path expression not a literal

- OceanBase 错误码：5487
 - SQLSTATE：42000
 - 错误原因：路径表达式不是文字。

## ORA-40455：default value not a literal

- OceanBase 错误码：5446
 - SQLSTATE：42000
 - 错误原因：提供的默认值不是文字（常量）。
 - 解决方法：提供一个恒定的默认值。

## ORA-40456：JSON_VALUE evaluated to non*scalar value

- OceanBase 错误码：5444
 - SQLSTATE：42000
 - 错误原因：提供的 JavaScript 对象表示法 (JSON) 路径表达式选择了一个非标量值。
 - 解决方法： 更正 JSON 路径表达式或使用 JSON_QUERY。

## ORA-40459：output value too large (actual: %d, maximum: %d)

- OceanBase 错误码：5473
 - SQLSTATE：42000
 - 错误原因：提供的 JavaScript 对象表示法 (JSON) 运算符生成的结果超出了 RETURN 子句中指定的最大长度。
 - 解决方法：增加 RETURNING 子句中数据类型的最大最小，或在 RETURNING 子句中使用 CLOB/BLOB。

## ORA-40462：No value was found by '%.192s' on the specified path

- OceanBase 错误码：5432
 - SQLSTATE：22035
 - 错误原因：提供的 JavaScript 对象表示法 (JSON) 路径表达式未选择值。
 - 解决方式：更正 JSON 路径表达式。

#### 说明

该错误码在 V4.1.0 版本开始进行了修改，错误信息由 `ORA-00600：No value was found by '%.192s' on the specified path` 调整为 `ORA-40462：No value was found by '%.192s' on the specified path `。

## ORA-40462：JSON_VALUE evaluated to no value

- OceanBase 错误码：5445
 - SQLSTATE：42000
 - 错误原因：提供的 JavaScript 对象表示法 (JSON) 路径表达式未选择值。
 - 解决方法：更正 JSON 路径表达式。

## ORA-40470：More than one value was found by '%.192s' on the specified path

- OceanBase 错误码：5433
 - SQLSTATE：22034
 - 错误原因：提供的 JavaScript 对象表示法 (JSON) 路径表达式选择了多个值。
 - 解决方式：更正 JSON 路径表达式或使用 JSON_QUERY。

#### 说明

该错误码在 V4.1.0 版本开始进行了修改，错误信息由 ` ORA-00600：More than one value was found by '%.192s' on the specified path` 调整为 ` ORA-40470：More than one value was found by '%.192s' on the specified path`。

## ORA-40473：duplicate key names in JSON object

- OceanBase 错误码：5453
 - SQLSTATE：42000
 - 错误原因：提供的 JavaScript 对象表示法 (JSON) 数据在一个对象中具有重复的键名。
 - 解决方法：在每个 JSON 对象中提供具有唯一键名的 JSON 数据。

## ORA-40476：JSON key too long

- OceanBase 错误码：5422
 - SQLSTATE：22032
 - 错误原因：提供的 JavaScript 对象表示法 (JSON) 数据有一个超过最大长度的键。
 - 解决方式：提供具有较短键名的 JSON 数据。

#### 说明

该错误码在 V4.1.0 版本开始进行了修改，错误信息由 `ORA-00600：The JSON object contains a key name that is too long` 调整为 `ORA-40476：JSON key too long`。

## ORA-40480：result cannot be returned without array wrapper

- OceanBase 错误码：5449
 - SQLSTATE：42000
 - 错误原因：如果没有数组包装，则无法返回结果。

## ORA-40481：ASCII or PRETTY not supported for non*textual return data type

- OceanBase 错误码：5469
 - SQLSTATE：42000
 - 错误原因：尝试为 JavaScript 对象表示法 (JSON) 操作的非文本输出打印或转义非 ASCII 字符。
 - 解决方法：将返回数据类型更改为 VARCHAR2 或 CLOB，或删除 PRETTY 或 ASCII 序列化选项。

## ORA-40484：invalid data type for '%s' column

- OceanBase 错误码：5459
 - SQLSTATE：42000
 - 错误原因："%s" 列的数据类型无效。
 - 解决方法：请输入正确的 "%s" 列信息。

## ORA-40487：invalid usage of keyword EXISTS

- OceanBase 错误码：5480
 - SQLSTATE：42000
 - 错误原因：存在非法使用的关键字，表达式的语法错误。

## ORA-40491：invalid input data type for JSON_TABLE

- OceanBase 错误码：5481
 - SQLSTATE：42000
 - 错误原因：JSON_TABLE 输入的数据类型无效。

## ORA-40560：JSON_TABLE nested path expressions not disjunct

- OceanBase 错误码：5483
 - SQLSTATE：42000
 - 错误原因：JSON_TABLE 同一级下的path路径不能重复。

## ORA-40565：JSON path expression did not select a value

- OceanBase 错误码：5468
 - SQLSTATE：42000
 - 错误原因：JavaScript 对象表示法 (JSON) 路径表达式未选择值。
 - 解决方法：更正 JSON 路径表达式。

## ORA-40566：JSON path expression selected a value of different data type

- OceanBase 错误码：5467
 - SQLSTATE：42000
 - 错误原因：JavaScript 对象表示法 (JSON) 路径表达式选择了与请求的数据类型不同的数据类型值。
 - 解决方法：使用另一个“get*method”来检索由 JSON 路径表达式选择的值。

## ORA-40569：Unimplemented JSON feature

- OceanBase 错误码：5479
 - SQLSTATE：42000
 - 错误原因：尝试执行未实现的 JavaScript 对象表示法 (JSON) 功能。
 - 解决方法：确认表达式存在。

## ORA-40570：JSON conversion failed

- OceanBase 错误码：5476
 - SQLSTATE：42000
 - 错误原因：JSON 转换失败。
 - 解决方法： 检查类型定义或选定的 JSON 值。

## ORA-40571：JSON key name not found.", "JSON key name not found

- OceanBase 错误码：5485
 - SQLSTATE：42000
 - 错误原因：JSON数据中的key不存在。

## ORA-40573：Invalid use of PL/SQL JSON object type

- OceanBase 错误码：5470
 - SQLSTATE：42000
 - 错误原因：尝试在无效上下文中使用 PL/SQL JavaScript 对象表示法 (JSON) 对象类型。
 - 解决方法：仅在 PL/SQL 中使用 PL/SQL JSON 对象类型。

## ORA-40576：Invalid use of bind variable in SQL/JSON path

- OceanBase 错误码：5484
 - SQLSTATE：42000
 - 错误原因：SQL/JSON 路径中绑定变量的使用无效。

## ORA-40587：invalid JSON type

- OceanBase 错误码：5441
 - SQLSTATE：42000
 - 错误原因：无效的 JSON 类型，非法的 JSON 文本。

## ORA-40595：Name input to JSON generation function cannot be null

- OceanBase 错误码：5429
 - SQLSTATE：22032
 - 错误原因：提供给 Javascript 对象表示法 (JSON) 生成函数的名称输入为空。
 - 解决方法：确保输入具有有效值。

## ORA-40597：JSON path expression syntax error ('%.*s')

- OceanBase 错误码：5454
 - SQLSTATE：42000
 - 错误原因：JSON 路径表达式语法错误（“%.*s”）。

## ORA-40600：JSON_EQUAL used outside predicate

- OceanBase 错误码：5448
 - SQLSTATE：42000
 - 错误原因：在谓词外部使用了 JSON_EQUAL。
 - 解决方法：在谓词中使用 JSON_EQUAL，例如将其嵌入 CASE 表达式中。

## ORA-40629：Patch specification is not valid JSON

- OceanBase 错误码：5450
 - SQLSTATE：42000
 - 错误原因：修补程序规范不是有效的 JSON。
 - 解决方法：确保补丁规范以有效的 JSON 表示。

## ORA-40654：Input to JSON generation function has unsupported data type

- OceanBase 错误码：7420
 - SQLSTATE：HY000
 - 错误原因：JSON 生成函数的输入参数具有不受支持的数据类型。
 - 解决方法：请输入正确的数据类型或使用转换函数将输入的参数转换为支持的数据类型。

## ORA-40654：Input to JSON generation function has unsupported data type

- OceanBase 错误码：7431
 - SQLSTATE：HY000
 - 错误原因：JSON 生成函数的输入参数具有不受支持的数据类型。
 - 解决方法：请使用正确的输入或转换函数将输入转换为支持的数据类型。

## ORA-40656：Variable in JSON path expression has no value in PASSING clause

- OceanBase 错误码：5456
 - SQLSTATE：42000
 - 错误原因：JSON 路径表达式中的变量在 PASSING 语句中没有值。
 - 解决方法：将变量添加到外部 PASSING 子句并确保名称匹配。

## ORA-40664：cannot add additional IS jSON check constraint

- OceanBase 错误码：5464
 - SQLSTATE：42000
 - 错误原因：尝试将 IS JSON 检查约束添加到已经具有 IS JSON 检查约束的列。
 - 解决方法：检查 IS JSON 约束的添加。

## ORA-40688：date or time stamp string value does not conform to ISO 8601 format

- OceanBase 错误码：5472
 - SQLSTATE：42000
 - 错误原因：日期或时间戳字符串值不符合 ISO 8601格式。
 - 解决方法：提供符合 ISO 8601 格式的正确日期或时间戳字符串值以进行转换。

## ORA-40750：Patch specification is not valid JSON

- OceanBase 错误码：5452
 - SQLSTATE：42000
 - 错误原因：指定的排序条件包括 LOB 列，例如 CLOB、BLOB 或 JSON。
 - 解决方法：确保排序列数据类型不是大对象，例如 CLOB、BLOB 或 JSON。

## ORA-40779：Truncation is not supported with data type in RETURNING clause

- OceanBase 错误码：5478
 - SQLSTATE：42000
 - 错误原因：RETURNING 语句中的数据类型不支持截断。

## ORA-40783：invalid binary JSON data\nstring

- OceanBase 错误码：5413
 - SQLSTATE：22032
 - 错误原因：提供的二进制 JavaScript 对象表示法 (JSON) 数据无效。
 - 解决方式：提供有效的二进制 JSON 数据。

#### 说明

该错误码在 V4.1.0 版本开始进行了修改，错误信息由 ` ORA-00600：The JSON binary value contains invalid data` 调整为 `ORA-40783：invalid binary JSON data\nstring`。

## ORA-40796：invalid comparison operation involving JSON type value

- OceanBase 错误码：5461
 - SQLSTATE：42000
 - 错误原因：尝试对 JavaScript 对象表示法 (JSON) 类型值进行比较。
 - 解决方法：添加一个 JSON 尾部类型转换函数以将 JSON 类型值与标量值进行比较。使用 JSON_EQUAL 比较两个 JSON 类型值。

## ORA-40799：cannot convert Boolean value to number

- OceanBase 错误码：5475
 - SQLSTATE：42000
 - 错误原因：尝试将由具有 number() 或 numberOnly() 函数的 JavaScript 对象表示法（JSON 路径）表达式选择的布尔值转换为数字。
 - 解决方法：从 JSON 路径表达式中删除 number()/numberOnly() 函数。

## ORA-40833：empty input to JSON operator

- OceanBase 错误码：5463
 - SQLSTATE：42000
 - 错误原因：向需要非空输入的 JSON 运算符提供了空输入（例如空 CLOB）。
 - 解决方法：检查并更正输入。

## ORA-40876：invalid JSON schema document

- OceanBase 错误码：6285
 - SQLSTATE：22032
 - 错误原因：JSON 模式无效。
 - 解决方法：请正确的使用 JSON 模式规范。

## ORA-42399：cannot perform a DML operation on a read-only view

- OceanBase 错误码：5723
 - SQLSTATE：HY000
 - 错误原因：尝试在只读视图中插入、删除或更新行。明确禁止对此类视图执行 DML 操作。
 - 解决方法：对视图的基础表执行所需的 DML 操作，或使用 `ALTER VIEW ... READ WRITE` 命令使视图可操作。

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