Linux 下修改oracle 的字符集.doc_第1页
Linux 下修改oracle 的字符集.doc_第2页
Linux 下修改oracle 的字符集.doc_第3页
Linux 下修改oracle 的字符集.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux 下修改oracle 的字符集:WE8ISO8859P1 修改为 ZHS16GBK 2011-04-08 11:04277人阅读评论(0)收藏举报问题描述:同事在Linux下安装的oracle,默认的字符集没有修改,使用的是WE8ISO8859P1,不能够支持中文,问题表现为,客户端录入的中文数据可以显示,提交之后再查询出来后中文会显示为?。问题出在oracle服务端的字符集不支持中文导致。可以通过:select userenv(language) from dual; 命令可以查看服务端的使用的字符集。或者select * from V$NLS_PARAMETERS;命令也可以以及 select * from SYS.PROPS$;确定了问题后就Google了一下,网上倒是有很多这方面的资料。可能是自己的环境和他们的不一致的原因,按照网上的那些步骤我的问题没有解决。问题根源找到了就好解决了,参考着网上的资料自己的解决步骤如下:总的来说有两个思路:1、重新安装2、修改字符集注:第一个方法没有用,觉得重装不是我喜欢的道道,解决问题是根本。所以我选择的是第二种方式。网上很多人说,oracle服务端安装好了之后字符集是不可以更改的,实践证明是可以修改的,至少oracle8以上的版本都是可以修改的。我的解决步骤:1、ssh登录,切换到oracle用户切换用户命令:su -oracle之后用sqlplus登录oracle,命令::sqlplus /nolog:connect /as sysdba这样就登录了。2、更改字符集首先 sqlplus登录后,关闭oracle数据库1.shutdown immediate ; 2.startup mount ; 3.alter system enable restricted session ; 4.alter system set JOB_QUEUE_PROCESSES=0; 5.alter system set AQ_TM_PROCESSES=0; 6.alter database open ; 7. alter database character set INTERNAL_USE ZHS16GBK; 8.shutdown immediate ; 9.startup ; 注:一开始我按照上面的步骤没有解决,因为在第7步的时候有的资料提示使用alter database character set ZHS16GBK;我试过,这个命令不行,我使用的是alter database character set INTERNAL_USE ZHS16GBK; 提示修改成功。同样,如果在startup mount 下命令提示error的话,可以尝试在startup restrict下运行第七步的命令。以下是我的调试命令记录,大家可以参考一下,那些提示错误的命令都是执行失败的,可以不必管。SQL conn /as sysdbaConnected.SQL shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL startup mountORACLE instance started.Total System Global Area 285212672 bytesFixed Size 1218992 bytesVariable Size 104859216 bytesDatabase Buffers 176160768 bytesRedo Buffers 2973696 bytesDatabase mounted.SQL alter system enable restricted session;System altered.SQL alter system set job_queue_processes=0;System altered.SQL alter system set aq_tm_processes=0;System altered.SQL alter database open;Database altered.-这是按照网上的步骤执行,但是命令都执行失败,所以这些命令对我的环境来说是不行的SQL alter database character set ZHS16GBK;alter database character set ZHS16GBK*ERROR at line 1:ORA-12712: new character set must be a superset of old character set-我也尝试了换用其它的字符集,也是不行,同样报错SQL alter database character set AL32UTF8;alter database character set AL32UTF8*ERROR at line 1:ORA-12712: new character set must be a superset of old character set-至此网上的步骤调试失败,所以我继续查资料,又进行了如下的调试SQL shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL startup restrictORACLE instance started.Total System Global Area 285212672 bytesFixed Size 1218992 bytesVariable Size 113247824 bytesDatabase Buffers 167772160 bytesRedo Buffers 2973696 bytesDatabase mounted.Database opened.-一开始我是用的是如下的命令,结果失败SQL alter database character set simplified chinese_china.zhs16gbk;alter database character set simplified chinese_china.zhs16gbk*ERROR at line 1:ORA-00933: SQL command not properly ended-我尝试了两次,改成大写也不行,SQL alter database character set simplified CHINESE_CHINA.ZHS16GBK;alter database character set simplified CHINESE_CHINA.ZHS16GBK*ERROR at line 1:ORA-00933: SQL command not properly ended-最后,我使用了这命令,提示执行成功,之后通过测试中文乱码问题解决SQL alter database character set INTERNAL_USE ZHS16GBK;Database altered.SQL shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL startupORACLE instance started.Total System Global Ar

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论