ORA-12899: value too large for column
原因:中文在UTF-8裏佔3個字節,ZHS16GBK裏佔2個字節,而源dmp文件字符集是ZHS16GBK的庫導出來的,現在要導入到目標字符集爲UFT-8的庫裏。
解決:需要將目標數據庫的字符集改爲ZHS16GBK。
sqlplus /nolog
conn /as sysdba
select * from nls_database_parameters; //查看字符集
###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;