今天连接数据库时非常的慢,大概将近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. vi编辑器和系统分区

    作业一:1) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) cat /etc/passwd /etc/group > /1.txt2) 将用户信息数据库文件和用户 ...

  2. Python读取xlsx文件

    Python读取xlsx文件 脚本如下: from openpyxl import load_workbook workbook = load_workbook(u'/tmp/test.xlsx') ...

  3. python 常用网站

    https://www.tutorialgateway.org/python-tutorial/

  4. C++11 相关教程

    C++11 中文wiki: https://zh.wikipedia.org/zh-cn/C%2B%2B11 C++11 新特性介绍: https://www.kancloud.cn/wangshub ...

  5. webpack - minipack 打包原理

    code:https://github.com/ronami/minipack 看了https://www.youtube.com/watch?v=Gc9-7PBqOC8总结一下 工具和环境: nod ...

  6. 凯撒密码移位python

    #!/usr/bin/python'''凯撒密码'''a="gmbhqwertghjkcvbzn"s=[""]*len(a)for j in range(26) ...

  7. 实训任务01:安装Hadoop

    实训任务1:安装Hadoop 实训1 :为Hadoop集群增加一个节点 需示说明: 运行环境:操作系统:centos6.8 ,hadoop2.6.4 在实训指导中搭建了3个节点的hadoop集群,要求 ...

  8. 把玩Fedora29操作系统

    reference:   https://ask.csdn.net/questions/657608 1.下载Fedora服务器版操作系统 https://getfedora.org/zh_CN/se ...

  9. 数列全排列问题----递归实现--JAVA

    public class PaiLie { /** * @param args */ public static void main(String[] args) { PaiLie p=new Pai ...

  10. uboot使用笔记

    一.从最基础的uboot开始 首先是打算直接用程序把已有的镜像烧写进去sd卡里面,但是问题来了,烧写不进去 原因: 可能是windows 7的某些版本和win⑩的系统为了保护磁盘,设定了保护等级,直接 ...