日期:2014-05-16  浏览次数:20657 次

linux环境下Oracle乱码问题

oracle问题???
? 今天将数据导入另外一台LinuxRedHat5.5服务器上的Oracle(Oracle10)时出现乱码,后来用sqlplus往数据库中插入数据还是乱码。从网上搜集了一些资料。整理了一下发布出来,解决该问题分以下几步:?
?? 1、查看数据库服务字符集?
???? 服务器端字符集,Sql代码?
??? select? *? from? nls_database_parameters??
????
???? 客户端字符集,Sql代码?
??? select? *? from? nls_instance_parameters??

?? 本机查出来的字符集编码是UTF-8,而原始数据库是ZHS16GBK?

?? 2、修改字符集?
?? 修改 oracle10g 字符集,在pl/sql下,Sql代码?
??? connect? system? as? sysdba ;????
??? 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? ;?????
??? alter?? database?? character?? set? internal_use ZHS16GBK ;?????
??? shutdown immediate ;????
??? startup ;????

?? 3、修改全局配置文件/etc/profile?
??? vi /etc/profile?
??? export NLS_LANG=American_America.ZHS16GBK?
??? source /etc/profile?

??? 解决问题...?

MySQL问题:?
1、Error No. 1130 Host 'x.x.x.x' is not allowed to connect to this MySQL server?
原因:?
????? 这是由于mysql服务端root用户所对应的客户端权限设置问题。默认所对应的客户端地址只有localhost(也就是服务端的机器),所以要增加相应的地址。此处,我们增加任何地址都可以访问mysql服务端的root用户。?

解决办法:?
????? # mysql?
????? mysql> grant all privileges on *.* to 'root'@'%' identified by '123456';?
????? mysql> flush privileges;?
????? mysql> exit?