我安装的是ORACLE 8。0。5的英文版。
我想将ORACLE 的字符集修改成中文。
我用UPDATE PROPS$ SET VALUE$='ZHS16GBK' WHERE NAME='NLS_CHARACTERSET'后提交的。
但是修改字符集后数据库不能启动了。请问这是为什么?
我想将ORACLE 的字符集修改成中文。
我用UPDATE PROPS$ SET VALUE$='ZHS16GBK' WHERE NAME='NLS_CHARACTERSET'后提交的。
但是修改字符集后数据库不能启动了。请问这是为什么?
方法一:
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导出数据,删除并重新创建数据库,然后导入数据的方法修改字符集。
首先执行:update props$ set value$ = 'ZHS16GBK' where name ='NLS_CHARACTERSET';(commit)然后,重新启动数据库;
这样是不推荐的!
数据库之所以打不开,极有可能是这样修改造成的,即使存在这样的字符集。http://expert.csdn.net/Expert/topic/2344/2344180.xml?temp=.4584009可以用alter database的方法