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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/29156474/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-19 02:46:55  来源:igfitidea点击:

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

oracledatabase-performanceoracle-enterprise-manager

提问by Prostak

enter image description here

在此处输入图片说明

What does "Active Session" mean? I need to analyze database performance by using this graph taken from Oracle Enterprise Manager (OEM), but I don't understand what is "Active Session" and why there are 22 of them of User I/O? Could someone please explain me with simple language this basics: "Active Session" and "User I/O" in OEM? And what is the relationship between them?

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

采纳答案by Jon Heller

Active Sessionsare sessions waiting for the database to do something. It is a good way to measure how busy the database is. There may have been a thousand users connected at 2PM but only 12 of them were running something and would even notice if the database was slow. If parallelism is used then a single user may have multiple active sessions.

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

User I/Ois usually a wait on disk operations performed directly for an active session. For example, reading data from disk for a full table scan or an index range scan.

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



To tune this workload you'll need to drill down and learn a lot more about your environment:

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

  1. What are you trying to tune and why?(Too many people overlook this question. If you don't have a concrete goal in mind tuning is usually a waste of time.)
  2. What do the users expectto be running at this time?Is this too busy and slowing things down, or is it not busy enough and not using enough resources for a large batch job.
  3. What statements are responsible for the I/O and CPU?That information should be available on the same OEM page, underneath the chart.
  4. Are those statements running efficiently?This is the tough part, and there's no simple checklist to solve this; it takes years of experience.
  1. 你想调整什么,为什么?(太多人忽略了这个问题。如果你没有一个具体的目标,调整通常是浪费时间。)
  2. 用户希望此时运行什么?这是否太忙而减慢了速度,还是不够忙并且没有为大批量作业使用足够的资源。
  3. 哪些语句负责 I/O 和 CPU?该信息应位于图表下方的同一 OEM 页面上。
  4. 这些语句是否有效运行?这是困难的部分,没有简单的清单来解决这个问题;这需要多年的经验。

If I were to take a wild guess (based on the relatively "smooth" chart and the ratio of I/O to CPU) you are running a large parallel statement that is performing a full table scan. If that's the case, and there's a single SQL statement responsible for most of the activity, you should be able to click on it and bring up the SQL Monitoring Report to drill down some more.

如果我大胆猜测(基于相对“平滑”的图表和 I/O 与 CPU 的比率),您正在运行一个执行全表扫描的大型并行语句。如果是这种情况,并且有一条 SQL 语句负责大部分活动,那么您应该能够单击它并调出 SQL 监控报告以进一步深入研究。

When you find out what is slow that may be a separate question.

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