linux下安装ORACLE设置的字符集是AL32UTF8,我原来数据库的字符集是ZHS16GBK。
出现问题:
1、无法从AL32UTF8字符集改为ZHS16GBK。
2、原来数据库的数据部分无法导入的LINUX数据库中,因为中文在ZHS16GBK占2个字节,在AL32UTF8占3个字节,会导致数据插入失败。想要的结果:
1、能否从AL32UTF8字符集改为ZHS16GBK。
2、ORACLE安装的时候如何设置字符集。

解决方案 »

  1.   

    你安装时就应该考虑到这个问题, 
    先查原数据库字符集,然后安装时选择同样的字符集.已安装的怎么改我不知道,没改过,上网查查吧,省事的话直接重新安装吧
    DBCA图形界面在内存配置那界面里的第三个界面中就有.
      

  2.   

    1、无法从AL32UTF8字符集改为ZHS16GBK。------------这个是可以修改的。。
      

  3.   

    1、正常情况下如果新字符集是旧字符集的超级,修改可用:
    alter database character set 新字符集
    2、如果数据库没有数据,可强制修改(但强烈不推荐)
    update props$ set value$=新字符集 where name='NLS_CHARACTERSET';
    3、最好重新创建数据库并定制数据数据库字符集就行了。
    或者重新安装时选择不创建数据库,然后再创建数据库定制选择字符集。 
      

  4.   

    通过下面的步骤可以更改Oracle的字符集,是以UTF8为例的,楼主可以自己按需要来:
    SHUTDOWN IMMEDIATE; 
    STARTUP MOUNT EXCLUSIVE; 
    ALTER SYSTEM ENABLE RESTRICTED SESSION;
    ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
    ALTER SYSTEM SET AQ_TM_PROCESSES=0;
    ALTER DATABASE OPEN;
    ALTER DATABASE CHARACTER SET INTERNAL_USE UTF8;
    ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8;
    SHUTDOWN immediate;
    startup;
      

  5.   

    AL32UTF8是ZHS16GBK的超级不可以改的啊