ALTER DATABASE SET INTERNAL_USE SIMPLIFIED CHINESE_CHINA.ZHS16GBK
修改后,重启,又不行了。
求教。

解决方案 »

  1.   

    指定范围 SCOPE = SPFILE
      

  2.   

    ALTER DATABASE SET INTERNAL_USE SIMPLIFIED CHINESE_CHINA.ZHS16GBK scope=both
      

  3.   

    ALTER DATABASE SET INTERNAL_USE SIMPLIFIED CHINESE_CHINA.ZHS16GBK scope=memory  本次使用ALTER DATABASE SET INTERNAL_USE SIMPLIFIED CHINESE_CHINA.ZHS16GBK scope=spfile  保存进参数文件,下次启动后使用ALTER DATABASE SET INTERNAL_USE SIMPLIFIED CHINESE_CHINA.ZHS16GBK scope=both  综合以上两者
      

  4.   

    --要解决这个问题有两种方法--一个是,利用INTERNAL_USE 关键字修改区域设置,--还有一个是利用re-create,但是re-create有点复杂,所以请用internal_use,SQL>SHUTDOWN IMMEDIATE;SQL>STARTUP MOUNT EXCLUSIVE;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 internal_use utf8;SQL>alter database character set internal_use zhs16gbk;SQL>SHUTDOWN immediate;SQL>startup;--如果按上面的做法做,National charset的区域设置就没有问题--2、修改dmp文件字符集--上文说过,dmp文件的第2第3字节记录了字符集信息,因此直接修改dmp文件的第2第3字节的内容就可以‘--骗’过oracle的检查。
    --这样做理论上也仅是从子集到超集可以修改,但很多情况下在没有子集和超集关系的情况下也可以修改,我---们常用的一些字符集,
    --如US7ASCII,WE8ISO8859P1,ZHS16CGB231280,ZHS16GBK基本都可以改。因为改的只是dmp文件,所以影响----不--大。--具体的修改方法比较多,最简单的就是直接用UltraEdit修改dmp文件的第2和第3个字节。--比如想将dmp文件的字符集改为ZHS16GBK,可以用以下SQL查出该种字符集对应的16进制代码:   
    SQL> select to_char(nls_charset_id('ZHS16GBK'), 'xxxx') from dual;0354--然后将dmp文件的2、3字节修改为0354即可。--如果dmp文件很大,用ue无法打开,就需要用程序的方法了
      

  5.   

    http://blog.sina.com.cn/s/blog_4cb222720100pvmk.html参考这个!!你会学到知识!