我的系统是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字体是有版权的,所以商用换其他字体),相应的权限改为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 时,会遇到报错信息:
[[email protected] bin]# ./emctl stop dbconsole
Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name.
[[email protected] 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。
2010-09-14