网站首页 > 技术文章 正文
概述
最近,服务器Oracle数据库出现问题,用不到半天,就会报连接上的问题,这种一般就是数据库的会话超过最大数了。由于服务器跑的是文件传输应用,占用的请求和会话肯定很大,因此用户数不大就已经让oracle的会话数达到最大值。处理方式不外乎两种:扩大oracle最大session数以及清除inactive会话,当然还有,就是从数据库连接池和程序bug上面下手。
这里我选择配置Oracle自动清除超过一定时间的应用程序无效连接,下面一起来看看吧!
1、查看数据库连接
select sid,serial#,username,status from v$session;
2、删除无效连接
这个方式比较粗暴,是直接清理掉数据库通过监听去连接的所有会话...shenzhong!
ps -ef|grep ora_*| grep LOCAL=NO|awk '{print $2}'|xargs kill -9
3、优化自动删除无效连接
通过profile可以对用户会话进行一定的限制,比如IDLE时间。将IDLE超过一定时间的会话断开,可以减少数据库端的会话数量,减少资源耗用。
创建profile文件,profileName的connect_time设置连接超过多少分钟后强制释放,idle_time设置连续不活动的会话超过多少分钟后强制释放
3.1、设置resource_limit为TRUE
sqlplus / as sysdba alter system set resource_limit=true; SELECT * FROM DBA_PROFILES;
3.2、创建一个允许30分钟IDLE时间的PROFILE
创建profile文件,connect_time设置连接超过多少分钟后强制释放,idle_time设置连续不活动的会话超过多少分钟后强制释放
create profile killidle limit connect_time 240 idle_time 30; select * from dba_profiles where profile='KILLIDLE';
3.3、修改用户profile
select username,profile from dba_users where username='UAP65'; alter user UAP65 profile killidle;
配置后应用程序就不会无端端的占用数据库过多连接了。
后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~
猜你喜欢
- 2024-10-25 「Oracle数据库」手滑删错数据,一步步教你如何挽救?
- 2024-10-25 超详细的四类数据库去重实现方案汇总,值得收藏
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)