Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1402965
  • 博文数量: 556
  • 博客积分: 12626
  • 博客等级: 上将
  • 技术积分: 5799
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-11 15:56
个人简介

从事IT基础架构多年,发现自己原来更合适去当老师……喜欢关注新鲜事物,不仅限于IT领域。

文章分类

全部博文(556)

文章存档

2019年(6)

2018年(15)

2017年(17)

2016年(11)

2015年(2)

2014年(2)

2013年(36)

2012年(54)

2011年(100)

2010年(41)

2009年(72)

2008年(14)

2007年(82)

2006年(104)

分类: Oracle

2009-08-18 15:23:36

    前几天刚刚对一台机器的dbconsole做了恢复,这两天又出了新的问题,不知道为什么服务又没办法启动了。处理过程大致如下:
首先尝试启动dbconsole失败,查看日志后发现emdb.nohup文件中有报错信息:
Error starting HTTP-Server: Unable to intialize SSLServerSocketFactory 'com.evermind.ssl.JSSESSLServerSocketFactor
y': Export restriction: SunJSSE only
 
emagent.trc文件也有错误信息:
snmehl_connect: connect failed to (HXTEST01:5500): A remote host refused an attempted connect operation. (error = 79)
ERROR pingManager: nmepm_pingReposURL: Cannot connect to retStatus=-32
 
感觉上是web服务没有正常启动而导致其他服务也无法正常连接了,由于网上没有太有价值的信息,直接请教了oracle。根据oracle的反馈这个问题与一个内部bug有关。
停掉dbconsole,确认emagent进程正常关闭(之前确实发现挂死的现象),使用命令emctl unsecure dbconsole后重新启动dbconsole,发现使用http服务是可以显示出登录页面的,由此,oracle确认此问题
/jdk/jre/lib/security/java.security文件的内容有关系,因而触发了这个问题,与Bug 7582956有关。建议将此文件中的
security.provider.1=com.ibm.jsse.IBMJSSEProvider
security.provider.2=com.ibm.crypto.provider.IBMJCE
security.provider.3=com.ibm.security.jgss.IBMJGSSProvider
security.provider.4=com.ibm.security.cert.IBMCertPath
内容改为
security.provider.1=sun.security.provider.Sun
security.provider.2=com.sun.net.ssl.internal.ssl.Provider
security.provider.3=com.ibm.jsse.IBMJSSEProvider
security.provider.4=com.sun.crypto.provider.SunJCE
security.provider.5=com.ibm.crypto.provider.IBMJCE
security.provider.6=com.ibm.security.jgss.IBMJGSSProvider
security.provider.7=com.ibm.security.cert.IBMCertPath
前面的blog里提到,ORACLE_HOME里面的jdk实际是映射主机本身的,我担心修改会影响其它的服务,
因此干脆尝试修复原来的jdk,metalink上的文档463072.1有相关内容,不过我图省事,取消掉link,直接把另外一台机器上正常的jdk和jre拷了过来,替换了最早的jdk和jre目录,替换之后,停掉dbconsole,执行emctl secure dbconsole(配置后只能用https访问)后启动dbconsole正常。由此看来这个问题还是由于jdk不合适造成的。
解决这个问题后又发现了新的问题,用sysman用户登录页面后发现页面上显示了一个错误信息:
java.lang.Exception: IOException in sending Request :: A remote host refused an attempted connect operation.
感觉应该是代理出了什么问题。
下面的很多数据无法正确调用出来,metalink上有文档Note 782004.1
java.lang.Exception: IOException in sending Request :: Connection refused: connect on dbconsole home page.
情况与之类似。
用sysman用户登录后执行命令select target_name from mgmt_targets where target_type='oracle_emd';
结果显示:
TARGET_NAME
--------------------------------------------------------------------------------
HXTEST01:1830
HXTEST01:1831
HXTEST01:3938
出现多个端口不同的重复目标,这应该与之前端口改来改去有关系。根据之前的配置信息,以及查看$ORACLE_HOME/install/portlist.ini文件内容:
Enterprise Manager Console HTTP Port (CISGTEST) = 5500
Enterprise Manager Agent Port (CISGTEST) = 3938
代理的正确端口应该是3938,使用命令
exec mgmt_admin.cleanup_agent(':') ;
commit;
将1830和1831对应端口的agent信息删掉,在执行
emctl reload agent
问题解决。
 
觉得oracle的em虽然功能强大,但问题还是挺多的,配置麻烦不说还时不时出些莫名其妙的问题,而且问题发生后往往又不知道从何下手,毕竟大多数dba并不一定能明白jdk是怎么回事。
 
 
阅读(3725) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~