我安装的是ORACLE 8。0。5的英文版。
我想将ORACLE 的字符集修改成中文。
我用UPDATE PROPS$ SET VALUE$='ZHS16GBK' WHERE NAME='NLS_CHARACTERSET'后提交的。
但是修改字符集后数据库不能启动了。请问这是为什么?

解决方案 »

  1.   

    修改注册表即可:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0]"NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"//语言
      

  2.   

    查看和修改Oracle服务器端字符集:
    方法一:
    1)  修改服务器端字符集:
    首先执行:update props$ set value$ = 'ZHS16GBK' where name ='NLS_CHARACTERSET';(commit)然后,重新启动数据库;
    3)用客户端工具(PL/SQL DEVELOP or PB etc.)查询数据库,若显示乱码,先查询出数据库端的字符集,然后,从注册表中修改NLS_LANG字段的值,可能为AMERICAN_AMERICA.WE8ISO8859P1或者SIMPLIFIED CHINESE_CHINA.ZHS16GBK或者NA等。
    方法二:
    alter system enable restricted session;
    alter database ORCL character set ZHS16GBK;
    alter database ORCL national character set ZHS16GBK;(注:orcl为数据库的SID)
    然后重新启动数据库。以上方法虽然能够改变数据库的字符集,但是好像并不为Oracle公司认可,出了问题也不会得到Oracle公司的技术支持,Oracle公司建议是用exp导出数据,删除并重新创建数据库,然后导入数据的方法修改字符集。
      

  3.   

    你的数据库之所以打不开,是因为你在更改字符集的时候,有可能输入了一个并不存在的字符集,具体可以参考:http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=168498
      

  4.   

    修改服务器端字符集:
    首先执行:update props$ set value$ = 'ZHS16GBK' where name ='NLS_CHARACTERSET';(commit)然后,重新启动数据库;
    这样是不推荐的!
    数据库之所以打不开,极有可能是这样修改造成的,即使存在这样的字符集。http://expert.csdn.net/Expert/topic/2344/2344180.xml?temp=.4584009可以用alter database的方法
      

  5.   

    这样修改很危险,很容易DOWN机
      

  6.   

    英文版oracle安装后默认是不安装中文字符集的,而中文版安装默认安装有英文字符集在中文与英文间能转换。你的安装可能只有英文字符集.