天天看點

ORA-02396: exceeded maximum idle time, please connect again的原因

        一般為了防止過多活動的session占用資源,可以對允許連接配接到資料庫的session個數,已連接配接到資料庫的session空閑時間等進行限制(當然也可以對嘗試連接配接次數等其它很多内容進行限制)。方式就是可以通過建立一個profile配置,然後将這個profile配置賦給每個使用者。

        要使用這種限制的前提是将resource_limit這個參數設定為TRUE。

alter system set RESOURCE_LIMIT=true;

        建立使用者時如果未指定具體profile,會有一個預設的profile,名稱是DEFAULT,如下所示:

SELECT * FROM dba_profiles WHERE PROFILE='DEFAULT';

ORA-02396: exceeded maximum idle time, please connect again的原因

        這是這個名稱為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