2022年在Oracle 8x中实现自动断开后再连接ORACLE教程.docx
《2022年在Oracle 8x中实现自动断开后再连接ORACLE教程.docx》由会员分享,可在线阅读,更多相关《2022年在Oracle 8x中实现自动断开后再连接ORACLE教程.docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2022年在Oracle 8x中实现自动断开后再连接ORACLE教程在实际的数据库应用中,我们常常遇到这样一个问题,连接到Oracle数据库的用户在作了一次操作后,再也没有后续操作,但却长时间没有和数据库断开连接。对于一个小型的应用系统来讲,本身的连接数目就有限,这似乎没有什么严峻的后果,但假如对于一个大型的数据库应用。如税务、工商等,假如数据库的连接数目许多,对于数据库服务器来讲,多一个连接就要多消耗一份资源,假如大量用户连接进入数据库系统但却不进行任何的操作,这无形之中就白白造成了服务器系统资源的奢侈,同时造成服务器负载的提高,对于那些的确在工作的用户来讲,就不能最大限度的利用服务器的资源
2、,严峻状况下可能造成系统性能的急剧下降。针对这种问题,该如何处理呢?对于目前流行的三层结构(Browser/Application/Server)开发来讲,这个问题可以通过设置应用服务器端的连接共享池(shared pool)来避开。但对于传统的两层结构(Client/Server)应用,就必需由我们人为干预来避开这种资源奢侈状况。详细可以通过一个后台任务来监控系统中的全部进程,对于那些空闲超过肯定时间的进程实行肯定的特别处理措施,如在客户端提示用户连接时间太长,假如没有后续操作系统将自动杀掉该连接或者干脆将该空闲连接杀掉。下面就来详细探讨如何在Oracle 8x环境下实现用户进程的自动监控及
3、其对对超过肯定空闲时间连接的处理方法。一、识别系统中超过肯定空闲时间的连接要实现后台任务自动对超过肯定时间空闲连接的处理,首先第一步工作就是要从全部与数据库服务器的连接中识别出那些连接须要处理,也就是须要获得与服务器连接的每个用户的登陆时间及其最终一次操作后的空闲时间。在Oracle系统中,有一个动态性能视图v$session,该视图保存着系统当前连接的各种动态信息。其中,有两个字段LOGON_TIME和 LAST_CALL_ET可以得到上面的两个答案。l LOGON_TIME是一个日期型(Date)字段,为用户登陆时间;l LAST_CALL_ET是一个数字型(Number)字段,其
4、含义是用户最终一条语句执行完毕后的时间,单位为秒。每次用户执行一个新的语句后,该字段复位为0,重新起先记数。我们可以通过该字段来获得一个连接用户最终一次操作数据库后的空闲时间。下面的SQL查询语句可以得到与当前数据库连接的全部用户的一些基本状况,如用户名、状态、连接机器的名称,操作系统中用户的名称,UNIX系统的进程号,在UNIX操作系统级断开连接的语句,Oracle数据库系统断开连接的语句,登陆时间以及最终一次操作到现在的空闲时间等等。SELECT s.username 用户名称, s.status 状态,s.machine 机器名称,osuser 操作系统用户名称,spid UNIX进程号
5、,kill -9 |spid UNIX级断开连接,alter system kill session |s.sid|,|s.serial# | ; Oracle级断开连接,TO_CHAR (logon_time, dd/mm/yyyy hh24:mi:ss) 登陆时间,last_call_et 空闲时间秒,TO_CHAR (TRUNC (last_call_et / 3600, 0)| | HRS |TO_CHAR (TRUNC (last_call_et - TRUNC (last_call_et / 3600, 0) * 3600) / 60, 0) | MINS 空闲时间小时分钟,mod
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年在Oracle 8x中实现自动断开后再连接ORACLE教程 2022 Oracle 实现 自动 断开 连接 教程
限制150内