oracle数据库连接满了,ORACLE数据库连接数满的分析及优化
最近在使用Oracle的过程中,出现了数据库连接数满的情况,导致程序及数据库连接工具连接不上。主要从两个方面来考虑这件事,从程序方面来看:
1.进行数据库连接操作后未释放连接;
2.若使用了数据库连接池,则考虑连接池的超时设置。
从数据库本身来看:
1.可以增加数据库的最大连接数;
2.可以定时清理数据库中INACTIVE的会话。
查看Oracle连接数:
select b.MACHINE, b.PROGRAM , count(*) from v$process a, v$session b where a.ADDR = b.PADDR and b.USERNAME is not null group by b.MACHINE , b.PROGRAM order by count(*) desc;
对于增加最大连接数的资料很多,文末也会推荐一个链接,定时清理INACTIVE会话需要创建一个存储过程找出超过2小时(根据需求设定)的会话,然后断开会话,具体如下
CREATE OR REPLACE PROCEDURE DB_KILL_IDLE_CLIENTS AUTHID DEFINER AS
job_no number;
num_of_kills number := 0;
BEGIN
FOR REC IN (SELECT SID, SERIAL#, INST_ID, MODULE, STATUS
FROM gv$session S
WHERE S.USERNAME IS NOT NULL
AND S.LAST_CALL_ET >= 2 * 60 * 60
AND S.STATUS = 'INACTIVE'
ORDER BY INST_ID ASC) LOOP
DBMS_OUTPUT.PUT('LOCAL SID ' || rec.sid || '(' || rec.module || ')');
execute immediate 'alter system disconnect session ''' || rec.sid || ', ' ||
rec.serial# || '''immediate';
DBMS_OUTPUT.PUT_LINE('. killed locally ' || job_no);
num_of_kills := num_of_kills + 1;
END LOOP;
DBMS_OUTPUT.PUT_LINE('Number of killed system sessions: ' ||
num_of_kills);
END DB_KILL_IDLE_CLIENTS;
创建定时任务执行这个存储过程:
begin
sys.dbms_job.submit(job => :job,
what => 'SYS.DB_KILL_IDLE_CLIENTS;',
next_date => to_date('25-05-2018 17:00:00',
'dd-mm-yyyy hh24:mi:ss'),
interval => 'TRUNC(sysdate,''hh'') + 1/(24)');
commit;
end;
注意以sys角色登录操作。
以下是参考的资料:
1.增加连接数:https://blog.csdn.net/lele2426/article/details/4978283
2.清理会话:https://www.cnblogs.com/kerrycode/p/3636992.html
3.创建定时任务:https://www.cnblogs.com/yx007/p/6519544.html
oracle数据库连接满了,ORACLE数据库连接数满的分析及优化相关推荐
- oracle服务器的操作系统,Oracle Linux 操作系统及数据库的时区机制分析
Oracle Linux 操作系统及数据库的时区机制分析 1. /etc/localtime 这个文件记录的是系统的时区,缺省的数据库由此获得时区信息 这个文件是二进制文件,修改该文件的方法是拷贝/u ...
- oracle数据库连接拒绝,Oracle 数据库连接失败问题
Oracle 数据库连接失败问题 Oracle 数据库连接失败问题 为什么80%的码农都做不了架构师?>>> 环境上安装的是oracle11g,其实oracle的安装是比较容易的,w ...
- oracle数据库连接不稳定,Oracle数据库自连接查询的缺点及解决方法
问题:我们在Oracle数据库中,如果需求要查询出 EMP 表中的所有员工及员工对应的领导时,就需要用到自连接查询: 查询语句如下:select e.empno,e.ename,e.mgr from ...
- oracle数据库连接加密,oracle 数据库加加密。
通过oracle的加密技术.可以对数据库内部用户无影响外. 又可以让那些能查看oracle数据库文件的人,无法取得相应表的数据. [@more@] 过程: 设置加密密钥. SQL> alter ...
- oracle数据库连接时报12514_Oracle 数据库 SQLPlus连接正常、PLSQL连接报错 ORA-12514、TNSPING正常...
如题: 已开启的服务有(实例名 kaiser )OracleDBConsolekaiser OracleOraDb11g_home1TNSListener OracleServiceKAISER TN ...
- 数据太大导致oracle数据库连接关闭,ORACLE异常关闭后导致数据库报错无法连接问题解决办法-Oracle...
1.首先kill掉所有oracle相关的进程 [oracle@oracle11g db_1]$ps -ef|grep $ORACLE_SID [oracle@oracle11g db_1]$kill ...
- oracle archivelog满了,Oracle archivelog占用100%如何处理?
Oracle archivelog占用100%如何处理? 大家好我现在遇到了这样一个问题,我这里有个oracle11g的数据库,是一个通过shareplex同步的目标库 前段时间疏于管理,忘了查看目标 ...
- oracle数据库连接违反,Oracle 数据库连接的一些坑
问题: ORA-12504:TNS:监听程序在CONNECT_DATA中未获得SERVICE_NAME ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求服务 解决办法: 1 权限 ...
- oracle数据库连接自动关闭,oracle 自动关闭 数据库连接
数据库启动后过一会自动断开连接(大概10分钟) 方法一.直接修改资源配置文件 分三个步骤在sqlplus环境下完成. 第一步,查询资源文件,找到CONNECT_TIME所在的profile名. sel ...
最新文章
- 给DataGrid添加自动增长的序列号
- webform(八)——LinQ简单增、删、改、查
- android日常开发60条经验
- java分布式对象(RMI+部署使用RMI的程序)
- 《网站性能监测与优化》一2.4 软件服务应用网站
- 联想投资服务器5g芯片,从5G投票到要没必要做芯片,联想到了最危险的时候
- 第6 章 面向对象的程序设计
- pc 页面在移动端怎么获取放大倍数、_逆冬:移动端排名应该怎么做?两种匹配移动端实战排名干货分享!...
- iOS 上传苹果商店失败记录
- 物欲横流的社会中,有没有那么一首诗、一首歌、一句话、一个词....不经意间勾起了你心中无限的回忆,甚至心都跟着微微颤抖了一下
- Halcon 算子 Orientation_region
- 移动开发技术【安卓】——Android_Studio【Part 1】
- cmd指令ie打开html文件,命令行调用 IE 浏览器打开指定网址
- 复习IO流复制文件时,文件损坏并且文件变得超大(FileInputStream和FileOutputStream)数组复制
- 磁滞回线如何用计算机画图,利用Origin8.5软件简化磁滞回线数据处理
- 计算机网络系列笔记(六) - 物理层
- 6、Spring Boot:自定义Servlet Filters
- 卡巴斯基:一年内手机恶意软件受害者数量增3倍
- Windows和虚拟机的Ubuntu不能进行复制粘贴
- 京成电铁:Yotsugi站呈献别具一格的《足球小将》装饰
热门文章
- vb中picturebox透明时看到下面的picturebox中图片
- IDEA中Spring Boot项目报错:There was an unexpected error (type=Not Found, status=404)
- 个人pkm软件 pim软件_个人申请软件著作权需要走哪些流程
- jlabel字怎么变化_疫情在家烦躁不如学习怎样练好字吧
- python数据科学实践 常象宇_Python数据科学实践
- ll微信2下载安装_【兰苑文学】:陈振 ll黄金槐
- 计算机x线影像ppt,计算机X线摄影ppt课件
- 腾讯视频如何设置画面对比度方面的内容
- JDK线程池CompletionService的使用
- syslog发送日志而docker容器接收不到的问题