Database Reference
In-Depth Information
zer-Statistiken fehlen oder der Parameter
_
direct
_
read
_
decision
_
statistics
_
driven
auf
FALSE gesetzt ist, wird die Anzahl der Tabellenblöcke aus dem Segment-Header genommen.
“
15.4
Automatic Degree of Parallelism (ADOP)
ADOP wurde in Oracle 11.2 eingeführt. Hinter diesem Feature verbergen sich eigentlich
3 Features:
• ADOPselber,
• StatementQueuing,
• In-MemoryParallelExecution
Bei ADOP berechnet Oracle den Parallelitätsgrad (DOP) für eine SQL-Anweisung auto-
matisch. Der Parameter
parallel
_
min
_
time
_
threshold
legt die untere Laufzeitgrenze (in
Sekunden) einer SQL-Anweisung für die Anwendung von ADOP fest. Der Vorgabewert
dieses Parameters beträgt 10 Sekunden. Wenn der Optimizer die Laufzeit einer SQL-An-
weisung größer als den Parameterwert
parallel
_
min
_
time
_
threshold
einschätzt, wird das
ADOP-Verfahren für diese SQL-Anweisung angewendet. Der berechnete DOP wird in der
Spalte OTHER_XML (s. im Abschn. 6.1.4) abgespeichert. Die Funktionen DBMS_XPLAN.
DISPLAY, DBMS_XPLAN.DISPLAY_CURSOR, DBMS_XPLAN.DISPLAY_AWR extra-
hieren diesen Wert aus der Spalte OTHER_XML und geben ihn aus. Die Anzahl der pa-
rallelen Sklaven-Prozesse für eine SQL-Anweisung kann bei ADOP den Parameterwert
parallel
_
degree
_
limit
nicht übersteigen.
Stillschweigend ist das ADOP-Verfahren ausgeschaltet (
parallel
_
degree
_
policy
=
manu
-
al
). Mit der Parametereinstellung
parallel
_
degree
_
policy
=
auto
aktiviert man dieses Ver-
fahren. Zugleich werden auch die 2 anderen Bestandteile von ADOP aktiviert (Statement
Queuing und In-Memory Parallel Execution). Diese beiden Features bleiben aber inaktiv
bei der Parametereinstellung
parallel
_
degree
_
policy
=
limited
(in diesem Fall wird ledig-
lich die automatische Berechnung des DOP aktiviert). Für eine SQL-Anweisung kann man
das ADOP-Verfahren mit dem Hint
parallel
(
auto
)
ein- und mit dem Hint
parallel
(
ma
-
nual
)
ausschalten (es gibt kein Hint
parallel
(
limited
)
). Ab Oracle Release 11.2.0.2 ist
es notwendig, die Prozedur
dbms
_
resource
_
manager
.
calibrate
_
io
auszuführen, um das
ADOP-Verfahren zu ermöglichen (die Einzelheiten findet man in der Notiz 1269321.1 aus
dem MOS).
Das Feature Statement Queuing ermöglicht parallele Ausführung der SQL-Anweisun-
gen ohne Herunterstufen des Parallelitätsgrades (downgrage). Wenn eine SQL-Anweisung
nicht genügend parallele Sklaven-Prozesse für ihre Ausführung bekommen kann, war-
tet sie in einer Warteschlange, solange sie die notwendige Anzahl der Sklaven-Prozesse
nicht bekommt. Oracle schaltet Statement Queuing für eine SQL-Anweisung ein, wenn
die Anzahl der zu startenden parallelen Prozesse für diese SQL-Anweisung und die An-
zahl der bereits laufenden parallelen Prozesse in der Summe größer als ein Minimum der