如何修改Oracle数据库字符集

 我来答
匿名用户
2017-09-19
展开全部
Databasecharacterset(AL32UTF8)andClientcharacterset(ZHS16GBK)aredifferent.Charactersetconversionmaycauseunexpectedresults.Note:youcansettheclientcharactersetthroughtheNLS_LANGenvironmentvariableortheNLS_LANGregistrykeyinHKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1.SIMPLIFIEDCHINESE_CHINA.ZHS16GBK包含AMERICAN_AMERICA.AL32UTF8.这可是个麻烦事,不是改客户端字符集的问题。要改数据库的字符集。我是自己笔记本上面的oracle11g,所以胆子还是很大的:SQL>conn/assysdbaSQL>shutdownimmediate;SQL>startupmountSQL>ALTERSYSTEMENABLERESTRICTEDSESSION;SQL>ALTERSYSTEMSETJOB_QUEUE_PROCESSES=0;SQL>ALTERSYSTEMSETAQ_TM_PROCESSES=0;SQL>alterdatabaseopen;SQL>ALTERDATABASECHARACTERSETZHS16GBK;ORA-12712:newcharactersetmustbeasupersetofoldcharacterset提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:SQL>ALTERDATABASEcharactersetINTERNAL_USEZHS16GBK;--我们看到这个过程和之前ALTERDATABASECHARACTERSET操作的内部过程是完全相同的,也就是说INTERNAL_USE提供的帮助就是使Oracle数据库绕过了子集与超集的校验.SQL>select*fromv$nls_parameters;SQL>shutdownimmediate;SQL>startupSQL>select*fromv$nls_parameters;以后安装oracle11g的时候记得选择自定义安装,把这个字符集的事情事先弄好。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式