问题:版本:oracle10g环境:windowXP问题起源:oracle默认字符集为AL32UTF8,所有中文都被认为是3个字节一个汉字。解决方案:将AL32UTF8改为ZHS16GBK。遇到的问题:我按照网上的解决方法依次执行以下语句:SQL> conn sys/sys as sysdba;SQL> shutdown immediate;SQL> STARTUP MOUNT;SQL> ALTER SESSION SET SQL_TRACE=TRUE;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 ZHS16GBK;SQL> Shutdown immediate;SQL> startup;但是在执行到改字符集的时候出现错误:ALTER DATABASE CHARACTER SET ZHS16GBK*第 1 行出现错误:ORA-12712: 新字符集必须为旧字符集的超集在这种情况下如何修改字符集为ZHS16GBK?(别告诉我重装ORACLE,代价很大的!)
这么着修改:
有一个配置文件名为dbappscfg.properties,修改该文件即可解决上述问题。这个文件的位置在$ORACLE_HOME\sysman\config目录下,用任何的文本编辑器打开该文件,在这个文件里面,找到这样一项
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
set nls_lang = AMERICAN_AMERICA.ZHS16GBK 如果你对版本:oracle10g环境:windowXP问题起源:oracle默认字符集为AL32UTF8,所有中文都被认为是3个字节一个汉字。解决方案:将AL32UTF8改为ZHS16GBK。遇到的问题:我按照网上的解决方法依次执行以下语句:SQL> conn sys/sys as sysdba;SQL> shutdown immediate;SQL> STARTUP MOUNT;SQL> ALTER SESSION SET SQL_TRACE=TRUE;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 ZHS16GBK;SQL> Shutdown immediate;SQL> startup;但是在执行到改字符集的时候出现错误:ALTER DATABASE CHARACTER SET ZHS16GBK*第 1 行出现错误:ORA-12712: 新字符集必须为旧字符集的超集在这种情况下如何修改字符集为ZHS16GBK?(别告诉我重装ORACLE,代价很大的!)这个问题有好的意见或
建议,请留言
|