Answer: B, D, F
Explanation :
A, E - False : V$SESSION_EVENT displays information on waits for an event by a session.
V$SESSION_WAIT_HISTORY displays the last 10 wait events for each active session.
B - V$SERVICE_EVENT displays aggregated wait counts and wait times for each wait statistic.
C - False : V$SESSION_WAIT_CLASS displays the time spent in various wait event operations on a per-session basis.
D, F - True : V$SESSION_WAIT displays the current or last wait for each session. V$SESSION.EVENT If the session is currently waiting, then the resource or event for which the session is waiting. If the session is not in a wait, then the resource or event for which the session most recently waited.
Resource :
https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/V-SESSION_EVENT.html#GUID-5723D404-83F7-4C8D-8BF2-031B3FFEAAA8
The session/service views show what is happening NOW. You can append _HISTORY onto these (eg, V_SESSION_WAIT_HISTORY) to see what happened in the past, to sessions that have disconnected (on disconnect, Oracle will, basically, copy that session's v$ data into the corresponding v$_HISTORY views. Therefore, any answer that refers to anything in the past, here, must be wrong.
Another note is that all sessions are ALWAYS waiting for something. An "active" wait would be waiting for I/O to return. An "idle" wait would be waiting for the user to ask the DB to do something. They're both considered to be "waits", so the DB is always waiting.
A: FALSE - It shows these details for existing sessions, not past sessions.
B: TRUE - The definition is exactly what the view does
C: TRUE - As mentioned, all sessions are always waiting. So, this is true
D: FALSE - There is no such thing as a "non-waiting session", so this must be false.
E: FALSE - This references older sessions, so you would need to access the _HISTORY view for this data.
F: TRUE - This is exactly what these views do.
Therefore, BCF are correct
C is false, since it "displays the time spent in various wait event operations on a per-session basis", therefore it shows no matter if the session is in wait or not
https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/V-SESSION_WAIT_CLASS.html#GUID-B890F027-CE8A-452B-96B2-213985B21484
D is true: "If the session is currently waiting, then the resource or event for which the session is waiting. If the session is not in a wait, then the resource or event for which the session most recently waited."
https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/V-SESSION_WAIT.html#GUID-4EDAB293-F3FC-40FE-BC75-4FEE6A4D7705
BDF
D is incorrect, I think not only displays waits broken down by wait class
V$SESSION_WAIT_CLASS displays the time spent in various wait event operations on a per-session basis.
https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/V-SESSION_WAIT_CLASS.html#GUID-B890F027-CE8A-452B-96B2-213985B21484
The V$SERVICE_EVENT view shows, by service, the total waits for a particular event since instance startup. => B: TRUE
The V$SESSION_WAIT_CLASS view aggregates the waits by session and wait class, since instance startup. All sessions are always waiting. => C: TRUE
The V$SESSION_WAIT view lists the resources or events for which active sessions are waiting. The V$SESSION view also includes the current wait information. => F: TRUE & D: FALSE
both V$SESSION_WAIT and V$SESSION contains information of actual wait or last wait (example: column "state" shows "waiting" or "waited for short"). C incorrect because contains statistical counts for non-waiting sessions too.
BDF
Sessions are not always waiting - they can be in working state (ON CPU). Check description of EVENT column:
If the session is currently waiting, then the resource or event for which the session is waiting. If the session is not in a wait, then the resource or event for which the session most recently waited.
I think C is wrong
The V$SESSION_WAIT_CLASS view allows you to see the session wait information broken down by wait class for each session.
https://oracle-base.com/articles/10g/performance-tuning-enhancements-10g
Yes, I came to the same conclusion about A and E being incorrect.
C also looks incorrect to me as v$session_wait_class will also show the waits happened for non waiting sessions, for example 'Idle'.
So I got B,D,F as correct answers for now.
What do you think?
BCF:
V$SESSION_WAIT_CLASS displays the time spent in various wait event operations on a per-session basis.
V$SESSION_WAIT displays the current or last wait for each session.
V$SESSION displays session information for each current session.
A voting comment increases the vote count for the chosen answer by one.
Upvoting a comment with a selected answer will also increase the vote count towards that answer by one.
So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.
brolem
Highly Voted 2 years, 9 months agoxRodge
Highly Voted 3 years agoAlvinzzz
1 year, 1 month agoDatajimm
2 years, 3 months agodancymonkey
Most Recent 6 months, 2 weeks agodancymonkey
6 months, 2 weeks agoLEOC71
9 months agoGuhborges
1 year agoGuhborges
1 year, 1 month agoGuhborges
1 year, 1 month ago_gio_
1 year, 3 months ago_gio_
11 months, 3 weeks agovkra
1 year, 5 months agoPatrick9230
2 years agovska
2 years, 4 months agoNeil107
2 years, 11 months agonobody347
3 years agoAbdou1968
3 years, 10 months agojanw
3 years, 11 months agoAlejandrrro
3 years, 7 months agojanw
3 years, 11 months agojulica
4 years ago