📜  oracle 会话统计 - SQL (1)

📅  最后修改于: 2023-12-03 14:44:56.176000             🧑  作者: Mango

Oracle 会话统计 - SQL

介绍

在 Oracle 数据库中,会话统计可以帮助我们分析每个会话的性能和行为。可以通过 SQL 查询来获取会话统计信息,然后进行分析。

SQL 查询示例
SELECT sid,
       serial#,
       username,
       module,
       action,
       machine,
       status,
       sql_id,
       sql_child_number,
       buffer_gets,
       disk_reads,
       cpu_time,
       elapsed_time,
       parse_calls,
       execute_count
FROM v$session s
JOIN v$sqlarea q ON s.sql_id = q.sql_id AND s.sql_child_number = q.child_number
WHERE s.type != 'BACKGROUND'
ORDER BY username, module, action;
SQL 查询说明
查询语句
SELECT sid,
       serial#,
       username,
       module,
       action,
       machine,
       status,
       sql_id,
       sql_child_number,
       buffer_gets,
       disk_reads,
       cpu_time,
       elapsed_time,
       parse_calls,
       execute_count
FROM v$session s
JOIN v$sqlarea q ON s.sql_id = q.sql_id AND s.sql_child_number = q.child_number
WHERE s.type != 'BACKGROUND'
ORDER BY username, module, action;
查询字段说明
  • sid:会话 ID。
  • serial#:会话序列号。
  • username:会话所属用户。
  • module:会话所在模块。
  • action:会话所执行的操作。
  • machine:会话所在的机器。
  • status:会话当前状态。
  • sql_id:正在执行的 SQL 语句的 SQL_ID。
  • sql_child_number:正在执行的 SQL 语句的子编号。
  • buffer_gets:从缓存中获取数据块的数量。
  • disk_reads:从磁盘中读取数据块的数量。
  • cpu_time:CPU 时间。
  • elapsed_time:经过的时间。
  • parse_calls:解析 SQL 语句的次数。
  • execute_count:执行 SQL 语句的次数。
查询条件说明
  • s.type != 'BACKGROUND':排除后台会话。
查询结果排序说明
  • ORDER BY username, module, action:按照用户名、模块、操作进行排序。
SQL 查询结果示例
| sid  | serial# | username | module | action | machine     | status | sql_id          | sql_child_number | buffer_gets | disk_reads | cpu_time | elapsed_time | parse_calls | execute_count |
| ---- | ------- | -------- | ------ | ------ | ----------- | ------ | --------------- | ---------------- | ----------- | ---------- | -------- | ------------ | ----------- | ------------- |
| 146  | 46322   | HR       |         |         | IT-MAC-3350 | ACTIVE | 7qka841j5yzqy   | 0                | 1234        | 12         | 231     | 1003         | 3           | 2             |
| 157  | 23564   | SCOTT    |         |         | IT-MAC-3005 | ACTIVE | 1h11uvja1aqw5   | 0                | 658         | 5          | 441     | 998          | 1           | 1             |
| 161  | 53694   | SYS      | SQL*Plus                        | IT-MAC-3005 | INACTIVE | 13qj3d1n88dwk  | 0                | 1114        | 0          | 1775    | 4241         | 1           | 4             |
| 166  | 61316   | SYS      | dbms_scheduler                  | IT-MAC-3005 | INACTIVE | 1s2z6kmpqczbb  | 0                | 639         | 0          | 89      | 1079         | 1           | 1             |
| 184  | 28452   | SYS      | SQL Developer                   | IT-MAC-2996 | INACTIVE | 4p6hnyw9hjuxm  | 0                | 0           | 2          | 212     | 2002         | 1           | 1             |
| 201  | 10038   | SYSTEM   | SQL Developer                   | IT-MAC-2996 | ACTIVE | 4p6hnyw9hjuxm  | 0                | 0           | 2          | 233     | 1503         | 1           | 1             |
结论

通过以上查询语句和查询结果可以分析会话的性能和行为,以便及时发现问题,并进行相应的解决。