Change by ubTools Support - 15/Jul/07 02:14 PM
|
Field |
Original Value |
New Value |
Status
|
Open
[ 1
]
|
Closed
[ 6
]
|
Resolution
|
|
Answered
[ 10
]
|
Change by ubTools Admin - 16/Sep/07 04:17 PM
|
Resolution
|
Answered
[ 10
]
|
|
Status
|
Closed
[ 6
]
|
Reopened
[ 4
]
|
Change by ubTools Admin - 16/Sep/07 04:17 PM
|
Issue Type
|
Problem
[ 1
]
|
Oracle - Database Tuning
[ 7
]
|
Change by ubTools Support - 16/Sep/07 04:28 PM
|
Resolution
|
|
Answered
[ 10
]
|
Status
|
Reopened
[ 4
]
|
Closed
[ 6
]
|
Change by ubTools Support - 19/Sep/07 12:11 PM
|
Status
|
Closed
[ 6
]
|
Reopened
[ 4
]
|
Resolution
|
Answered
[ 10
]
|
|
Change by ubTools Support - 19/Sep/07 12:13 PM
|
Status
|
Reopened
[ 4
]
|
Closed
[ 6
]
|
Resolution
|
|
Answered
[ 10
]
|
Answer:
This is the most well-known, but wrong formula I've read in many Oracle documentations.
parse time cpu includes parse cpu time of both recursive and user statements. recursive cpu usage includes both parse cpu time and non-parse cpu time of recursive statements. That means parse cpu usage of recursive statements is included in both parse time cpu and recursive cpu usage. In other words, it's duplicated and formula above is not correct.
ubTools offers the following formula:
Question:
If there is little or no SQL processing done within PL/SQL, should I also subtract recursive cpu usage from CPU used by this session to get the others cpu component ?
Answer:
NO. A formula should explain all cases. It should not work for just some scenarios only.
Also, both SQL and statements in PL/SQL are associated with a cursor internally in Oracle perspective. In other words, they are not different things in PARSE,EXEC,FETCH calls. If a statement is called by an other statement, it's called recursive statement. So, both an SQL and a PL/SQL can be recursive statements.
Recommendation:
The current Reponse Time Performance Analysis(RTA) implementaions are not correct. RTA has not reached its next level, yet. That's why ubTools offered a new technique by Microstate Response-time Performance Profiling (MRPP).
There has been a question on this topic at Tom Kyte's site
by referring ubTools:
Question:
Tom Kyte's answer:
Our answer:
We said the current CPU breakdown formula is incorrect, not the description of Oracle statistics.
CPU used by this session is the total CPU usage in session or instance level. And, there are 3 components in CPU usage:
These components can be seen in SQL_TRACE / EVENT10046 traces. Parse component is available by parse time cpu statistic. Since there is no Oracle statistic for Exec/Fetch components, we call them as others.
We had not mentioned values of the CPU usage statistics in this discussion. If we start talking about the values, it gets started another wrong topic on the values. Here is a brief explanation:
ubTools says for years that RESPONSE TIME ANALYSIS(RTA) CAN NOT BE IMPLEMENTED IN INSTANCE LEVEL. RTA IS A METHOD FOR SESSION LEVEL.
For the full details with the proven samples, see Microstate Response-time Performance Profiling (MRPP).