自動清理Dead Connections And INACTIVE Sessions

renjixinchina發表於2014-01-09


Dead connections

   有效連線服務端和客戶端被意外中斷,但是程式再服務斷依然在伺服器斷執行
常見情況如下:
  在沒有關閉連線的情況下機器被意外重啟
  客戶端和服務端網路被中斷(如防火牆)

設定辦法

如果需要自動清理Dead Connections,需要開啟DCD (Dead Connection Detection ),DCD 開啟後,服務端(SQL*NET)會定期傳送一個探測包到客戶端,如何客戶端是活動狀態,這個包將被丟棄,如果客戶端中斷,服務端會受到一個錯誤,進而終止程式。

 

開啟DCD,只需要在服務端的sqlnet.ora檔案中新增SQLNET.EXPIRE_TIME引數,單位為分鐘:
SQLNET.EXPIRE_TIME = 10

INACTIVE Sessions

保持連線並且程式狀態是INACTIVE

設定辦法

 [oracle@oracle10g ~]$ sqlplus / as sysdba
 
SQL*Plus: Release 10.2.0.4.0 - Production on Thu Jan 9 06:35:48 2014
 
Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
 
 
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
 
SQL> show parameter resource_limit 
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
resource_limit                       boolean     FALSE
SQL> alter system set resource_limit=true;
 
System altered.
 
SQL> create profile idletime limit idle_time 10;
 
Profile created.
 
SQL> alter user scott profile idletime;
 
User altered.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15747463/viewspace-1068806/,如需轉載,請註明出處,否則將追究法律責任。

相關文章