PLSQL 經常自動斷開失去連接的解決過程


問題背景:

情況是這樣的,很多開發同事的PLSQL上班時間開着8個小時,有時候他們出去抽煙后或者中午吃完飯,回來在PLSQL上面執行就報錯無響應,然后卡住了半天動彈不了,非得重新登錄plsql才生效,我猜猜是因為連接失效的緣故,經常碰到這種情況,還沒有影響工作效率和工作心情的。

1,去查看以下CONNECT_TIME的連接時間

SQL> select * from dba_profiles t wheret.resource_name='CONNECT_TIME';

PROFILE                        RESOURCE_NAME                    RESOURCE_TYPE LIMIT

-------------------------------------------------------------- -----------------------------------------------------

DEFAULT                        CONNECT_TIME                    KERNEL        UNLIMITED

MONITORING_PROFILE            CONNECT_TIME                    KERNEL        DEFAULT

TMPOPT                        CONNECT_TIME                    KERNEL        DEFAULT

MYPROFILE                      CONNECT_TIME                    KERNEL        DEFAULT

SQL>

看到有4個,那如何找到powerdesk用戶所屬於的那個profile呢?去查看當前用戶的CONNECT_TIME

SQL> select * from user_resource_limits;

RESOURCE_NAME                    LIMIT

------------------------------------------------------------------------

COMPOSITE_LIMIT                  UNLIMITED

SESSIONS_PER_USER                UNLIMITED

CPU_PER_SESSION                  UNLIMITED

CPU_PER_CALL                    UNLIMITED

LOGICAL_READS_PER_SESSION        UNLIMITED

LOGICAL_READS_PER_CALL          UNLIMITED

IDLE_TIME                        UNLIMITED

CONNECT_TIME                    UNLIMITED

PRIVATE_SGA                      UNLIMITED

9 rows selected

SQL>

看到CONNECT_TIME是UNLIMITED,沒有限制,那么為什么plsql連接會出現未響應的現象呢?

2,cmd里面去用sqlplus連接驗證

sqlplus連接上,過去30分鍾不操作,再次操作連接db,正常使用,看來這和Oracledb無關了,應該要去看看plsql的設置了

3,去plsql里面設置

進入plsql的Tools,再進入Preferences,然后選擇左邊的Connection選型,選擇Check connection,如下圖1.png所示:

PLSQL 經常自動斷開失去連接的解決過程

這會比較穩定一些,當然可能你PLSQL開一天不用,再進去會延時一會,但是短時間里面都不會失靈了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM