【转】ORACLE定期清理INACTIVE会话
2016-12-21 18:23
162 查看
源地址:http://www.cnblogs.com/kerrycode/p/3636992.html
[/code]
[/code]
如果是RAC环境,那么最好使用下面SQL语句,使用全局视图GV$SESSION。
[/code]
[/code]
接下来创建存储过程SYS.DB_KILL_IDLE_CLIENTS. 方便调用该功能执行kill inactive 会话。注意:xxx部分用实际业务的PROGRAM来替代。
[/code]
[/code]
另外,由于kill session是直接将session kill掉,有可能出现导致事物回滚的现象,其实我们可以使用disconnect session完成当前事务并终止session。这种方式比alter system kill session跟安全可靠。
[/code]
[/code]
然后,我们可以在作业(JOB)或Schedule里面定期调用该存储过程,也可以通过后台作业结合shell脚本实现定期清理空闲会话的功能。例如如下所示。
创建killSession.sh脚本,调用该存储过程SYS.DB_KILL_IDLE_CLIENTS
[/code]
[/code]
在crontab里面配置后台作业,每隔15分钟运行一次,清理哪些满足条件的空闲会话。
0,15,30,45 * * * * /home/oracle/cron/session/bin/killSession.sh >/dev/null 2>&1
[code]
[/code]
[/code]
如果是RAC环境,那么最好使用下面SQL语句,使用全局视图GV$SESSION。
[code][code]
[/code]
[/code]
接下来创建存储过程SYS.DB_KILL_IDLE_CLIENTS. 方便调用该功能执行kill inactive 会话。注意:xxx部分用实际业务的PROGRAM来替代。
[code][code]
[/code]
[/code]
另外,由于kill session是直接将session kill掉,有可能出现导致事物回滚的现象,其实我们可以使用disconnect session完成当前事务并终止session。这种方式比alter system kill session跟安全可靠。
[code][code]
[/code]
[/code]
然后,我们可以在作业(JOB)或Schedule里面定期调用该存储过程,也可以通过后台作业结合shell脚本实现定期清理空闲会话的功能。例如如下所示。
创建killSession.sh脚本,调用该存储过程SYS.DB_KILL_IDLE_CLIENTS
[code][code]
[/code]
[/code]
在crontab里面配置后台作业,每隔15分钟运行一次,清理哪些满足条件的空闲会话。
0,15,30,45 * * * * /home/oracle/cron/session/bin/killSession.sh >/dev/null 2>&1
相关文章推荐
- ORACLE定期清理INACTIVE会话
- ORACLE定期清理INACTIVE会话
- ORACLE 定期清理INACTIVE会话
- ORACLE定期清理INACTIVE会话
- ORACLE定期清理INACTIVE会话
- ORACLE定期清理INACTIVE会话
- Oracle监听日志定期清理
- Oracle监听日志定期清理
- 使用RMAN方式定期清理oracle日志
- ORACLE定期清理INACTIVE会话
- ORACLE定期清理INACTIVE会话
- Oracle定期运行数据
- Oracle日志清理
- php中session定期自动清理的方法
- ORACLE数据库系统做定期监控
- linux下”流氓“清理oracle安装脚本
- Linux下oracle异机定期数据泵逻辑导出
- mysql主从日志的定期清理
- oracle dba应该定期做什么!
- oracle修改默认定期(180天)修改密码