版本: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,代价很大的!)