修改oracle數據庫字符集

 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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章