在迁移数据或者插入的过程中报记录超长,报错类似如下截图:
先查下数据库页大小
select page();
比对报错的表varchar类型的总长度是否超过页大小的总长度
如页面大小为8k的库,插入4000的长度到字段类型为varchar2时,报记录超长
页面大小为16k的库,插入8000长度的内容到字段类型为varchar2,报记录超长
页面大小为32k的库,插入8159长度的内容到字段类型为varchar2,报字符串截断
我们可以将数据库重新初始化,将页大小设置为32,如
./dminit path=/opt/dmdbms/data page_size=32
输入./dminit help查看帮助。
可以使用以下SQL开启某张表的超长记录
alter table tablename enable using long row;
或者在管理工具界面右击表名-存储选项-启用超长记录
使用方法一是解决全库的思路;方法二是针对不方便初始化数据库,仅针对某张表去解决。
文章
阅读量
获赞