在用imp命令加载数据前,先在客户端用sql*plus登录system DBA用户,执行下列SQL语句,把ORACLE数据库字符集修改你的8.1.6库的字符集。 
例:
 SQL > create database  character set US7ASCII
* create database character set US7ASCII
      ERROR at line 1:
ORA-01031: insufficient privileges   你会发现语句执行过程中,出现上述错误提示信息,此时不用理会,实际上ORACLE数据库的字符集已被强行修改为US7ASCII,接着用imp命令装载数据。等数据装载完成以后,shutdown 数据库,再startup 数据库,用合法用户登录ORACLE数据库,在sql>命令提示符下,运行select * from V$NLS_PARAMETERS,可以看到ORACLE8.1.7数据库字符集已复原.

解决方案 »

  1.   

    如果你在unix下使用的字符集是你在win2000下使用的字符集的超集,那么你的操作是可以成功的。
    反之,就会出现问题,有些就无法正常显示。
    不知道你说的“字符集转换问题”的症状是什么?
      

  2.   


    现在两边数据库的NLS——LANG = AMERICAN_AMERICA.ZHS16CGB231280
    而且在props$中查看也基本一致,但我现在出现的错误是:IMP-00069: Could not convert to environment national character set's handle
    IMP-00000: Import terminated unsuccessfully
      

  3.   

    817版本导出的文件在导入816时确实存在问题。最简单的办法是把817的imp.exe文件拷贝到816的目录下,用817的imp.exe作导入即可!