问题背景:
情况是这样的,很多开发同事的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连接验证
3,去plsql里面设置
进入plsql的Tools,再进入Preferences,然后选择左边的Connection选型,选择Check connection,如下图1.png所示:

这会比较稳定一些,当然可能你PLSQL开一天不用,再进去会延时一会,但是短时间里面都不会失灵了。
PS:后续问题,PLSQL不断开连接,但是你关闭以前打开的执行文件或者sql窗口还是会卡住,报未响应的情况,这种只要强行关闭PLSQL重新打开登录了。