首页 > 解决方案 > 当我运行特定查询时,我得到 ORA-00604: 递归 SQL 级别 1 发生错误 ORA-12899: value too large for column"PLAN_TABLE"."OBJECT_NAME"

问题描述

当我运行特定查询时,我正在使用Oracle 12.1 c(出于安全原因,我无法显示,因为它不相关);我得到异常

ORA-00604: error occurred at recursive SQL 
level 1 ORA-12899: value too large for column "SOME_SCHEMA"."PLAN_TABLE"."OBJECT_NAME"  
(actual: 38, maximum: 30)

我不能让它工作,我会尝试恢复我所做的最后一次更改,因为它之前工作过。

顺便说一句,我在做解释和做索引优化

知道为什么! PS我会继续努力

标签: oracle12cdatabase-indexes

解决方案


我是如何解决这个问题的:

当我恢复和查看我最后的更改时,我正在为添加索引进行更改,并且每次我尝试再次运行查询以确保它正常工作。

因此,当我到达特定更改时,我注意到索引的名称太长,所以即使索引创建成功,但select 的解释计划 失败而不是 select it self。

解决方案:

我将索引重命名为更短(最大 30)它有效

在 oracle 11g 或 12c 中更改表/列/索引名称大小

为什么 Oracle 表/列/索引名称限制为 30 个字符?

使用 EXPLAIN PLAN Oracle 网站文档

在这里查看摘要


推荐阅读