解决Oracle中字符集导致一个汉字占用3个字节的问题
新安装Oracle数据库时引起的问题
由于在安装Oracle数据库时选择安装的字符集一般为默认字符集,
可能不同计算机安装后,测试汉字占用字节数有的为3个字节,有的为2个字节,
由于这个原因,表名长度和字段名长度也会受到影响,
明显变化就是原来可创建的表名或字段名不能创建了,说超过长度限制了。
解决的方法就是把数据库的字符集改一下,如汉字占用字节数由2个字节变为3个字节等。
解决步骤为:
运行下语句,然后在Sys用户中表props$查看字符集“AL32UTF8”已改为“ZHS16GBK”
sqlplus /nolog
SQL>connection sys@tns/password as sysdba;
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 ZHS16GBK;
SQL>ALTER DATABASE national CHARACTER SET INTERNAL ZHS16GBK;
SQL>SHUTDOWN IMMEDIATE;