Oracle Enterprise Manager 中的活动会话和用户 I/O 是什么意思?

What does Active Sessions and User I/O mean in Oracle Enterprise Manager?

"Active Session"是什么意思?我需要使用这张取自 Oracle Enterprise Manager (OEM) 的图表来分析数据库性能,但我不明白什么是 "Active Session" 以及为什么有 22 个用户 I/O?有人可以用简单的语言向我解释这些基础知识:OEM 中的 "Active Session" 和 "User I/O" 吗?而他们之间又是什么关系呢?

活动会话 是等待数据库做某事的会话。这是衡量数据库繁忙程度的好方法。可能有 1000 名用户在下午 2 点连接,但其中只有 12 个 运行 甚至会注意到数据库是否缓慢。如果使用并行性,则单个用户可能有多个活动会话。

用户I/O通常是一个等待磁盘操作,直接为活动会话执行。例如,从磁盘读取数据以进行完整 table 扫描或索引范围扫描。


要调整此工作负载,您需要深入了解并更多地了解您的环境:

  1. 你想调整什么,为什么?(太多人忽略了这个问题。如果你没有一个具体的目标,调整通常是浪费时间.)
  2. 此时用户期望是什么运行?这是不是太忙了,拖慢了速度,还是它不够忙,没有为大型批处理作业使用足够的资源。
  3. 哪些语句负责 I/O 和 CPU? 该信息应该在图表下方的同一 OEM 页面上提供。
  4. 这些语句 运行 有效吗? 这是困难的部分,没有简单的清单可以解决这个问题;这需要多年的经验。

如果我大胆猜测(根据相对 "smooth" 的图表和 I/O 与 CPU 的比率)你是 运行 一个大平行正在执行完整 table 扫描的语句。如果是这种情况,并且有一个 SQL 语句负责大部分 activity,您应该能够单击它并调出 SQL 监控报告以深入了解更多信息.

当您发现什么是缓慢的时,这可能是一个单独的问题。