解决Oracle中字符集导致一个汉字占用3个字节的问题

来源:互联网 发布:华视f6网络机顶盒刷机 编辑:程序博客网 时间:2024/04/30 20:28

解决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;
0 0