imp 遇到ORA-12899错误,解决方法

浏览: 1509

IMP-00019: row rejected due to ORACLE error 12899

IMP-00003: ORACLE error 12899 encountered

ORA-12899: value too large for column

字符集问题:

源库A为 ZHS16BGK,汉字在数据库存放的时候占用两个字节

目标库B为 UTF8,汉字在数据库里存放的时候占用三个字节

由于字符集不同,导致现在数据库IMP的时候有些表的字段长度不够,出现ORA-12899: value too large for column的错误。

解决方法:

在B数据库上执行:

SQL>SHUTDOWN IMMEDIATE

SQL>STARTUP MOUNT

SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION

SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;

SQL>ALTER DATABASE OPEN

SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK

--设置INTERNAL_USE指令不对字符集超集进行检查:

SQL>SHUTDOWN IMMEDIATE

SQL>STARTUP

推荐 0
本文由 糖美美 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册