LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 939|回复: 0

Linux上安装Oracle汉字乱码完整解决方案

[复制链接]
发表于 2004-8-9 11:53:10 | 显示全部楼层 |阅读模式
全文转至:RedHat技术社区
网址:http://www.redhat.org.cn

一. 安装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/binJRE/binPATH

现在注销一下并重登录

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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表