dmp文件字符集与当前oracle server端字符集不同,导入失败。处理方式如下:
一.修改dmp文件字符集与Oracle Server字符集相同
1.查看当前Oracle server端字符集
select userenv('language') from dual;
select * from nls_database_parameters;
2.查看字符集对应的16进制编码
select to_char(nls_charset_id('ZHS16GBK'), 'xxxx') from dual;
结果为:03 54
select nls_charset_name(to_number('0354','xxxx')) from dual; 验证0354对应的字符集
3.修改dmp文件字符集
使用ultraedit打开dmp文件,将第一行的第2,3字节修改为上述查询出的结果:03 54
4.修改客户端session字符集
UNIX:
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
Windows:
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
二.还有一种方式
新创建一个与dmp文件字符集相同的实例,将dmp导入,再修改该实例的字符集使之与目标库相同,之后重新导出一个dmp文件,使用该新的dmp文件导入目标库也可完成。[@more@]