感覺你似乎在問并發連接的問題,眾所周知,為了防范蠕蟲病毒的傳播和攻擊,Windows XP SP2將并發線程最多限制為10個。SP2利用Messages動態鏈接庫,來實時監控每個進程的并發線程數目,一旦它發現某進程的線程數超過10個,就會屏蔽掉部分線程。
公司主營業務:成都網站建設、網站建設、移動網站開發等業務。幫助企業客戶真正實現互聯網宣傳,提高企業的競爭能力。創新互聯是一支青春激揚、勤奮敬業、活力青春激揚、勤奮敬業、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰,讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創新互聯推出四子王免費做網站回饋大家。
通過修改,可以把并發連接調到幾百以上甚至更大,這個數字理論上是沒有上限的。
而作為服務器,從操作系統級,也會對并發連接數有個限制,因為每個連接要耗CPU和內存的,否則也會癱瘓。而不同的系統,不同的服務器,可以支持的數量當然不同了,所以你這個問題沒有實際意義,也沒有準確答案。
我實際測試,一臺DELL四路四核,32G內存的服務器,并發500左右完全沒有問題,再大也沒有條件測試,而如果一臺普通的低端服務器,不可能達到同一數量級對吧?
Oracle服務器連接數過多會當掉,把連接數過多的客戶機網線拔出后,在遠程Oracle上依然還會保留此用戶的連接數,久久不能釋放,上網查了下可以以下面方法解決。
通過profile可以對用戶會話進行一定的限制,比如IDLE時間。
將IDLE超過一定時間的會話斷開,可以減少數據庫端的會話數量,減少資源耗用。
使用這些資源限制特性,需要設置resource_limit為TRUE:
[oracle@test126 udump]$ sqlplus “/ as sysdba”
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Oct 13 07:58:21 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 show parameter resource
NAME TYPE VALUE
———————————— ———– ——————————
resource_limit boolean TRUE
resource_manager_plan string
該參數可以動態修改:
SQL alter system set resource_limit=true;
System altered.
數據庫缺省的PROFILE設置為:
SQL SELECT * FROM DBA_PROFILES;
PROFILE RESOURCE_NAME RESOURCE LIMIT
——————– ——————————– ——– —————
DEFAULT COMPOSITE_LIMIT KERNEL UNLIMITED
DEFAULT SESSIONS_PER_USER KERNEL UNLIMITED
DEFAULT CPU_PER_SESSION KERNEL UNLIMITED
DEFAULT CPU_PER_CALL KERNEL UNLIMITED
DEFAULT LOGICAL_READS_PER_SESSION KERNEL UNLIMITED
DEFAULT LOGICAL_READS_PER_CALL KERNEL UNLIMITED
DEFAULT IDLE_TIME KERNEL UNLIMITED
DEFAULT CONNECT_TIME KERNEL UNLIMITED
DEFAULT PRIVATE_SGA KERNEL UNLIMITED
DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10
DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED
PROFILE RESOURCE_NAME RESOURCE LIMIT
——————– ——————————– ——– —————
DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED
DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED
DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL
DEFAULT PASSWORD_LOCK_TIME PASSWORD UNLIMITED
DEFAULT PASSWORD_GRACE_TIME PASSWORD UNLIMITED
16 rows selected.
創建一個允許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
釋放連接只能是讓一些連接的進程斷開連接。
查詢哪個user的連接數最多,先跟他們的用戶說,不能連接這么多的進程,讓他們釋放一些,如果釋放了,系統正常了,那么就限制每個用戶連接數,不讓他們連接這么多。
如果不釋放,你就在操作系統層面把他們那些進程kill掉,有人來找就讓他們對系統夯住負責,然后限制用戶的連接數。
不過這么操作的風險還是不小的,自己掂量。
網頁名稱:oracle如何釋放連接 oracle連接不釋放
文章轉載:http://vcdvsql.cn/article48/hpghep.html
成都網站建設公司_創新互聯,為您提供移動網站建設、響應式網站、Google、關鍵詞優化、App開發、動態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯