Database Reference
In-Depth Information
Den SQL-Text und den Ausführungsplan für die oberste SQL Id fand ich mit dem Skript
one_exec_plan_sqlarea102.sql. Mehr Informationen zur Ermittlung der problematischen
SQL-Anweisungen kann man dem Kap. 17 entnehmen.
'(/(7()520=B3/$17B/$<287B$57,&/(:+(5(3/$17B/$<287B,',16(/(&73/$17B/$<287B,')520
3/$17B/$<287:+(5(3/$17B,' $1'$57,&/(B,'
([HFXWLRQ3ODQ3ODQ+DVK9DOXH
'(/(7(67$7(0(172SWLPL]HU $//B52:6&RVW :$6WDWV3ROLF\$872/DVW
0HP.2SW0HP.3DVV0HP.2SW0XOW
'(/(7(2)=B3/$17B/$<287B$57,&/(%LQG3HHNLQJXVHG
1(67('/2236&RVW &DUG %\WHV &38B&RVW ,2B&RVW 7LPH
,1'(;5$1*(6&$12)=,;8B3/<7B3/$,'B3/<7B/<7,'&RVW &DUG %\WHV
&38B&RVW ,2B&RVW 7LPH
,1'(;5$1*(6&$12)3.B=B3/$17B/$<287B$57,&/(&RVW &DUG %\WHV
&38B&RVW ,2B&RVW 7LPH
Der obere Ausführungsplan grenzte die problematischen Objekte auf einen einzigen pro-
blematischen Index PK_Z_PLANT_LAYOUT_ARTICLE ein. Die weitere Vorgehensweise
bestand in SQL-Tuning des oberen DELETE. Beim SQL-Tuning konzentrierte ich sich in
erster Linie auf den problematischen 4. Schritt des Ausführungsplans.
Theoretisch ist es möglich, dass die Konkurrenz um das Latch „cache buffers chains“
bei den Zugriffen auf die UNDO-Segmente entsteht. Mit dem Skript cache_buff_chain_
latch_segs8.sql kann man prüfen, ob die UNDO-Segmente mit dem problematischen
Latch verwaltet werden.
Seit Oracle 11 ist es möglich, den problematischen Ausführungsplanschritt in den Views
V$ACTIVE_SESSION_HISTORY und DBA_HIST_ACTIVE_SESS_HISTORY direkt zu
ermitteln (s. im Abschn. 3.2.6). Dasselbe gilt für das SQL Monitoring (s. im Abschn. 6.2).
Von einigen Spezialisten hörte ich, dass Oracle die Blöcke mit den unterschiedlichen
Block-Größen oder die Blöcke in verschiedenen Buffer Caches (KEEP und RECYCLE) mit
den separaten Latch-Sets „cache buffers chains“ verwaltet. Das klang plausibel und hätte
auch beim Performance Tuning gebraucht werden können. Man hätte das problematische
Objekt in einem separaten Buffer Cache mit einem eigenen Latch-Satz verwalten können,
was das jeweilige Latch-Problem in einigen Fällen hätte entschärfen können. Der folgende
Test zeigt aber, dass es nicht der Fall ist. Ich habe einen Buffer Cache für 16K Datenblöcke
eingerichtet, ein Tablespace und eine Tabelle mit dieser Block-Größe angelegt.
64/!VKRZSDUDPHWHUGEBNBFDFKHBVL]H
1$0(7<3( 9$/8(
GEBNBFDFKHBVL]H
ELJLQWHJHU0
64/!&5($7(7$%/(63$&(86(56'$7$),/(&?25$&/(?$33?25$'$7$?'%?86(56'%)6,=(
UHXVH
/2**,1*21/,1(3(50$1(17%/2&.6,=(
7DEOHVSDFHFUHDWHG
64/!FUHDWHWDEOHWWDEOHVSDFHXVHUVDVVHOHFWOHYHODIURPGXDOFRQQHFWE\OHYHO
Search WWH ::




Custom Search