5.Session 的连接情况
通过 Session 的连接信息,可以分析出数据库系统业务的负载情况以及来自哪些客户端的任务较多,并且根据 Session 的空闲情况判断客户端连接池是否存在过多的连接。查询 Session 连接情况的 SQL 语句如下。
SELECT s.sid, s.username, s.hostname, q.odb_dbname database,
dbinfo('UTC_TO_DATETIME',s.connected) conection_time,
dbinfo('UTC_TO_DATETIME',t.last_run_time) last_run_time,
current - dbinfo('UTC_TO_DATETIME',t.last_run_time) idle_time
FROM syssessions s, systcblst t, sysrstcb r, sysopendb q
WHERE t.tid = r.tid AND s.sid = r.sid AND s.sid = q.odb_sessionid
ORDER BY 7 DESC;
数据库 Session 连接情况的查询结果如下。
在数据库监控过程中,我们经常需要监控 Session 的连接信息,例如 Session 来自哪一个客户端(客户端 IP 地址或者名称),客户端的进程 ID(-1 标识长连接,一些来自 Java连接池的情况都显示为-1)连接到了哪一个数据库、连接时间以及多长时间没有执行任务,通过该信息可以确定连接池开启的连接个数是否过多或者过少。