通常是由于很多人或者很多应用(java应用、R应用等)连接数据库,导致连接数(session)数量超出限制。
select status,machine,con_id,count(*) from v$session group by machine,status,con_id order by count(*);
查出是由于这三台主机的连接数过多导致的,根据主机名在CMDB表格中查出应用的负责人,沟通后重启应用释放连接。根本原因是应用配置的连接数过多导致的,后续优化重点在于调整连接数。
一般有两个原因,一个是session数或者process数不够,再有一个就是客户端和服务端建立连接的时候不稳定所引起的。
解决方法:
- 针对第一个原因就是修改连接数的限制或者清理会话
sql > alter system set processes=xxx;