zoukankan      html  css  js  c++  java
  • oracle最大连接数导致应用挂掉

    配置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)

  • 相关阅读:
    windows下运行命令行mysql,提示mysql不是内部命令,解决办法
    XML和HTML的区别
    BZOJ4695 最假女选手(势能线段树)
    BZOJ5312 冒险(势能线段树)
    洛谷P3959 宝藏(NOIP2017)(状压DP,子集DP)
    区间子集最大/最小异或和问题(线性基,树上差分)
    线性基模板(线性基)
    分数模板(C++模板)
    洛谷P2516 [HAOI2010]最长公共子序列(LCS,最短路)
    组合数学知识要点
  • 原文地址:https://www.cnblogs.com/wjlv/p/10723583.html
Copyright © 2011-2022 走看看