今天连接数据库时非常的慢,大概将近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. MySql数据库通过idb和frm恢复

    简单粗暴 恢复user表 1.先建立和之前user表一样的表结构.就是执行create table user .... ,执行完,数据库目录下就会建立user.ibd文件(当然还有其他的) 2.执行 ...

  2. Haxe:东游记(上)part1:intro

    原标题:西行漫记之Haxe初探·上篇 1. 简述:haxe是啥? haxe(读作蛤克思),是以前flash时代诞生的一种的开源跨平台方案.学会了haxe,可以直接用这种类似TypeScript的语法, ...

  3. 使用HUI-admin过程中,返回上级页面并刷新

    非常简单的js self.location=document.referrer;

  4. 蒙层嵌套pdf以及连接后台

    一.在本地浏览pdf(直接将element-dialog 和 iframe相结合)需要将要浏览的pdf放入static文件夹下面 <el-button type="text" ...

  5. flask 第四章 偏函数 Local空间转时间 myLocalStack RunFlask+request 请求上下文

    1 . 偏函数 (partial) from functools import partial def func(*args,**kwargs): a=args b=kwargs return a,b ...

  6. Django content_type 简介及其应用

    在网上看到 django ORM 有一个 content_type 字段表的应用,这张表不是我们通过建立model类添加的,而是django自动帮我们生成的,具体的作用先简单的举个例子给大家介绍一下. ...

  7. PC/FORTH 下的多任务使用

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

  8. FTP 代理服务器实现

    本文将在Linux环境下实现一个简单的FTP代理服务器,主要内容涉及FTP主动/被动模式和简单的Socket编程. 1. 主动模式和被动模式 FTP有两种模式,即主动模式(Active Mode)和被 ...

  9. EFCore Lazy Loading + Inheritance = 干净的数据表 (一) 【献给处女座的DB First程序猿】

    前言 α角 与 β角 关于α角 与 β角的介绍,请见上文 如何用EFCore Lazy Loading实现Entity Split. 本篇会继续有关于β角的彩蛋在等着大家去发掘./斜眼笑 其他 本篇的 ...

  10. angular 定时函数

    注入$interval,$timeout   服务 2.定义函数 var aa = $interval(function(){ $timout(function(){ ..... }) },,定时时间 ...