我的IT世界

坚持不懈,抗战二十年!

(2010.-06-05)Oracle问题之EM乱码的解决方法

   之前在Windows xp上用dbca时也没遇到过em乱码的问题,而在linux或者unix上装oracle时经常会出现em乱码问题,表现在使用dbca时按钮和文字消失,只显示一个方框,这对于创建或者删除数据库很不方便,其实也听很多人说到过这个问题,eygle也在他的blog上提出了解决方法,虽然实际情况不是每个人都一样的,但思路是相通的,按照这思路总能解决掉问题的。

    今天我也终于决心把虚拟机上的oracle的em乱码问题搞定了,于是在eygle的博客上参阅了em乱码解决办法,但到最后发现还是没搞定,其实我知道方法是对的,只是自己过于粗心,再后来参阅了这篇博客,幸好博主贴出了zsong.ttf的下载链接,不然我找了好久都找不到呢,在此表示感谢,把此文件用SSH传到虚拟机的linux的对应文件夹下,Ok,问题终于解决,又可以重新的研究oracle了。http://hi.baidu.com/danghj/blog/item/6a5093d4b7643b0da18bb7cc.html

oracle 10 EM初装问题及中文乱码

文件: zysong.rar
大小: 4365KB
下载: 下 载
在redhat5.3 上面安装oracle 10.2.1,在启动EM过程中遇到些问题,现记录下来备用。
 
   在安装系统的时候,我选择的简体中文的方式,在系统安装成功后,我将系统改为英文用于安装oracle10 ,数据库安装完后,先是启动listener 报错,主要是找不到主机,这种情况就要修改/etc/hosts 把相关名字做好IP对应,locahost 这里一定要排在其它名字的前面。
   $ emctl status dbconsole  通过这个命令启动em时  提示oc4j/j2ee/OC4J_DBConsole
_orasid.com not found
这个错误提示,通修改环境变量,重启系统,编辑hosts ,
emca -repos recreate 重建一个EM资料库,通过这个命令在重建时提示我们数据库是不可用的,虽然数据库是可以正常startup 和shutdown 的,但是通过这个提示想到办法了,还是把安装oracle时创建的那个库删除了,通过dbca删除并重创建数据库,再次启动EM时,正常。
 
列出EM管理常用命令:
$ emctl status dbconsole
$ emctl stop dbconsole    
$ emctl start dbconsole
 
emca -repos create 创建一个EM资料库
emca -repos recreate 重建一个EM资料库
emca -repos drop 删除一个EM资料库
emca -config dbcontrol db
配置数据库的 Database Control
emca -deconfig dbcontrol db
删 除数据库的 Database Control配置
emca -reconfig ports
重新配置db control和agent的端口
emctl start console
启动EM console服务,使用前需要先
设置 ORACLE_SID环境变量
emctl stop console 停止EM console服务,
使用前需要先设置 ORACLE_SID环境变量
注:通过查看$ORACLE_HOME/install/portlist.ini
文件可以知道当前 dbcontrol正在使用的端口,
默认dbcontrol http端口1158,agent端口3938。
如果要重新配置端口,可以 使用如下命令:
emca -reconfig ports -dbcontrol_http_port 1159
emca -reconfig ports -agent_port 3939
 
 
EM正常启动后,按钮不能正常显示中文,显示方框,这给用带来很多不便,也是网友们常遇 到的EM乱码问题,请参观下面两个贴子的内容就可以解决。
 
 

如果安装时,我们系统环境变量设置的是中文环境,那么就不会有这个问题.这个问题根本原因在于安装时,JDK/JRE字符集的自动选择.

$ORACLE_HOME/jdk/jre/lib$ORACLE_HOME/jre/1.4.2/lib/ 目录下都有多种字符集字体配置文件:

[oracle@danaly ~]$ cd $ORACLE_HOME/jdk/jre/lib
[oracle@danaly lib]$ ls font*zh_CN*
font.properties.zh_CN.Redhat  font.properties.zh_CN.Redhat2.1 
font.properties.zh_CN.Sun  font.properties.zh_CN_UTF8.Sun
[oracle@danaly lib]$ cd $ORACLE_HOME/jre/1.4.2/lib/
[oracle@danaly lib]$ ls font*zh_CN*
font.properties.zh_CN.Redhat  font.properties.zh_CN.Redhat2.1 
font.properties.zh_CN.Sun  font.properties.zh_CN_UTF8.Sun 

我们只要用合适的中文字符集文件替换缺省文件即可,我选择使用font.properties.zh_CN.Redhat来替换缺省字体定义文件:

[oracle@danaly lib]$ cp font.properties.zh_CN.Redhat font.properties 

替换之后需要清理一下Cache,重启EM即可.

Cache路径通常位于:

$ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs 

清除所有gif文件即可.然后重新启动EM:

[oracle@danaly zhs]$ emctl stop dbconsole
TZ set to PRC
oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0 
Copyright (c) 1996, 2005 oracle Corporation.  All rights reserved.
http://danaly.hurrray.com.cn:1158/em/console/aboutApplication
Stopping oracle Enterprise Manager 10g Database Control ...
 ...  Stopped.
[oracle@danaly zhs]$ emctl start dbconsole
TZ set to PRC
oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0 
Copyright (c) 1996, 2005 oracle Corporation.  All rights reserved.
http://danaly.hurrray.com.cn:1158/em/console/aboutApplication
Starting oracle Enterprise Manager 10g Database Control .............. started.
------------------------------------------------------------------
Logs are generated in directory
/opt/oracle/product/10.2.0/danaly.hurrray.com.cn_danaly/sysman/log  

现在登陆Web页面,EM显示就可以正常显示中文了.

注意:如果经过以上处理仍然不能正确显示中文,请参考以下说明:

打开刚替换好的font.properties,或者查看原有的中文字体文件:

[oracle@smsdbrac1 lib]$ tail -2 font.properties.zh_CN.Redhat
filename.-misc-zysong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/zh_CN/TrueType/zysong.ttf

注意其中包含了filename指向中文字体文件,请确认该文件在你的服务器上是否存在,如果不存在,改换一个存在的中文字体文件即可,也可以自行 下载安装新的字体文件:

[oracle@smsdbrac1 lib]$ ls -al /usr/share/fonts/zh_CN/TrueType/zysong.ttf
-rw-r--r--  1 root root 9249332 Mar 29  2002 /usr/share/fonts/zh_CN/TrueType/zysong.ttf

 

我按照eygle方法试过后,还显示为乱码,通过这个文件中路径,看到我的系统确实没有此文件,于是下载zysong.ttf文件,新建立 zh_CN/TrueType目录,将文件移进行,再次重启动em ,清cache后,登录后已经可以正常显为中文了。

 

 

 
 
最后看到了,直接使用英文访问EM的简单办法:
打开你的IE浏览器, 选择’工具”–>”Internet选项”–>”常规”, 选择 “语言”, 默认只有 “中文”, 选择 ” 添加 “, 加入 “英语(美国)” , 调整顺序, 把“英语(美国)”移动到最上面。
OK ,确定.启动em:
 
这时在访问http://ip:1158就显示为英文了。由于翻译及相关教材原因,推荐还是直接看英文吧。
阅读更多
个人分类: oracle
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭