如题,在安装oralce11g时忘记调选指定的字符集,系统默认选择的GBK,但是我需要用UTF8,怎么修改,现在数据库已经安装完并已经在使用中了,无法在从新安装一遍数据库,所以想请问各位大拿,具体应该怎么修改,dos命令操作就不用说了,由于字符集编码不一致,在dos界面进入oracle11g时sql界面是乱码,所以想问问还有其他办法不,10g可以通过Database Configurction Assistant中配置数据库选件来修改,但是11g的Database Configurction Assistant中配置数据库选件中没相应的修改字符集的操作,求大拿指点。

解决方案 »

  1.   

    Oracle Server端字符集查询
    SQL> select userenv('language') from dual;
    USERENV('LANGUAGE')
    ----------------------------------------------------
    AMERICAN_AMERICA.ZHS16GBK 
    由此可以看出字符集为ZHS16GBKServer端字符集修改
    将数据库启动到RESTRICTED模式下做字符集更改:
    $ sqlplus "/as sysdba"
    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 character set INTERNAL_USE UTF8;
    SQL> shutdown immediate;
    SQL> startup;
    SQL> exit;
    我这是在oracle12里的改法,11g应该一样吧