在Oracle 8x中实现自动断开后再连接
2010-10-01 11:53:06 来源:WEB开发网l LOGON_TIME是一个日期型(Date)字段,为用户登陆时间;
l LAST_CALL_ET是一个数字型(Number)字段,其含义是用户最后一条语句执行完毕后的时间,单位为秒。每次用户执行一个新的语句后,该字段复位为0,重新开始记数。我们可以通过该字段来获得一个连接用户最后一次操作数据库后的空闲时间。
下面的SQL查询语句可以得到与当前数据库连接的所有用户的一些基本情况,如用户名、状态、连接机器的名称,操作系统中用户的名称,UNIX系统的进程号,在UNIX操作系统级断开连接的语句,Oracle数据库系统断开连接的语句,登陆时间以及最后一次操作到现在的空闲时间等等。
SELECT s.username 用户名称, s.status 状态,s.machine 机器名称,
osuser 操作系统用户名称,spid UNIX进程号,
'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' 空闲时间小时分钟,
module 模块
FROM v$session s, v$process p
WHERE TYPE = 'USER'
AND p.addr = s.paddr
AND status != 'KILLED'
-- AND SUBSTR (machine, 1, 19) NOT IN ('机器名')
AND last_call_et > 60 * 60 * 1 -- 空闲时间超过1小时的连接
ORDER BY last_call_et desc;
- ››实现PHP页面静态化
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››实现android 再按一次退出程序代码
更多精彩
赞助商链接