文档解释
ORA-10662: Segment has long columns
Cause: Shrink was issued on a segment with long columns. This is not supported.
Action: None
ORA-10662:分段具有较长的列
官方解释
ORA-10662表示尝试创建的表中的某个列的大小超出了Oracle的最大列大小,该最大列大小的最大值等于分段大小(可以从_segments_大小设置获取)减去一些Oracle在表上占据的字节数(减去每行表头的大小)。
常见案例
ORA-10662错误的常见情形是在Oracle表中创建了某个字段,其长度超过了_segment_大小参数设置中定义的最大长度,而该列实际存储的数据大小可能只是几乎不占用任何字节数。
正常处理方法及步骤
1、可以从数据库中检查当前_segment_大小设置的最大长度;
2、删除超过该限制的列;
3、重新创建表,检查列的数量是否符合该大小;
4、如果该列是必需的,可以变更表的_segment_大小参数,以满足所需的列长度。