如何释放Oracle服务器过多的连接数

Oracle服务器连接数过多会当掉,把连接数过多的客户机网线拔出后,在远程Oracle上依然还会保留此用户的连接数,久久不能释放,上网查了下可以以下面方法解决。

创建一个允许3分钟IDLE时间的PROFILE:

SQL> CREATE PROFILE KILLIDLE LIMIT IDLE_TIME 3; 
Profile created.

新创建PROFILE的内容:

SQL> col limit for a10 
SQL> select * from dba_profiles where profile='KILLIDLE'; 
PROFILE RESOURCE_NAME RESOURCE LIMIT 
—————————— ——————————– ——– ———- 
KILLIDLE COMPOSITE_LIMIT KERNEL DEFAULT 
KILLIDLE SESSIONS_PER_USER KERNEL DEFAULT 
KILLIDLE CPU_PER_SESSION KERNEL DEFAULT 
KILLIDLE CPU_PER_CALL KERNEL DEFAULT 
KILLIDLE LOGICAL_READS_PER_SESSION KERNEL DEFAULT 
KILLIDLE LOGICAL_READS_PER_CALL KERNEL DEFAULT 
KILLIDLE IDLE_TIME KERNEL 3 
KILLIDLE CONNECT_TIME KERNEL DEFAULT 
KILLIDLE PRIVATE_SGA KERNEL DEFAULT 
KILLIDLE FAILED_LOGIN_ATTEMPTS PASSWORD DEFAULT 
KILLIDLE PASSWORD_LIFE_TIME PASSWORD DEFAULT 
PROFILE RESOURCE_NAME RESOURCE LIMIT 
—————————— ——————————– ——– ———- 
KILLIDLE PASSWORD_REUSE_TIME PASSWORD DEFAULT 
KILLIDLE PASSWORD_REUSE_MAX PASSWORD DEFAULT 
KILLIDLE PASSWORD_VERIFY_FUNCTION PASSWORD DEFAULT 
KILLIDLE PASSWORD_LOCK_TIME PASSWORD DEFAULT 
KILLIDLE PASSWORD_GRACE_TIME PASSWORD DEFAULT 
16 rows selected.

测试用户:

 

SQL> select username,profile from dba_users where username='EYGLE'; 
USERNAME PROFILE 
—————————— ——————– 
EYGLE DEFAULT

修改eygle用户的PROFILE使用新建的PROFILE:

 

SQL> alter user eygle profile killidle; 
User altered. 
SQL> select username,profile from dba_users where username='EYGLE'; 
USERNAME PROFILE 
—————————— ——————– 
EYGLE KILLIDLE

进行连接测试:

 

[oracle@test126 admin]$ sqlplus eygle/eygle@eygle 
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Oct 13 08:07:13 2006 
Copyright (c) 1982, 2005, Oracle. All rights reserved. 
Connected to: 
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production 
With the Partitioning and Data Mining options 
SQL> select username,profile from dba_users where username='EYGLE'; 
USERNAME PROFILE 
—————————— —————————— 
EYGLE KILLIDLE

当IDLE超过限制时间时,连接会被断开:

 

SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; 
TO_CHAR(SYSDATE,’YY 
——————- 
2006-10-13 08:08:41 
SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; 
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual 
* 
ERROR at line 1: 
ORA-02396: exceeded maximum idle time, please connect again

转载于:https://my.oschina.net/shootercn/blog/12467

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值