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
What does Active Sessions and User I/O mean in Oracle Enterprise Manager?
提问by Prostak
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:
要调整此工作负载,您需要深入了解并了解有关您的环境的更多信息:
- 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.)
- 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.
- What statements are responsible for the I/O and CPU?That information should be available on the same OEM page, underneath the chart.
- Are those statements running efficiently?This is the tough part, and there's no simple checklist to solve this; it takes years of experience.
- 你想调整什么,为什么?(太多人忽略了这个问题。如果你没有一个具体的目标,调整通常是浪费时间。)
- 用户希望此时运行什么?这是否太忙而减慢了速度,还是不够忙并且没有为大批量作业使用足够的资源。
- 哪些语句负责 I/O 和 CPU?该信息应位于图表下方的同一 OEM 页面上。
- 这些语句是否有效运行?这是困难的部分,没有简单的清单来解决这个问题;这需要多年的经验。
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.
当你发现什么是缓慢的时,这可能是一个单独的问题。