免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3422 | 回复: 0
打印 上一主题 下一主题

转贴解决Enterprise Manager 无法连接到数据库实例 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-26 10:02 |只看该作者 |倒序浏览
解决Enterprise Manager 无法连接到数据库实例
郑重声明:

此文仅以介绍一个解决问题的思路,以及面对一个突发问题,如何思考、分析。并不是所有的此类问题都可以由于本文所介绍方案来解决。
背景说明:
10g中oracle使用基于web的oem来本地管理数据库。无需在本地安装数据库客户端,通过web页面就可以远程管理单个数据库。这样简便了数据库管理的准备工作,但同时也引发了由此而产生的一系列问题。
今天早上,打开db control,发现enterprise manager无法连接到数据库实例。但是可以看出数据库实例、监听程序和实例的代理都正常工作。数据库正常工作。比较纳闷,如下图所示:
错误图例

近期并没有对数据库做调整,昨天用的还好好的。不过倒是昨天做了一个丢失spfile的恢复演练(这是后话)。
碰到这么一个问题,我首先想到的查看相关日志。
1、找到警告日志,里面没有任何相关的信息。因为这个db control 独立于数据库运行,只是用来管理数据库的工具而已。
2、想到emctl,有自己的运行日志。于是查看之:一般在oracle_home目录下的以host _sid格式命名的一个目录,里面就是所有包含db control的运行相关配置、日志等信息。查看sysman目录下的log文件夹中包含了db control 的运行日志信息,其中的emoms.log就是其运行日志,找到相应时间点,发现以下错误信息:



2007-11-01 11:00:40,796 [HttpRequestHandler-29045356] ERROR conn.ConnectionService verifyRepositoryEx.433 - Invalid Connection Pool. ERROR = Listener refused the connection with the following error:

ORA-12514, TNS:listener does not currently know of service requested in connect descriptor

The Connection descriptor used by the client was:

(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=jusdoi)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)))


3、根据上面的错误提示信息,表明在启动db control的时候,监听不能识别其中请求的服务名。
4、得知这里是用service_name来标识目标数据库,于是就以sys登录数据库,查看参数service_names的值:orcl,再查看了参数db_domain的值,发现为com.cn。
5、发现问题,这里的SERVICE_NAME应该为orcl.com.cn。由于db control不是使用客户端的配置信息来连接数据库,它有自己的配置信息,找到相关配置文件emoms.properties,修改其中的相关项,然后保存,重新启动db control,问题解决。

Db_domain
这个参数原来为空,昨天做实验的时候,由于没有备份spfile,后来手工做了个pfile,启动数据库,在这过程中修改了这个参数值,从而导致了db control无法连接到实例。到此为止,问题解决。


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP