數據修改字符集

修改字符集步驟如下:
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)

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