冯东的博客

每天学一点,不断进取
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

修改Oracle数据库的字符集

Posted on 2008-09-19 14:48  冯东  阅读(3087)  评论(2编辑  收藏  举报
Oracle10G可以采用下面的方法
connect system as sysdba ;
shutdown immediate ;
startup mount ;
alter system enable restricted session ; 
alter system set JOB_QUEUE_PROCESSES=0
alter system set AQ_TM_PROCESSES=0
alter database open ; 
alter database character set internal_use ZHS16GBK ; 
shutdown immediate ;
startup ;

老版本可以参考

STARTUP MOUNT; 
ALTER SYSTEM ENABLE RESTRICTED SESSION; 
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0
ALTER SYSTEM SET AQ_TM_PROCESSES=0
ALTER DATABASE OPEN
ALTER DATABASE CHARACTER SET ZHS16GBK; 
ALTER DATABASE national CHARACTER SET ZHS16GBK; 
SHUTDOWN IMMEDIATE; 
STARTUP; 



之所以改字符集是因为我昨天装了Cognos但是服务死活起不来,在网上查了一下,说是Oracle字符集的事,用UTF-8就没问题,改成UTF8了还是报错,发现一个能够起来的服务是用AL32UTF8这个字符集就能起来,我把本地的oracle字符集又改成了AL32UTF8可是还是起不来,后来同事说通过修改字符集不行,必须是创建数据库的时候就指定字符集!晕死。

注:Al32UTF8 支持更高版本的Unicode(3.1) 而且, AL32UTF8只支持9i以及更高版本的数据库,UTF8既可以作为数据库字符集,也可以作为国家字符集(9i),AL32UTF8只能作为数据库字符集