programmera.net -> oracledba -> normal     för utskrift      info@programmera.net

V$ROWCACHE

1. V$ROWCACHE
2. Exempel

1. V$ROWCACHE

Vyn V$ROWCACHE samlar statistik om hur Dictionary Cache används. I denna vy kan man se hur många gånger en viss typ av databasobjekt har lästs (GETS) och hur många gånger ett objekt måste läsas in från disk (GETMISSES). Vårt mål är att få en hög kvot mellan GETS och GETMISSES. Vyn har följande kolumner:
SQL>  DESC v$rowcache
 Name                          Null?    Type
 ----------------------------- -------- --------------------
 CACHE#                                 NUMBER
 TYPE                                   VARCHAR2(11)
 SUBORDINATE#                           NUMBER
 PARAMETER                              VARCHAR2(32)
 COUNT                                  NUMBER
 USAGE                                  NUMBER
 FIXED                                  NUMBER
 GETS                                   NUMBER
 GETMISSES                              NUMBER
 SCANS                                  NUMBER
 SCANMISSES                             NUMBER
 SCANCOMPLETES                          NUMBER
 MODIFICATIONS                          NUMBER
 FLUSHES                                NUMBER
 DLM_REQUESTS                           NUMBER
 DLM_CONFLICTS                          NUMBER
 DLM_RELEASES                           NUMBER
	
Kolumnen MODIFICATION visar hur många gånger metadata för objekten har förändrats.

2. Exempel

Vi kollar på vilka användare som finns i mitt system:
SQL>   SELECT type, parameter, count, usage, fixed, gets, getmisses FROM v$rowcache;

TYPE        PARAMETER                      COUNT      USAGE      FIXED       GETS  GETMISSES
----------- ------------------------- ---------- ---------- ---------- ---------- ----------
PARENT      dc_free_extents                    0          0          0          0          0
PARENT      dc_used_extents                    0          0          0          0          0
PARENT      dc_segments                      586        586          0       5751        776
PARENT      dc_tablespaces                     7          7          0      47232          7
PARENT      dc_tablespace_quotas               2          2          0          6          2
PARENT      dc_files                           5          5          0         25         10
PARENT      dc_users                          21         21          0      61213         22
PARENT      dc_rollback_segments              12         12          1       4287         11
PARENT      dc_objects                       924        924         55      21748       1440
PARENT      dc_global_oids                    37         37          0       2284         43
PARENT      dc_constraints                     8          8          0         31         14

TYPE        PARAMETER                      COUNT      USAGE      FIXED       GETS  GETMISSES
----------- ------------------------- ---------- ---------- ---------- ---------- ----------
PARENT      dc_object_ids                    819        819         55      37578        990
PARENT      dc_sequences                       7          7          0         31         10
PARENT      dc_usernames                      14         14          0       2311         16
PARENT      dc_database_links                  0          0          0          0          0
PARENT      dc_histogram_defs               3038       3038          0      27058       7241
PARENT      kqlsubheap_object                  0          0          0          0          0
PARENT      dc_table_scns                      0          0          0          1          1
PARENT      dc_outlines                        0          0          0          0          0
PARENT      dc_profiles                        1          1          0        752          1
PARENT      global database name               0          0          0          0          0
PARENT      rule_info                          0          0          0          0          0

TYPE        PARAMETER                      COUNT      USAGE      FIXED       GETS  GETMISSES
----------- ------------------------- ---------- ---------- ---------- ---------- ----------
PARENT      rule_or_piece                      0          0          0          0          0
PARENT      dc_qmc_cache_entries               0          0          0          0          0
PARENT      dc_qmc_ldap_cache_entries          0          0          0          0          0
PARENT      qmtmrcin_cache_entries             0          0          0          0          0
PARENT      qmtmrctn_cache_entries             0          0          0          0          0
PARENT      qmtmrcip_cache_entries             0          0          0          0          0
PARENT      qmtmrctp_cache_entries             0          0          0          0          0
PARENT      qmtmrciq_cache_entries             0          0          0          0          0
PARENT      qmtmrctq_cache_entries             0          0          0          0          0
PARENT      outstanding_alerts                13         13          0       1627        289
PARENT      dc_awr_control                     1          1          0        837          1

TYPE        PARAMETER                      COUNT      USAGE      FIXED       GETS  GETMISSES
----------- ------------------------- ---------- ---------- ---------- ---------- ----------
PARENT      dc_hintsets                        0          0          0          0          0
SUBORDINATE dc_users                           0          0          0          0          0
SUBORDINATE dc_object_grants                  16         16          0         88         16
SUBORDINATE dc_histogram_data                923        923          0      11554       2318
SUBORDINATE dc_histogram_data                109        109          0       3797        139
SUBORDINATE dc_partition_scns                  0          0          0          0          0
SUBORDINATE dc_users                          17         17          0        872         17
SUBORDINATE dc_users                           0          0          0          0          0
SUBORDINATE rule_fast_operators                0          0          0          0          0

42 rows selected.

För att få ett värde på HIT_RATIO använder vi följande SQL:
SQL>  SELECT parameter, 100*(gets - getmisses)/gets hit_rate, modifications
  2  FROM v$rowcache
  3  WHERE gets > 0;

PARAMETER                   HIT_RATE MODIFICATIONS
------------------------- ---------- -------------
dc_segments               86,5066945           154
dc_tablespaces            99,9851965             0
dc_tablespace_quotas      66,6666667             0
dc_files                          60             0
dc_users                  99,9642346             2
dc_rollback_segments      99,7472426            31
dc_objects                93,4297577           209
dc_global_oids            98,1417459             0
dc_constraints            54,8387097            31
dc_object_ids             97,3804673            63
dc_sequences              67,7419355            31

PARAMETER                   HIT_RATE MODIFICATIONS
------------------------- ---------- -------------
dc_usernames              99,3147752             0
dc_histogram_defs         73,2439124          1623
dc_table_scns                      0             0
dc_profiles                99,869281             0
outstanding_alerts        82,1428571           561
dc_awr_control            99,8823529            27
dc_object_grants          81,8181818             0
dc_histogram_data         79,9376839          1269
dc_histogram_data         96,3392152            50
dc_users                  98,0504587             0

21 rows selected.

Ett riktmärke är att vi vill ha minst 98% för de flesta objekttyper för att Dictionary Cache ska fungera effektivt. Som sagt, för att vi ska få korrekta värden måste instansen vara uppe under en tid. Värdena är alltid låga direkt efter uppstart.