EXP/IMP迁移数据库的时候注释乱码解决方法


使用 imp/exp 导入/导出 把8I迁移到10G数据时发现导入的数据注释全部都是乱码.

原因是导出的时候客户端字符集没有设置,或者设置不对。修改成DB的就OK了

查了一下字符集(select userenv('language') from dual;)

导出库的字符集是 SIMPLIFIED CHINESE_CHINA.ZHS16GBK

导入库的字符集是  AMERICAN_AMERICA.ZHS16GBK

导入客户端的字符集是 AMERICAN_AMERICA.ZHS16GBK

-----------------------

后导出端的NLS_LANG,发现没有这个变量,我是用Oracle用户导出的.所以没有设置.没有 NLS_LANG

修改.bash_profile 加上 NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

source .bash_profile

重新导出.

再修改导入的客户端为NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

导入的数据表的注释正常

通过expdp&impdp把11g的数据迁移到10g平台的要点

Oracle Data Pump使用范例及部分注意事项(expdp/impdp)

Oracle datapump expdp/impdp 导入导出数据库时hang住

expdp/impdp做Oracle 10g 到11g的数据迁移

相关内容