欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

PLSQL 经常自动断开失去连接的解决过程

程序员文章站 2022-03-28 11:56:50
...

情况是这样的,很多开发同事的PLSQL上班时间开着8个小时,有时候他们出去抽烟后或者中午吃完饭,回来在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开一天不用,再进去会延时一会,但是短时间里面都不会失灵了。

PS:后续问题,PLSQL不断开连接,但是你关闭以前打开的执行文件或者sql窗口还是会卡住,报未响应的情况,这种只要强行关闭PLSQL重新打开登录了。

Oracle 10g 安装后重启系统,用PLSQL连接报没有监听

ORA-03114 PLSQL过程编译断开连接错误

PLSQL 连接 Oracle简单配置

PLSQL批量Forall操作性能提升详解

使用Oracle SQLDeveloper连接数据库并创建用户

Oracle自带的PL/SQL Developer导入导出数据

在64位Win7系统下安装Oracle 11g和Oracle SQL Developer客户端