一般為了防止過多活動的session占用資源,可以對允許連接配接到資料庫的session個數,已連接配接到資料庫的session空閑時間等進行限制(當然也可以對嘗試連接配接次數等其它很多内容進行限制)。方式就是可以通過建立一個profile配置,然後将這個profile配置賦給每個使用者。
要使用這種限制的前提是将resource_limit這個參數設定為TRUE。
alter system set RESOURCE_LIMIT=true;
建立使用者時如果未指定具體profile,會有一個預設的profile,名稱是DEFAULT,如下所示:
SELECT * FROM dba_profiles WHERE PROFILE='DEFAULT';

這是這個名稱為DEFAULT的所有配置項參數。
其中IDLE_TIME就是一個session連上Oracle後不做任何事情,挂在那裡的空閑時間。DEFAULT預設所有的參數都是UNLIMITED,也就是無限制。
但也可以對其進行修改。例如建立一個名稱為idletime_profile的profile,并指定其中idle_time參數值是1,機關是分鐘。
SQL> create profile idletime_profile limit idle_time 1;
Profile created.
并将該profile賦給使用者bisal
SQL> alter user bisal profile idletime_profile;
User altered.
這樣當用bisal登入到Oracle後,持續1分鐘不幹事,再次執行某個操作時就會報ORA-02396: exceeded maximum idle time, please connect again