溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用Oracle PROFILE控制會話空閑時間

發布時間:2020-08-10 23:12:17 來源:ITPUB博客 閱讀:295 作者:dbcloudy 欄目:關系型數據庫

   客戶想實現對會話空閑時間的控制,下面是做的一個例子。

Microsoft Windows [版本 6.1.7601]

(c) 2009 Microsoft Corporation。保留所有權利。

 

 

SQL*Plus: Release 11.2.0.3.0 Production on 星期二 4 14 08:42:55 2015

 

 

 

1分鐘。

 

 

 

 

 

16行。

 

 

 

SQL> alter system set resource_limit =true;    <<<< PROFILEKERNEL類型的項目進行控制需要將該參數設置為TRUE,PASSWORD類型的項目不受此參數限制。

 

 

 

 

 

 

 

SQL*Plus: Release 11.2.0.3.0 Production on 星期二 4 14 08:55:49 2015

 

 

 

 

1 行出現錯誤:

ORA-02396: 超出最大空閑時間, 請重新連接

 

 

SQLPLUS,PL/SQL工具無效,下面討論一下為什么對PL/SQL無效。

 

test111登陸PL/SQL之后查看數據庫會話信息:


使用Oracle PROFILE控制會話空閑時間
   成功登陸后在數據庫里面看到創建了兩個session,可以看到sessionlogin時間是11:17:0911:17:28兩個時間點。由于沒有執行任何SQL,登陸成功后的session狀態是INACTIVE的。

IDLE_TIME設置的為1分鐘,1分鐘后兩個會話的狀態變成了SNIPED,表示會話已經過期。

PL/SQL中執行任何SQL語句的時候,PL/SQL沒有報錯,成功執行。

11:20:4711:20:51,狀態又變成了INACTIVE。

SQL語句的時候自動的重新登陸了。

 

SQLPLUS的情況:

使用Oracle PROFILE控制會話空閑時間
11:37:26登陸成功后,為SQLPLUS創建了一個SESSION,

1分鐘沒操作后會話變成了SNIPED狀態。

SESSION已經被KILL。
由此可以判斷,PROFILE IDLE_TIME對SQLPLUS有效,對PL/SQL無效
跟客戶端有很大關系。

SQLNET.EXPIRE_TIME參數的含義:

 

    SQLNET.EXPIRE_TIME=1表示每過1分鐘都向客戶端發出一個測試連接的包,客戶端收到后會給出響應,如果連接正常,這個連接是不會被殺掉的。

    Oracle推薦PROFILESQLNET.EXPIRE_TIME一起使用,但由于PL/SQL工具本身的特點,它會在SESSION的狀態變成SNIPED(PROFILE IDLE_TIME超時)后,第一次操作的時候自動重新連接,所以這兩種方法都控制不了它。

    Oracle提出一種方法,就是在Oracle服務器端部署定時殺掉SNIPED狀態會話的腳本。但是為了處理少量的PL/SQL客戶端,未免有點大費周章了。


--end--

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女