RedHat 5.5 64位下Oracle 11g r2 em 乱码解决


我的系统是RedHat 5.5 64位,Oracle为11G R2

oracle 11g使用的是jdk1.5,jdk1.5以后有了一个简便方法来解决这个问题,只需在$JAVA_HOME/jre/lib/fonts/下建一个fallback目录,把你想在java中使用的字体复制到这个目录中即可,在oracle用户下:

$ mkdir $ORACLE_HOME/jdk/jre/lib/fonts/fallback

把windows下的字体文件simsun.ttc复制到$ORACLE_HOME/jdk/jre/lib/fonts/fallback目录下并改名 simsun.ttf(注意ms的simsun字体是有版权的,www.bkjia.com所以商用换其他字体),相应的权限改为oracle用户可用.

之后需要清理一下Cache,重启EM即可:
$ rm $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs/*.gif

$ emctl stop dbconsole
$ emctl start dbconsole

登陆Web页面查看,EM显示就可以正常显示中文了

注:在执行$ emctl stop dbconsole 或$ emctl start dbconsole 时,会遇到报错信息:
[root@langzi bin]# ./emctl stop dbconsole
Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name.
[root@langzi bin]# ./emctl start dbconsole
Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name.

2种解决办法,
一,su oracle 再试试,如果不行

则在执行以下:
添加环境变量ORACLE_UNQNAME
vi /home/oracle/.bashrc
export ORACLE_UNQNAME=orcl

vi /home/oracle/.bash_profile
export ORACLE_UNQNAME=orcl

ORACLE_UNQNAME实际就是用来启动dbconsole的,它就是你的ORACLE_SID默认及orcl。

相关内容