Linux上安装Oracle汉字乱码问题的解决方法

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