It must be a deliberate coding decision, and there may be a hidden
parameter (or call to an internal package) that changes the way Oracle
access the relevant x$, but if you trace the snapshot code you can see the
SQL statement that ought to populate the relevant wrh$ from the x$ table,
and then see that nothing arrives there.
Regards
Jonathan Lewis
On Sun, 28 Nov 2021 at 08:49, Quanwen Zhao <quanwenzhao@xxxxxxxxx> wrote:
Hello Listeners 😊,
Recently I've found three important views about *"v$waitclassmetric"*,
*"v$waitclassmetric_history"*, and *"dba_hist_waitclassmet_history"*.
Here're the corresponding links from oracle online docs:
*https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/V-WAITCLASSMETRIC.html*
<https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/V-WAITCLASSMETRIC.html>
*https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/V-WAITCLASSMETRIC_HISTORY.html#GUID-854BB495-19FC-4EB4-A81C-4D0EEA13B83C*
<https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/V-WAITCLASSMETRIC_HISTORY.html#GUID-854BB495-19FC-4EB4-A81C-4D0EEA13B83C>
*https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/DBA_HIST_WAITCLASSMET_HISTORY.html#GUID-A931DFBF-4023-41F0-A333-E56741DE589D*
<https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/DBA_HIST_WAITCLASSMET_HISTORY.html#GUID-A931DFBF-4023-41F0-A333-E56741DE589D>
Quoted the brief introduction for themselves:
9.131 V$WAITCLASSMETRIC
V$WAITCLASSMETRIC displays metric values of wait classes for the most *recent
60-second* interval. A history of the last one hour will be kept in the
system.
9.132 V$WAITCLASSMETRIC_HISTORY
V$WAITCLASSMETRIC_HISTORY displays metric values of wait classes for all
intervals *in the last one hour*.
The columns for V$WAITCLASSMETRIC_HISTORY are the same as those for
V$WAITCLASSMETRIC.
5.84 DBA_HIST_WAITCLASSMET_HISTORY
DBA_HIST_WAITCLASSMET_HISTORY displays the *history of the wait event
class metric data* kept by the Workload Repository.
But why dba_hist_waitclassmet_history has 0 line? Here's my query from
oracle *21.3 (test db)* and found all the same situation from *19.3* and
*11.2.0.4*:
16:43:23 SYS@ORACDB> select count(*) from v$waitclassmetric;
COUNT(*)
----------
13
16:43:29 SYS@ORACDB> select count(*) from v$waitclassmetric_history;
COUNT(*)
----------
793
16:43:33 SYS@ORACDB> select count(*) from dba_hist_waitclassmet_history;
COUNT(*)
----------
0
Has anybody else encountered it? Oracle hasn't saved the historical wait
class metric to view dba_hist_waitclassmet_history or is it a bug?
Best Regards
Quanwen Zhao