>데이터 베이스 >MySQL 튜토리얼 >Linux系统Oracle数据库乱码问题的解决方法

Linux系统Oracle数据库乱码问题的解决方法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-07 17:06:591173검색

1.修改远程linux机器的配置 在vim /etc/sysconfig/i18n文件里的配置如下:LANG=zh_CN.GBK SUPPORTED=zh_CN.UTF-8:zh_CN:zh:zh

1.修改远程linux机器的配置

在vim /etc/sysconfig/i18n文件里的配置如下:
LANG="zh_CN.GBK"

SUPPORTED="zh_CN.UTF-8:zh_CN:zh:zh_CN.GBK"
SYSFONT="latarcyrheb-sun16"

2.修改稿Oracle的环境变量:用oracle用户进入系统。在.bash_profile文件最后加上以下内容
NLS_LANG="SIMPLIFIED Chinese"_CHINA.ZHS16GBK

export NLS_LANG


3.重启数据库服务器,启动数据库监听,启动数据库
4.用sys用户登录数据库,执行以下语句:
update props$ set value$='ZHS16GBK' where
重启数据库监听。
到这儿,,数据库数据已能正常显示,但以前的数据还是乱码,需要重新导入。数据库会出现另一个问题 ora-06552.

5.以下是ora-06552的解决方法:
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;
 
 
COL VALUE NEW_VALUE CHARSET
SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';
COL VALUE NEW_VALUE NCHARSET
SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_NCHAR_CHARACTERSET';
 
--INTERNAL_USE是没有写在文档中的参数,用以强制完成字符集一致化
ALTER DATABASE CHARACTER SET INTERNAL_USE &CHARSET;
ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET;
 
 
SHUTDOWN IMMEDIATE;
STARTUP;
-- 再次启动数据库一遍
SHUTDOWN IMMEDIATE;
STARTUP;
按照上面的步骤,一步一步来,一步不要少,完成以后就ok了

linux

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.