ORA-12899: value too large for column
原因:中文在UTF-8里占3个字节,ZHS16GBK里占2个字节,而源dmp文件字符集是ZHS16GBK的库导出来的,现在要导入到目标字符集为UFT-8的库里。
解决:需要将目标数据库的字符集改为ZHS16GBK。
sqlplus /nolog
conn /as sysdba
###NLS_CHARACTERSET=AL32UTF8,现需要将该值改为ZHS16GBK。
shutdown immediate;startup restrict;
alter session set sql_trace=true;
alter system enable restricted session;
alter system set job_queue_processes=0;
alter system set aq_tm_processes=0;
alter database open; //实际已打开alter database character set zhs16gbk;//此操作有可能为限制ORA-12712: new character set must be a superset of old character set
alter database character set internal_use zhs16gbk;//此操作可以跳过超集的检查
shutdown immediate;
startup;