oracle数据库断开连接
A. oracle ora 12537 报错连接关闭!
问题分析:
由于之前出现过由于数据库的监听突然挂掉,导致连接异常,虽然那时通过PL/sql工具连接时报的异常不是这个,但是为了排除这方面的原因,还是检查了下数据库的监听情况。
通过命令lsnrctl status,查看到数据库的监听是正常的。
因为无法通过PL/SQL连接工具连接数据库,所有就想通过DBA系统用户,连接数据库,进行检查。在数据库服务器上,执行“sqlplus / as sysdba”命令后,出现如下图异常:
.jpg
看到这个ERROR,才明白,是数据库的连接数被占用完了,导致连接关闭的错误了。
问题解决:
马上让开发那边的同事,关掉连接这个数据库测试用户,释放一些连接。然后通过PL/SQL工具,连接上数据库,查看当前数据库服务器所占用的连接数。
select username,count(username) ,machine from v$session group by username,machine
.jpg
发现某个机器的连接数巨大,检查对应服务器的后台日志,发现这些连接数都是由于程序中没有及时释放导致。
联系开发人员,优化代码。
B. 局域网内连接服务端oracle数据库,用数据库工具例如(obj9 ,plsql)连接一定时间就断开了,怎么保持连接
idle时断开:
可能1:
每个数据库用户会对应一个profile,profile中有一项叫做IDLE_TIME,这项控制最大连续空闲时间,当用户连接空闲时间超过这个限制时就自动断开了。
可能2:
数据库启用了resource manager。资源管理器中有一项叫做max_idle_time,这项控制单个连接的总空闲时间,当用户连接空闲时间超过这个限制时就自动断开了。
可能3:
数据库启用了resource manager。资源管理器中有一项叫做max_idle_blocker_time,这项控制连接处于idle状态且阻塞了其他连接的最大时间,当用户连接处于idle状态且阻塞了其他连接的时间超过这个限制时就自动断开了。
运行时断开:
可能1:
同上,profile或者resource manager中对应项限制的用户连接使用的资源总量,当用户执行的程序使用资源总量超过限制时就被断开了。
可能2:
遇到数据库bug或者第三方软件与oracle的不兼容问题。
C. 由于突然断电,oracle 数据库无法启动 提示ORA-01092:oracle实例终止。强制断开连接 然后查看alter日志如
SQL>conn / as sysdba;
SQL>shutdown immediate;
SQL>startup mount;
SQL>show parameter undo;(这里可以查看undo的表空间管理方式应该是auto)
SQL>alter system set undo_management=manualscope=spfile;
SQL>shutdown immediate;
SQL>startup;
我们的思路是新建一个undo表空间,替换原来损坏的表空间.删除掉原来的坏的undo表空间.如果不放心,还可以建个和以前损坏的表空间同名的undo表空间再替换回来.这里设新建undo表空间名为undo2,原来环掉的表空间名为undotbs1.
SQL>create undo tablespace undo2 datafile'd:\oracle\oradata\orcl\undo2.dbf' size 200M;
SQL>alter system set undo_tablespace=undo2scope=spfile;
SQL>drop tablespace undotbs1 including contents anddatafiles;
SQL>create undo tablespace undotbs1datafile 'd:\oracle\oradata\orcl\undotbs01.dbf' size 200M;
SQL>alter system set undo_tablespace=undotbs1scope=spfile;
SQL>drop tablespace undo2 including contents anddatafiles;
到这里原来的undo表空间就恢复了.记得把管理方式设置为auto.很简单不再罗嗦.
D. plsql developer 杩炴帴杩灭▼Oracle鏁版嵁搴撴椂锛屼竴瀹氭椂闂村唴涓嶆搷浣沧暟鎹搴撴椂灏变细镊锷ㄦ柇鎺夎繛鎺ワ纴镐庝箞璁╁畠淇濇寔杩炴帴
瑕佷慨鏀归厤缃鏂囦欢镄
鎴戜篃链夎繃绫讳技𨱍呭喌
鍦ㄧ敤镞犵嚎璺鐢辫繛鎺ユ暟鎹搴撶殑镞跺椤氨浼氩嚭鐜版帀绾匡纴浣嗘槸鐢ㄧ绣绾跨洿鎺ョ殑璇濓纴灏变笉浼氩嚭鐜版帀绾匡纴褰撴椂杩樼湡娌℃湁濂界殑瑙e喅锷炴硶