oracle连接数过多清理机制

上传人:桔**** 文档编号:487193296 上传时间:2022-12-20 格式:DOCX 页数:23 大小:30.44KB
返回 下载 相关 举报
oracle连接数过多清理机制_第1页
第1页 / 共23页
oracle连接数过多清理机制_第2页
第2页 / 共23页
oracle连接数过多清理机制_第3页
第3页 / 共23页
oracle连接数过多清理机制_第4页
第4页 / 共23页
oracle连接数过多清理机制_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《oracle连接数过多清理机制》由会员分享,可在线阅读,更多相关《oracle连接数过多清理机制(23页珍藏版)》请在金锄头文库上搜索。

1、Oracle连接数过多释放机制转载 2011 年 07 月 05 日 18:07:21 标签: oracle / session / sql /数据库/ kill/ system 14532Oracle 服务器连接数过多会当掉,把连接数过多的客户机网线拔出后,在远程Oracle 上依然还会保留此用户的连接数,久久不能释放,上网查了下可以以下 面方法解决。通过profile可以对用户会话进行一定的限制,比如IDLE时间。将IDLE超过一定时间的会话断开,可以减少数据库端的会话数量,减少资 源耗用。使用这些资源限制特性,需要设置resource_limit为TRUE :oracletest126

2、udump$ sqlplus / as sysdbaSQL*Plus: Release 10.2.0.1.0 - Production on Fri Oct 13 07:58:21 2006Copyright (c) 1982, 2005, Oracle. All rights reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 -ProductionWith the Partitioning and Data Mining optionsSQL show parameter resou

3、rceNAME TYPE VALUEresource_limitboolean TRUE该参数可以动态修改:SQL alter system set resource_limit=true;System altered.数据库缺省的 PROFILE 设置为:SQL SELECT * FROM DBA_PROFILES;RESOURCE LIMITPROFILE RESOURCE_NAMEDEFAULT COMPOSITE_LIMITKERNEL UNLIMITEDDEFAULTSESSIONS_PER_USERKERNEL UNLIMITEDDEFAULTDEFAULTTEDDEFAULTDD

4、EFAULTDEFAULTDEFAULTDEFAULTDEFAULTCPU_PER_CALL KERNEL UNLIMITEDLOGICAL_READS_PER_SESSION KERNEL UNLIMILOGICAL_READS_PER_CALL KERNEL UNLIMITEIDLE_TIMECONNECT_TIMEPRIVATE_SGAKERNEL UNLIMITEDKERNEL UNLIMITEDKERNEL UNLIMITEDFAILED_LOGIN_ATTEMPTSPASSWORD_LIFE_TIMEPASSWORD 10PASSWORDUNLIMITEDPROFILE RESOU

5、RCE_NAMERESOURCE LIMITDEFAULTPASSWORD_REUSE_TIMEPASSWORDUNLIMITEDDEFAULTPASSWORD_REUSE_MAXPASSWORDUNLIMITEDDEFAULT PASSWORD_VERIFY_FUNCTION PASSWORDNULLDEFAULT PASSWORD_LOCK_TIME PASSWORDUNLIMITEDDEFAULT PASSWORD_GRACE_TIME PASSWORDUNLIMITED16 rows selected.创建一个允许 3 分钟 IDLE 时间的 PROFILE:SQL CREATE PR

6、OFILE KILLIDLE LIMIT IDLE_TIME 3;Profile created.新创建 PROFILE 的内容:SQL col limit for a10SQL select * from dba_profiles where profile=KILLIDLE;PROFILE RESOURCE_NAME RESOURCELIMITKILLIDLECOMPOSITE_LIMITKERNEL DEFAULTTKILLIDLEKILLIDLEKILLIDLEAULTKILLIDLEULTKILLIDLEKILLIDLECPU_PER_SESSIONCPU_PER_CALLKERNE

7、L DEFAULTKERNEL DEFAULTLOGICAL_READS_PER_SESSION KERNEL DEFLOGICAL_READS_PER_CALL KERNEL DEFAIDLE_TIMEKERNEL 3CONNECT_TIMEKERNEL DEFAULTKILLIDLE FAILED_LOGIN_ATTEMPTSDEFAULTKILLIDLE PASSWORD_LIFE_TIMEDEFAULTPROFILE RESOURCE_NAMELIMITPASSWORDPASSWORDRESOURCEKILLIDLEDEFAULTPASSWORD_REUSE_TIMEPASSWORDD

8、EFAULTPASSWORDKILLIDLEPASSWORD_VERIFY_FUNCTIONDEFAULTPASSWORDKILLIDLE PASSWORD_LOCK_TIMEDEFAULTPASSWORDKILLIDLE PASSWORD_GRACE_TIMEDEFAULT16 rows selected.测试用户:SQL select username,profile from dba_users whereusername=EYGLE;修改 eygle 用户的 PROFILE 使用新建的 PROFILE:SQL alter user eygle profile killidle;User

9、 altered.SQL select username,profile from dba_users where username=EYGLE;USERNAME PROFILEEYGLE KILLIDLE进行连接测试:oracletest126 admin$ sqlplus eygle/eygleeygleSQL*Plus: Release 10.2.0.1.0 - Production on Fri Oct 13 08:07:13 2006Copyright (c) 1982, 2005, Oracle. All rights reserved.Connected to:Oracle Da

10、tabase 10g Enterprise Edition Release 10.2.0.1.0 -ProductionWith the Partitioning and Data Mining optionsSQL select username,profile from dba_users whereusername=EYGLE;USERNAME PROFILE当 IDLE 超过限制时间时,连接会被断开:SQL select to_char(sysdate,yyyy-mm-dd hh24:mi:ss) from dual;TO_CHAR(SYSDATE,YY2006-10-13 08:08

11、:41SQL select to_char(sysdate,yyyy-mm-dd hh24:mi:ss) from dual;select to_char(sysdate,yyyy-mm-dd hh24:mi:ss) from dualERROR at line 1:ORA-02396: exceeded maximum idle time, please connect again1. sqlplus /nolog2. 打开 sqlplus 3.4.5. connect system/bianqiweiorcltns as sysdba6. 使用具有 dba 权限得用户登陆 oracle7.

12、8.9.show parameter resource_limit10显示资源限定是否开启,value为true是开启,为false是关闭11.12.13. alter system set resource_limit=true14. 如果未开启,则使用此命令开启资源限定功能15.16.15. create profile profileName limit connect_time 60 idle_time 3016. 创建profile文件,profileName任意起,connect_time设置连接超过多少分 钟后强制释放,idle_time设置连续不活动的会话超过多少分钟后强制释放

13、19.17. alter user oracleUser profile profileName18. 将 profile 文件作用于指定用户Oracle session 连接数和 inactive 的问题记录 oracle 学习 2009-03-10 15:42:37 阅读 317 评论 0 字号:大中小 订阅 .从上周起,服务器 Oracle 数据库出现问题,用不到半天,就会报 maxsession (150)的问题,肯定是数据库的会话超过最大数了。由于服务器跑的是文件传输应用,占用的请求和会话肯定很大,因此用户数不 大就已经让 oracle 的会话数达到最大值。处理方式不外乎两种:扩大 oracle 最大 session 数以及清除 inactive 会话, 当然还有,就是从数据库连接池和程序 bug 上面下手。 从各处收集了一些查看当前会话的语句,记录一下:1.select count(*) from v$session;select count(*) from v$process; 查看当前总会话数和进程数,这两个视图就是跟会话及进程有关的重要视图啦,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号