Informix修改表名报错32513

由于表的区段数量达到上限,需要重建一个业务表,rename表时报错。

rename table abcd_abcdefghilog to abcd_abcdefghilogbak;
32513: Cannot rename a table or column.
   131: ISAM error: no free disk space

检查表所在的数据库空间有足够可用空间。
分析: 在数据库空间足够的情况下,而且重命名表也不需要额外的空间。不过考虑到表区段数已经达到上限,那么可能的原因应该是:只有表名的长度比原来的长(多了3个字节bak),可能导致partition页中无足够的空间。如下图所示:slot 2是表信息,如果修改表名时超过原来的长度,而又没有预留的空字节,那么就需要扩大空间,而当前由于区段已经达到上限,无法扩大这个空间(每次扩展8字节,与每区段的扩展的8字节大小相同),于是报错。
减少重命名表的目标名称的字节长度跟原来的相同,rename表成功。
请输入图片描述

标签: none

添加新评论

Free Web Hosting