-
oracle中文乱码的问题解决
Oracle中文乱码,必然是Oracle字符集和Linux服务器字符集设置不一致造成的。
解决方法总结如下:
首先用SQL> select userenv(‘language’) from dual;
#查看oracle当前的字符集,如果当前字符集不是AMERICAN_AMERICA.ZHS16GBK
修改为AMERICAN_AMERICA.ZHS16GBK,修改方法如下:
查看数据库的字符集
select * from v$nls_parameters;
select * from nls_database_parameters;修改字符集:
SQL> conn /as sysdba
SQL> shutdown immediate;
SQL> startup mount
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL> alter database open;
SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;
ORA-12712: new character set must be a superset of old character set
SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
–我们看到这个过程和之前ALTER DATABASE CHARACTER SET操作的内部过程是完全相同的,也就是说INTERNAL_USE提供的帮助就是使Oracle数据库绕过了子集与超集的校验.
SQL> shutdown immediate;
SQL> startup
SQL> select userenv(‘language’) from dual; # Oracle查看字符集,发现已经修改然后修改oracle用户(或者安装oracle数据库时指定的用户)的~/.bash_profile文件,添加
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_LANG
两行,保存退出,执行source ~/.bash_profile使之立即生效。
重新登录Oracle数据库服务器即可成功插入中文下一篇: 修改MSSQL数据库的数据目录
-
oracle执行脚本命令总结
@命令调用当前目录下的,或指定全路径,...
-
oracle导入数据报错处理
报错1:ORA-01756: quoted string not p...
-
解决 ADVM/ACFS is not suppo...
从Oracle11.2开始,ASM不仅是一个磁盘组...
-
oracle RAC listener服务启动...
不知道怎么回事grid安装了之后其中一个...
-
mysql中文乱码问题
以前写过一篇有关如何处理mysql中文乱码...
-
oracle&listen&web...
一、 oracle自动启动与停止 1、 修改Ora...
相关推荐
您好!请登录
已有0评论