如何釋放Oracle伺服器過多的連線數

2021-12-29 22:45:53 字數 2697 閱讀 3692

如何釋放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

減少Linux伺服器TIME WAIT過多問題

time wait狀態的意義 客戶端與伺服器端建立tcp ip連線後關閉socket後,伺服器端連線的埠 狀態為time wait 是不是所有執行主動關閉的socket都會進入time wait狀態呢?有沒有什麼情況使主動關閉的socket直接進入closed狀態呢?主動關閉的一方在傳送最後乙個 a...

減少Linux伺服器TIME WAIT過多問題

time wait狀態的意義 客戶端與伺服器端建立tcp ip連線後關閉socket後,伺服器端連線的埠 狀態為time wait 是不是所有執行主動關閉的socket都會進入time wait狀態呢?有沒有什麼情況使主動關閉的socket直接進入closed狀態呢?主動關閉的一方在傳送最後乙個 a...

Oracle連線數過多釋放機制

sqlplus nolog 開啟sqlplus connect as sysdba 使用具有dba許可權得使用者登陸oracle show parameter resource limit 顯示資源限定是否開啟,value為true是開啟,為false是關閉 alter system set res...