服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > 数据库技术 > Oracle技术 > Oracle开发 > 查看文档

linux上安装oracle汉字乱码问题的解决方法

【赛迪网-it技术报道】一. 安装jdk

在/tmp下建立一个临时的文件夹

[root@lsjlinux root]# cd /tmp

[root@lsjlinux root]# mkdir javacn

[root@lsjlinux tmp]# cd javacn

  

从sun网站上下载j2sdk-1_4_2_02-linux-i586.bin并保存到/tmp/javacn

  

给文件加上可执行的权限

[root@lsjlinux javacn]# chmod 755 j2sdk-1_4_2_02-linux-i586.bin

  

执行文件安装jdk

[root@lsjlinux javacn]# ./j2sdk-1_4_2_02-linux-i586.bin

......(一大堆的license的信息)

询问是否同意,当然选yes

.........

  

安装完后删除安装文件

[root@lsjlinux javacn]# rm -rf *.bin

  

感觉起来这个安装就是解压一下而已,解压出来的结果就是j2sdk1.4.2_02这个文件夹。

  

这个文件夹不能放在/tmp里面,要不哪天一不小心删除了怎么办,搬家并改名!

[root@lsjlinux javacn]# mv j2sdk1.4.2_02 /usr/j2sdk

  

现在jdk还不能算安装完成了,还要设置一下环境变量:

  

[root@lsjlinux usr]# cd /etc

[root@lsjlinux etc]# vi profile

在export path前加入下面一段

java_home=/usr/j2sdk

export java_home

  

jre=$java_home/jre

export jre

  

path=$java_home/bin:$jre/bin:$path

  

现在注销一下并重登录

  

ok,jdk安装完毕!

  

二. 安装系统字体

将附件文件解压到/tmp/javacn中,解压后的结果如下所示:

[root@lsjlinux root]# cd /tmp

[root@lsjlinux tmp]# cd javacn

[root@lsjlinux javacn]# ls -l

总用量 23184

-rw-r--r-- 1 root root 8102 1970-01-01 font.properties

drwxr-xr-x 9 root root 4096 6月 24 15:36 j2sdk1.4.2_02

-rw-r--r-- 1 root root 12642204 1970-01-01 simsun18030.ttc

-rw-r--r-- 1 root root 10500352 1970-01-01 simsun.ttc

-rw-r--r-- 1 root root 7764 1970-01-01 sm.sh

-rw-r--r-- 1 root root 260472 1970-01-01 tahomabd.ttf

-rw-r--r-- 1 root root 265528 1970-01-01 tahoma.ttf

  

下面需要将$jre/lib中的font.properties文件改名备份,并将/tmp/javacn中的font.properties文件拷贝到$jre/lib中

  

[root@lsjlinux root]# cd $jre

[root@lsjlinux jre]# cd lib

  

[root@lsjlinux lib]# mv font.properties font.properties.bak

[root@lsjlinux lib]# cp /tmp/javacn/font.properties ./

  

剩下的操作就是执行/tmp/javacn/sm.sh了。

在执行sm.sh后系统后自动重启,所以在执行下面的操作前请一定保存正在进行的工作!

[root@lsjlinux root]# cd /tmp

[root@lsjlinux tmp]# cd javacn

[root@lsjlinux javacn]# ./sm.sh

bash: ./sm.sh: 权限不够

[root@lsjlinux javacn]# chmod 755 sm.sh

[root@lsjlinux javacn]# ./sm.sh

  

此处操作系统会重新启动。

  

第二部分操作完成。

  

三. 设置操作系统字体

重新启动登录后,按如下步骤操作:

(下面的步骤是kde里的,gnome里应该差不多)

开始->控制中心->外观和主题->字体

点调整所有字体,按如下界面中配置,选中字体复选框,并在列表中选择simsun(实际上这个就是大家在window里很熟悉的宋体),字体样式不用管它,大小复选框选中,并在列表中选择9,配置完成后点确定。

  

回到上一层窗口点应用并关闭窗口。

  

这个好解决,点终端控制台的菜单:

设置->字体->定制

弹出如下窗口:

左边列表中选择monospace,大小一列中选择9即可。

设置完了千万要记得保存一下:

设置->保存设置

  

四. 安装oracle

此时切换到oracle用户,运行./runinstaller,出来的界面应该是亲切的中文界面了,如果还是乱码请检查上面的步骤。

安装oracle的步骤在此就不费笔墨了。

不过安装完后还有一点小小的尾巴工程。

安装完后运行dbca创建数据库时发现又是乱码,这个在网上没有资料提到过,偶经过反复摸索才找到了问题所在,原来oracle安装后它会装上自己的jdk,它的几个工具用得都是它自己的jdk,咱们前面所做的努力都没有起作用。

不过这个好解决,改!

  

只需更改红色的部分,其他地方不需要更改

  

先改dbca

bash-2.05$ cd $oracle_home

bash-2.05$ cd bin

  

bash-2.05$ vi dbca

将最后一段

# run dbca

$jre_dir/bin/jre -doracle_home=$oh -djdbc_protocol=thin -mx64m -classpath $class

path oracle.sysman.assistants.dbca.dbca $arguments

改成:

# run dbca

java -doracle_home=$oh -djdbc_protocol=thin -mx64m -classpath $class

path oracle.sysman.assistants.dbca.dbca $arguments

  

再改oemapp

bash-2.05$ vi oemapp

也是最后一段

if [ "$1" = "ocmcli" ]

then

exec $jre -dadmin_wrl=$admin_wrl -doracle_home=$oracle_home -dorbdisableloca

tor=true -djdbc.backward_compatible_to_816=true $jreoptions_string -$classpath_q

ual $classpathadd oracle.sysman.vtx.vtxoemapp.oemapp $application "$2" "$3" "$4"

"$5" "$6" "$7" "$8" "$9"

else

exec $jre -dadmin_wrl=$admin_wrl -doracle_home=$oracle_home -dorbdisableloca

tor=true -djdbc.backward_compatible_to_816=true $jreoptions_string -$classpath_q

ual $classpathadd oracle.sysman.vtx.vtxoemapp.oemapp $application $2 $3 $4 $5 $6

$7 $8 $9

fi

  

改成:

if [ "$1" = "ocmcli" ]

then

java -dadmin_wrl=$admin_wrl -doracle_home=$oracle_home -dorbdisableloca

tor=true -djdbc.backward_compatible_to_816=true $jreoptions_string -$classpath_q

ual $classpathadd oracle.sysman.vtx.vtxoemapp.oemapp $application "$2" "$3" "$4"

"$5" "$6" "$7" "$8" "$9"

else

java -dadmin_wrl=$admin_wrl -doracle_home=$oracle_home -dorbdisableloca

tor=true -djdbc.backward_compatible_to_816=true $jreoptions_string -$classpath_q

ual $classpathadd oracle.sysman.vtx.vtxoemapp.oemapp $application $2 $3 $4 $5 $6

$7 $8 $9

fi

  

最后,是netca

bash-2.05$ vi netca

还是最后一段

# run net configuration assistant

cd $nettoolsdir

$jre -classpath $classpath oracle.net.ca.netca $*

exit $status

  

改成

# run net configuration assistant

cd $nettoolsdir

java -classpath $classpath oracle.net.ca.netca $*

exit $status

扫描关注微信公众号