昨天在客户现场处理Oracle重构作业,原以为一切非常顺利。不过在一切均已经完毕后,测试两套应用系统的联动时却报以下错误:

Connection refused(DESCRIPTION=(TMP=)(VSNNUM=153093120)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))

开发人员对此不熟悉,不断在翻阅文档没有找出所以然。我当时已经有些困,没有搭理他们。由于实在弄了太长时间了,不得已过去瞧一瞧在搞什么。第一眼即看到以上错误,好家伙连数据库都没有连上捣鼓啥。

我让其查找中间件是否有配置文件关联了系统的SID,如果有请立刻更正。开发人员立马翻阅手册查询,嘿嘿真的有XML写了SID调整后立马可以正常连接。

这里其中的原因是中间件一般通过SID进行JDBC的连接,而SQLPLUS与PL/SQL则是运用SERVICE_NAME连接。