Database Reference
In-Depth Information
L.: „ Erwartungsgemäß ist die Spalte ROLL_INVALID_MISMATCH auf ' Y ' gesetzt. In der
Spalte REASON sind aber noch ein paar nützliche Informationen zu finden: INVALIDA-
TION_WINDOW und KSUGCTM. Peter, kannst Du vermuten, was sie bedeuten?
P.: „ Das sind irgendwelche Zahlen, möglicherweise zeitliche Angaben.
L.: „ Richtig. Das sind Sekunden seit dem 1. Januar 1970. Wir können diese Informationen
in die Uhrzeit umrechnen.
14:36:26 SQL> select child_number,
extractvalue(xmltype('<L>'||reason||'</L>'),'/*/*/invalidation_window') invalidation_window,
to_char(to_date('01.01.1970','dd.mm.yyyy') +
extractvalue(xmltype('<L>'||reason||'</L>'),'/*/*/invalidation_window')/(24*60*60),'dd.mm.yyyy
hh24:mi:ss') inv_win_date, extractvalue(xmltype('<L>'||reason||'</L>'),'/*/*/ksugctm')
ksugctm, to_char(to_date('01.01.1970','dd.mm.yyyy') +
extractvalue(xmltype('<L>'||reason||'</L>'),'/*/*/ksugctm')/(24*60*60),'dd.mm.yyyy
hh24:mi:ss') ksugctm_date from v$sql_shared_cursor where sql_id='5p7s1hq62rf59';
CHILD_NUMBER INVALIDATION_WINDOW INV_WIN_DATE KSUGCTM
KSUGCTM_DATE
------------ ------------------------------ -------------------- -----------------------------
- --------------------
0 1370871331 10.06.2013 13:35:31 1370871334
10.06.2013 13:35:34
1 1370871372 10.06.2013 13:36:12 1370871385
10.06.2013 13:36:25
2
P.: „ Diese Uhrzeit unterscheidet sich aber von den Zeitangaben, welche in den Kommando-
zeilen vom SQL*Plus angezeigt wurden.
L.: „ Ja, weil es die UTC-Zeit ist. Aus diesem Grund wird die UTC-SYSDATE im Test-Case
ausgegeben. So kann man diese zeitlichen Angaben besser miteinander vergleichen.
P.: „ Wie kann man diese beiden Zeitangaben interpretieren?
L.: „ Die erste ( INVALIDATION_WINDOW ) entspricht dem Ablaufzeitpunkt der Invali-
dierungsfrist. Laut der Ausgabe des Skripts ist dieser Ablaufzeitpunkt kleiner gleich 13:35:35,
INVALIDATION_WINDOW sagt uns, dass die Invalidierungsfrist ca. 4 s früher abgelaufen
ist. Die zweite zeitliche Angabe ( KSUGCTM ) interpretiere ich als der erste Parsing- oder Aus-
führungszeitpunkt nach der Invalidierung des jeweiligen Cursors. Im Skript ist es der Zeit-
punkt 13:35:35, KSUGCTM zeigt 13:35:34 an.
7.1.3
Historische Optimizer-Statistiken
Dieses Feature ist in Oracle 10g eingeführt. Beim Erstellen der neuen Optimizer-Statistiken
werden die alten automatisch abgespeichert. Oracle führt die Historie der gespeicherten
Optimizer-Statistiken, und es ist möglich, diese historischen Statistiken wiederherzustel-
len. Das kann nützlich sein, wenn die neu errechneten Statistiken aus irgendeinem Grund
nicht in Ordnung sind und ein Performanz-Problem verursachen.
Stillschweigend werden die Optimizer-Statistiken für die letzten 31 Tage abgespeichert.
Mit der Prozedur DBMS_STATS.ALTER_STATS_HISTORY_RETENTION kann man das
Search WWH ::




Custom Search