数据修改字符集

修改字符集步骤如下:
1.修改字段长度。脚本如下:
select 'alter table '||table_name||' modify '||'('||COLUMN_NAME||' '||data_type||'('||round(DATA_LENGTH*1.5)||'));'
from user_tab_columns where data_type like '%CHAR%';
 
2.导出用户
Expdp TEST/TEST directory=DATA_PUMP_DIR schemas=(TEST) dumpfile=TEST.dmp logfile=TEST.log
 
3.删除数据库
 
4.重装数据库,使用utf-8字符集
 
5.导入TEST用户
impdp TEST/TESTdirectory=DATA_PUMP_DIR  dumpfile=TEST.dmp LOGFILE=TEST.LOG  schemas=TEST;
 
注:
1.修改字段长度是因为,ZHS16GBK字符集每个汉字以2个字符存放,而AL32UTF8字符集每个汉字是以3个字符存放,如果长度不修改,会报错如下错误:
ORA-12899: value too large for column JWMC (actual: 33, maximum: 30)

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