【问题标题】:Oracle: determine maximum number of connections suppported [duplicate]Oracle:确定支持的最大连接数[重复]
【发布时间】:2017-02-10 16:01:18
【问题描述】:

我有一个设置,其中 180 个作业尝试同时访问 oracle,即它们不会快速关闭连接,因为它们可能正在等待例如要打开的 ftp 连接。

从 oracle 中,我得到了错误:

Listener refused the connection with the following error:
ORA-12520, TNS:listener could not find available handler for requested type of server

我认为这是由于打开的连接过多。 这也会影响拒绝登录的应用程序的 GUI。

如何确定要同时执行的作业的安全数量?

我应该如何处理错误?我试图通过休眠和重试来处理它,但是这样做的唯一效果似乎是 TNS 侦听器总是饱和并且同时运行的作业数增加到 180。

【问题讨论】:

  • 为什么要在作业运行之前打开与数据库的连接?在查询 Oracle 之前检查 FTP 连接是否可用,并且仅在 FTP 连接安全的情况下运行作业。
  • 这是个好建议,虽然 ftp 服务器的连接数据来自数据库。
  • 连接池可能是调节应用程序对数据库连接的使用的好主意。您当前的设置基本上是对您自己的数据库的 DoS 攻击。

标签: java oracle tns


【解决方案1】:

这是一个很好的问题。一般来说,根据经验,我们建议与 Oracle 的连接数介于 CPU 内核数的 1 倍到 10 倍之间。观看 Oracle Real-World Performance 团队就该主题制作的这段视频:

https://www.youtube.com/watch?v=Oo-tBpVewP4&t=39s

【讨论】:

  • 我认为问题在于找出哪个值被设置为最大值,而不是什么是它的最佳设置。
  • @CarlosHeuberger 是的,我意识到这一点,但我仍然认为我的回答很有用,因为 OP 询问“如何确定同时执行的安全作业数量?”跨度>
猜你喜欢
  • 2011-02-11
  • 2015-03-09
  • 2011-04-28
  • 2014-12-20
  • 1970-01-01
  • 2014-07-07
  • 2011-09-06
  • 2023-03-04
  • 2015-10-29
相关资源
最近更新 更多