Oracle数据迁移:从存储了中文的但字符集为WE8ISO8859P1数据库导入数据到字符集为ZHS16GBK的数据库 - Render

时间:2024-02-15 21:08:53

Oracle数据迁移:从存储了中文的但字符集为WE8ISO8859P1数据库导入数据到字符集为ZHS16GBK的数据库

下称字符集为WE8ISO8859P1为源库,字符集为ZHS16GBK的数据库为目标库。
1.设置客户端字符集为WE8ISO8859p1(通过设置注册表的HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\NLS_LANG为AMERICAN_AMERICA.ZHS16GBK来设置),然后导出源库至dmp文件

2.用有DBA权限的用户登录为normal强行修改目标库的实例字符集为WE8ISO8859P1:
create database character set WE8ISO8859P1
有出错信息(权限不足)不理

3.imp源库导出文件

4.重启目标库,并改回客户端字符集为ZHS16GBK,应用正常


主要原理是WE8ISO8859P1与ZHS16GBK的汉字编码一样,所以不需要转换就导入