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