gpt4 book ai didi

oracle - 什么可能导致间歇性 ORA-12519 (TNS : no appropriate handler found) errors

转载 作者:行者123 更新时间:2023-12-02 22:02:59 25 4
gpt4 key购买 nike

我们正在 Oracle 10 数据库前针对 Weblogic 9 运行 Junit 4 测试套件(使用 Hudson 作为持续集成服务器),有时我们会在脚本拆卸过程中遇到 ORA-12519 崩溃。但是,该错误非常间歇性:

  • 这通常发生在同一个测试类中
  • 对于相同的测试用例并不总是会发生(有时会通过)
  • 对于相同数量的测试用例(3-9 个),不会发生这种情况
  • 有时根本就没有发生,一切都会过去

虽然我不能保证这种情况不会在本地发生(当然,当针对同一数据库运行时),但我已经多次运行相同的类套件,没有出现任何问题。

有什么想法吗?

最佳答案

不知道这是否是每个人的答案,但经过一番挖掘,这就是我们得出的结论。

该错误显然是由于监听器不接受连接而引起的,但是为什么当其他测试可以正常连接时我们会收到该错误(我们也可以通过 sqlplus 连接没有问题)?问题的关键不是无法连接,而是间歇性

经过一番调查,我们发现在类设置期间创建了一些静态数据,这些数据将在测试类的生命周期中保持开放连接,并在运行过程中创建新的连接。现在,即使当此类超出范围时(当然是通过 finally{} block ),所有资源都已正确释放,但在运行过程中,在某些情况下此类会吞噬所有可用连接(好吧,不好)练习警报 - 这是直接连接而不是使用池的单元测试代码,因此在生产中不会发生相同的问题)。

修复方法是不将该类设为静态并在类设置中运行,而是在每个方法的 setUp 和tearDown 方法中使用它。

因此,如果您在自己的应用程序中遇到此错误,请对那个坏男孩使用分析器,看看是否可能存在连接泄漏。希望有帮助。

关于oracle - 什么可能导致间歇性 ORA-12519 (TNS : no appropriate handler found) errors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/205160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com