今天连接数据库时非常的慢,大概将近1分钟,才能连上,感觉不对,登录数据库所在的服务器,进行检查,常规的内存、硬盘、CPU全都正常,然后想要进入oracle用户时报错了:su: cannot set user id: Resource temporarily unavailable  百度一下,没有足够的资源,原来是这的问题,解决步骤:
1、检查oracle用户的资源上限:
cat /etc/security/limits.conf
oracle soft nproc 2047  # oracle告警线程
oracle hard nproc 16384  # oracle最大线程
oracle soft nofile 1024 # oracle用户最大告警文件打开数量
oracle hard nofile 65536 # oracle用户最大文件打开数量
这是oracle用户的配置,然后目前oracle使用的最大进程是多少呢 ?

2、检查oracle用户使用的最大进程

[root~]# ps -U oracle |wc -l

2007

进程使用没问题,文件数呢?

3、检查oracle用户使用的文件打开数

[root~]# lsof |grep oracle |wc -l

60896

4、发现文件数60896,比最大告警数1024 多出60倍!!问题就在这里了,查看了一下网上,多是改大limits上限,我尝试改了一下,虽然管用,但是打开的文件数却一直增长,治标不治本

5、所以查看一下oracle用户所打开的文件都是什么很有必要

[root]# lsof |grep oracle > oracle.txt

打开oracle.txt文件,发现大部分文件都是sendmail或者postdrop,光这倆就占了5.4W多个文件数,百度sendmail和postdrop,发现是因为定时任务会启动邮件postfix进行发送邮件,但是服务器中没有进行sendmail配置,所以导致postdrop,这些就变成僵尸文件,一直打开无法关闭了,在oracle用户下6、把定时任务设置成不发邮件

crontab -e

MAILTO ="" --不发邮件

7、然后删除sendmail和postdrop相关的进程

ps -ef | grep sendmail | grep -v grep | awk '{print $2}' | xargs kill

ps -ef | grep postdrop | grep -v grep | awk '{print $2}' | xargs kill

8、再查oracle用户文件打开数

[root]# lsof |grep oracle |wc -l

8476

到此解决问题~~o(∩_∩)o 记录下来方便以后使用

oracle数据库连接缓慢的更多相关文章

  1. 转 listener.log文件过大导致oracle数据库连接非常慢

    数据库(31)  最近发现oracle数据库连接非常慢,sqlplus很快,用客户端就很慢,甚至会无响应. 然后服务器内存一下就飙升到了90%,不是表空间占满了,也不是数据库连接数占满了.重启还是一样 ...

  2. 成功部署SSIS中含有Oracle数据库连接的ETL包

    RT,正式写之前,我想说,真TMD不容易!!! 写博客,责任心,很重要 在百度搜出来的内地博客技术文章(CSDN.ITEYE.CNBLOGS……),大部分都是不全面,只针对一个遇到的问题点的记录,可以 ...

  3. 银行账户管理系统(oracle数据库连接池,数据库的链接,)

    /* * 银行账户管理系统: * 属性:账户id,姓名,金额salary,利息类型: *管理员模块实现的功能: * 1.给用户开户 * 2.查询所有账户信息 * 用户模块实现的功能: * 1.显示用户 ...

  4. c#与oracle数据库连接池

    c#与oracle数据库连接池 在做一个项目,中间要使用webservice和oracle数据库.我在服务端做了用户身份认证,也就是使用session传递用户的登陆信息.在测试时,当用户少的时候,没有 ...

  5. 单例模式的Oracle 数据库连接应用

    新建一个类来实现单例模式的Oracle 数据库连接应用 组织架构如下: 类的具体代码如下: package com.zse.dba; import java.sql.*; //设计模式1:单例模式.保 ...

  6. window7+wamp环境配置Oracle数据库连接

    最近开发需要使用的oracle数据库!翻看了PHP手册,也在网上找了些帖子!功夫不负有心人,花费了四五个小时的时间,终于找到了Oracle的配置方法.下面就讲解下如何配置Oracle数据库连接吧! 附 ...

  7. Oracle数据库连接、存储过程及调用

    Oracle数据库连接.存储过程及调用 1. 定义一个存储过程 create or replace procedure getuser(eid in number, na out varchar, e ...

  8. oracle数据库连接慢的问题

    1.现象 工程为spring+mybatis+xfire,webservice工程服务,实现的接口数据功能 2.修复方法 经过各种尝试: 1.重新部署工程     无果 2.重新部署tomcat   ...

  9. oracle数据库连接无响应的解决

    昨天中午时,查询到服务器的数据流水最晚记录是早上8点的,现场查看服务日志很奇怪,日志输出显示挂死在数据库连接这一步.多次调试无果,随后百度发现有资料显示oracle 10.2.1的版本有登录无响应的B ...

随机推荐

  1. java实现二维码的生成.

    目录 1.二维码概念  2.二维码发展历史  3.二维码分类  4.二维码优缺点  5.QR Code  1.二维码又称  二维条码 (2-dimensional bar code)是用某种特定的几何 ...

  2. 软件151 王楚博 struts

    一.下载Struts 建立web项目,给项目添加外部引用包(project-properties-Java Build Path-Add External Jars...).添加的包有:commons ...

  3. firefox 开启安全禁用端口

    firefox 开启安全禁用端口 step1: 在firefox地址栏键入 about:config step2: 新建字符串 network.security.ports.banned.overri ...

  4. sql 约束Check中使用Case函数

    CHECK 约束用于限制列中的值的范围 在Check中使用Case函数在很多情况下都是非常不错的解决方法.可能有很多人根本就不用Check,那么我建议你在看过下面的例子之后也尝试一下在SQL中使用Ch ...

  5. Mybatis第一天

    Mybatis第一天   框架课程 1.   课程计划 第一天: 1.Mybatis的介绍 2.Mybatis的入门 a)       使用jdbc操作数据库存在的问题 b)      Mybatis ...

  6. 使用EXE4J和Inno Setup 编译器将java程序打包成windows桌面应用安装程序

    java项目结构如下: Demo是模仿程序快照,主要设计两个按钮:保存快照和恢复快照: 保存快照将对象(窗口)序列化保存下来,后面无论做了什么操作,只要点击恢复快照, 就会读取之前保存的序列化的对象. ...

  7. elasticsearch5.0以上版本及head插件的安装

    本文转载至:https://www.cnblogs.com/hts-technology/p/8477258.html(针对5.0以上版本) 对于es5.0以下的版本可以参考:https://www. ...

  8. spring 定时任务执行2次

    eclipse 上定时任务执行没有问题,生产环境可以看到定时任务同时执行了2次,排除代码原因,网上找了些资料,最后发现是tomcat的原因, Host 节点中有一个appBase 属性指向了webap ...

  9. 第一个jQuery

    第一个jQuery <script src = "jquery.js"> $(document).ready(function){ alert("Hello ...

  10. git clone 带用户名密码

    git使用用户名密码clone的方式: git clone http://username:password@remote eg: username:  abc@qq.com, pwd: test, ...