运维 —— imp/exp字符集

EXP导出与字符集:导出客户端的字符集的设置会影响导出数据,所以应该设置导出客户端字符集和数据库相一致。

exp/imp是client端操作,它的操作里有个非常重要的地方就是设置client端字符集(NLS_LANG)。

NLS_LANG = <Language>_<Territory>.<Clients Characterset>

– Language参数指定Oracle消息使用的语言,日期中月份和日的显示;

– Territory参数指定货币和数字格式,地区和计算星期及日期的习惯;

– Clients Characterset控制客户端应用程序使用的字符集,这个字符集用于对数据库传输过来的数据进行解码。

1、imp或exp导入出数据时要确保客户端的字符集与服务器端字符集保持一致

2、查看服务端字符集

登录数据库后:

select userenv(‘language’) from dual;
select * from nls_database_parameters where parameter=NLS_CHARACTERSET
select * from v$nls_parameters where parameter=NLS_CHARACTERSET;

3、查看客户端字符集

客户端字符集:与数据库连接的各种应用,例如sqlplus、exp/imp等,输入输出过程中会话的字符集。

windows:

set nls_lang

linux:

echo $NLS_LANG

4、修改客户端字符集

windows:

set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

或者修改注册表:Regedit.exe –>HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE-HOME

linux:

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
经验分享 程序员 微信小程序 职场和发展