Oracle8i的默认字符集是American.ZHS16GBK,而Oracle11g的默认字符集是SIMPLIFIED CHINESE_CHINA.AL32UTF8,字符集是不一致的,中文在UTF-8里占3个字节,ZHS16GBK里占2个字节,而Exp命令导出的源dmp文件字符集是ZHS16GBK的,现在要导入到目标字符集为UFT-8的库里。
要想成功导入必须修改Oracle11g的字符集. 命令如下:
进入sqlplus
SQL>conn / as sysdba
SQL>SHUTDOWN IMMEDIATE
SQL>STARTUP MOUNT
SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL>ALTER DATABASE OPEN;
--根据情况选择执行下三条语句
SQL>ALTER DATABASE NATIONAL CHARACTER SET AL16UTF16;
SQL>ALTER DATABASE CHARACTER SET ZHS16GBK;
SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;
SQL>SHUTDOWN IMMEDIATE
SQL>STARTUP
在64位服务器上安装运行PL/SQL Developer的方法参见