文档解释
ORA-30678: too many open connections
Cause: An attempt to open a connection failed because too many are already open by this session. The number of allowed connections varies as some may be in use through other components which share the same pool of allowed connections.
Action: Retry after closing some other connection. The number of connections supported is currently not adjustable.
ORA-30678:过多打开连接是Oracle 数据库内部发行的一种错误,当您试图建立比允许的最大连接数更多的连接时会报错。
官方解释
ORA-30678 是一类服务器错误,通常发生在用户试图建立比Oracle支持的最大连接数更多的连接时。可能因操作系统,安装参数,资源受限等方面引起,可尝试增加当前使用连接数或者更新数据库安装参数来解决这个问题。
常见案例
1.应用中有大量连接口定义,但没有及时释放连接,导致总连接数到达Oracle最大连接数。
2.由于服务器设置过低,使所有的连接都无法连接。
3.由于语句中的一些参数被设定得太低,导致服务器无法提供足够的连接。
一般处理方法及步骤
1.使用以下语句查看当前打开的连接数:
select count(*) From v$session where username is not null;
2.检查需要增加多少个连接,并修改orainit.ora / spfile参数processes并激活更改。
3.如果发现连接释放不及时或不正确,可以在程序中添加必要的逻辑来更好地关闭/释放不使用的连接。