如何自动杀死活动会话oracle

时间:2019-02-04 14:18:18

标签: sql oracle plsql

我想在开始时间大于1小时时自动终止会话oracle,请帮忙,我该怎么办。

3 个答案:

答案 0 :(得分:6)

您只需在配置文件中设置空闲超时连接超时,然后根据需要将该配置文件分配给用户。

来自the CREATE PROFILE documentation

  

如果用户超出了CONNECT_TIMEIDLE_TIME会话资源限制,则数据库将回滚当前事务并结束会话。当用户进程下一次发出呼叫时,数据库将返回错误。

     

[...]

     

CONNECT_TIME:指定会话的总经过时间限制,以分钟为单位。

     

IDLE_TIME:指定会话期间连续不活动时间的允许时间,以分钟为单位。长时间运行的查询和其他操作不受此限制。

答案 1 :(得分:4)

您设置个人资料并分配给相关用户

这是一个示例:

using C = System.Console;

答案 2 :(得分:0)

如何终止会话?

ALTER SYSTEM KILL SESSION 'sid,serial#';

如何查看所有“旧”会话?

SELECT s.SID,
       s.SERIAL#
  FROM v$session s
 WHERE s.LOGON_TIME < (SYSDATE - (1 / 24))