oracle – 什么可以导致间歇性的ORA-12519(TNS:没有找到适当的
我们在Oracle 10数据库(使用Hudson作为持续集成服务器)前面,针对Weblogic 9运行Junit 4测试套件,有时候我们会在脚本拆卸期间遇到ORA-12519崩溃。但是,错误是非常间歇的:
>它通常发生在相同的Test类 虽然我不能保证这不会发生在本地(当运行对同一个数据库,当然),我已经运行同一套的类多次没有问题。 有任何想法吗? 不知道这是否会是每个人的答案,但在一些挖掘之后,这是我们想出的。错误明显是由于事实,监听器不接受连接,但为什么我们会得到那个错误,当其他测试可以连接好(我们也可以通过sqlplus连接没有问题)?问题的关键不是我们不能连接,而是间歇性 经过一番调查,我们发现在类安装过程中创建了一些静态数据,这将在测试类的生命周期保持开放连接,创建新的连接。现在,即使所有的资源正确地释放,当这个类超出范围(通过一个finally {}块,当然),在运行时,有一些情况下,这个类将吞下所有可用的连接(好,坏练习警报 – 这是单元测试代码,直接连接,而不是使用池,所以同样的问题不会发生在生产)。 修复是不让类静态并在类设置中运行,而是在每个方法的setUp和tearDown方法中使用它。 所以如果你在你自己的应用程序中收到这个错误,在那个坏男孩上拍一个分析器,看看你是否可能有连接泄漏。希望有帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |