2017-02-10 43 views
2

我有一个安装程序,其中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个。

+1

你为什么开到作业之前,可以运行数据库的连接?在查询Oracle之前检查FTP连接是否可用,并且只有在FTP连接受到保护时才运行该作业。 – Nathan

+0

这是一个很好的建议,尽管ftp服务器的连接数据来自数据库。 – Adder

+0

连接池可能是一个好主意,可以调整应用程序对db连接的使用。你目前的设置基本上是对你自己的数据库的DoS攻击。 – tbone

回答

1

这是一个非常好的问题。一般来说,作为一个经验法则,我们建议与Oracle的连接数量在CPU核心数量的1倍到10倍之间。看看这个视频由Oracle实际性能团队放在一起就这个问题:

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

+0

我认为问题是要找出哪个值设置为最大值,而不是最佳设置。 –

+0

@CarlosHeuberger是的,我意识到这一点,但我仍然认为我的回答很有用,因为OP询问“我怎样才能确定安全数量的作业同时执行?” – BobC