码迷,mamicode.com
首页 > 数据库 > 详细

oracle最大连接数导致应用挂掉

时间:2019-04-17 15:13:01      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:style   get   sid   进程   .sql   cti   init   生日   blog   

配置keepalive+nginx高可用的时候,启动了应用,发现连接到后台的数据库报错:

Caused by: java.sql.SQLRecoverableException: IO 错误: Socket read timed out
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:458)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:546)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:236)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
    at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:310)

使用pl/sql打开数据库发现连接不上,然后直接登录服务器检查:

[oracle@abc ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Apr 17 14:28:58 2019

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

ERROR:
ORA-09817: Write to audit file failed.
Linux-x86_64 Error: 28: No space left on device
Additional information: 12
ORA-01075: you are currently logged on

发现报错:ORA-09817: Write to audit file failed.

另外有:ORA-01075: you are currently logged on

直接百度:发现ORA-01075是因为达到了最大连接数,那就直接简单粗暴:http://blog.itpub.net/29067253/viewspace-2145070/

$ ps -ef |grep $ORACLE_SID|grep -v grep|awk ‘{print $2}‘ | xargs kill -9
$ ipcs -m | grep oracle | awk ‘{print $2}‘ | xargs ipcrm shm

生产数据库千万别自己乱动!!!

然后登陆仍然报错:

[oracle@abc ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Apr 17 14:35:55 2019

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

ERROR:
ORA-09817: Write to audit file failed.
Linux-x86_64 Error: 28: No space left on device
Additional information: 12
ORA-09945: Unable to initialize the audit trail file
Linux-x86_64 Error: 28: No space left on device

没空间了:

[oracle@abc ~]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        30G  9.3G   19G  33% /
tmpfs            16G  3.1G   13G  20% /dev/shm
/dev/vdb        197G  197G     0 100% /home
[oracle@abc ~]$ cd /home/

删除对应的日志文件,删除之后发现空间并未释放:

使用:lsof |grep delete,找到对应的进程杀掉就好了

(其实直接找产生日志的进程,然后重启下就好了,不用lsof |grep delete)

 

oracle最大连接数导致应用挂掉

标签:style   get   sid   进程   .sql   cti   init   生日   blog   

原文地址:https://www.cnblogs.com/wjlv/p/10723583.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!