環境
OS
$ cat /etc/redhat-release CentOS release 6.7 (Final)
Database
Oracle Database 11g
環境設定
$ env | grep LANG LANG=ja_JP.UTF-8
現象
Oracle 11gをインストールするため、OUI(Oracle Universal Installer)を起動した際に、ターミナルが文字化け(いわゆる□ 豆腐)が発生しました。
原因
OUIは、Javaを利用しているため、Javaの実行環境「JRE(Java Runtime Edition)」が必要になります。 デフォルトでは、Oracle製品にバンドルされているJREを利用していますが、この「JRE」が、日本語環境にうまく対応していない(さざなみフォントがない)ため、日本語環境の設定(LANG=ja_JP.utf8)していると日本語文字が化けしてしまうようです。
対策
調べてみると対策方法としては、以下の方法がありました。
英語表示でインストールしたい場合
- 環境変数を英語表示(LANG=C)に一時的に切り替る。
日本語表示でインストールしたい場合
手順
英語表示のインストール
英語表示でも問題ない場合は、環境変数を英語表示(LANG=C)に一時的に切り替る手順
- 環境変数「LANG」に、「LANG=C」を設定する。
# export LANG=C
- OUIを起動する。
# sh ./runInstaller
- ターミナルが起動され、英語表示となっていることを確認する。
日本語表示のインストール
日本語表示でインストールしたい場合は、Oracle製品にバンドルさているJRE以外のJREに置き換える手順です。
# yum -y install java
- Javaのインストール先を調べる。
[root@oracle ~]# which java /usr/bin/java [root@oracle ~]# readlink -e /usr/bin/java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.71-1.b15.el6_7.x86_64/jre/bin/java
# sh ./runInstaller -jreLoc /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.71-1.b15.el6_7.x86_64/jre
- ターミナルが起動され、日本語表示となっていることを確認する。
Oracle製品にバンドルされているJREのフォントに、さざなみフォントを配置する手順
- 以下のサイトより、さざなみフォント(sazanami-20040629.tar.bz2)をダウンロードします。
/10087/sazanami-20040629.tar.bz2をダウンロード - efont - OSDN
- ダウンロードしたファイル(xvf sazanami-20040629.tar.bz2)を解凍します。
# tar xvf /tmp/sazanami-20040629.tar.bz2 sazanami-20040629/ sazanami-20040629/README sazanami-20040629/sazanami-mincho.ttf sazanami-20040629/sazanami-gothic.ttf sazanami-20040629/doc/ sazanami-20040629/doc/oradano/ sazanami-20040629/doc/oradano/README.txt sazanami-20040629/doc/misaki/ sazanami-20040629/doc/misaki/misakib8.txt sazanami-20040629/doc/mplus/ sazanami-20040629/doc/mplus/LICENSE_J sazanami-20040629/doc/shinonome/ sazanami-20040629/doc/shinonome/LICENSE sazanami-20040629/doc/ayu/ sazanami-20040629/doc/ayu/README.txt sazanami-20040629/doc/kappa/ sazanami-20040629/doc/kappa/README
# unzip /u01/app/database/stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles/all.jar
$ ll /u01/app/database/stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles/ 合計 116172 -rwxr-xr-x. 1 oracle oinstall 118955623 8月 15 16:34 2009 all.jar drwxr-xr-x. 6 oracle oinstall 4096 2月 2 06:04 2016 jdk ★展開ファイル
- Javaのフォント・フォールバックという仕組みを利用するため、「fallback」ディレクトリを作成する。
※フォント・フォールバック...システム環境にてフォントが存在しない場合、「fallback」ディレクトリ配下のフォトンを参照する仕組み。
# mkdir /u01/app/database/stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles/jdk/jre/lib/fonts/fallback
- 作成した「fallback」ディレクトリ配下に、さざなみフォント(sazanami-mincho.ttf、sazanami-gothic.ttf)を配置する。
# cp /tmp/sazanami-20040629/sazanami-* /u01/app/database/stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles/jdk/jre/lib/fonts/fallback
- 元々配置されていた「all.jar」ファイルを任意のフォルダへ退避する。
# mv /u01/app/database/stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles/all.jar /backup/.
- 展開された「jdk」から「all.jar」を再圧縮する。
# zip -r /u01/app/database/stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles/all.jar /u01/app/database/stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles/jdk
参考サイト
OUIでの日本語の文字化けへの対処例 (コーソル DatabaseエンジニアのBlog)
Yellow_Camelのブログ : Oracleインストーラーの文字化け対応(CentOS6/Oracle11g)
Oracle11gR2(RHEL6)のインストール文字化け - tkoshima.net
仮想化雑記帳: [余談] CentOS 6.x で Oracle のインストーラで文字化けをさせず日本語でインストールする