oracle12c - 当我运行特定查询时,我得到 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我会继续努力
解决方案
我是如何解决这个问题的:
当我恢复和查看我最后的更改时,我正在为添加索引进行更改,并且每次我尝试再次运行查询以确保它正常工作。
因此,当我到达特定更改时,我注意到索引的名称太长,所以即使索引创建成功,但select 的解释计划 失败而不是 select it self。
解决方案:
我将索引重命名为更短(最大 30)它有效
在 oracle 11g 或 12c 中更改表/列/索引名称大小
推荐阅读
- html - 谷歌自定义html标签
- leaflet - 如何使用 Leaflet open street map in angular 将地图中心位置更改为顶部位置
- reactjs - 将数据从 MongoDB 加载到 React 状态
- vb.net - 如何减少 if-else 语句的数量(例如避免硬编码值)?
- go - BeforeSave 不填充数据
- php - 将购物车项目保存到数据库中
- powershell - Powershell 过滤项目中项目的内在索引(例如使用 Where-Object)
- oracle - 如何使用散列分区将非分区表修改为分区表
- node.js - 错误:使用不是 Sequelize.Model 子类的东西调用 Sequelize Assosication
- sql-server - 事务多次使用一张表,不同的锁